├── Dockerfile ├── LICENSE ├── Procfile ├── README.md ├── app.json ├── config.js ├── database.json ├── docker-compose.yml ├── handler.js ├── index.js ├── install.sh ├── lib ├── cloudDBAdapter.js ├── cluster.js ├── converter.js ├── database.js ├── exif.js ├── functions.js ├── gdrive.js ├── jagokata.js ├── levelling.js ├── logs.js ├── lowdb │ ├── Low.d.ts │ ├── Low.js │ ├── LowSync.d.ts │ ├── LowSync.js │ ├── MissingAdapterError.d.ts │ ├── MissingAdapterError.js │ ├── adapters │ │ ├── Elyas │ │ ├── JSONFile.d.ts │ │ ├── JSONFile.js │ │ ├── JSONFileSync.d.ts │ │ ├── JSONFileSync.js │ │ ├── LocalStorage.d.ts │ │ ├── LocalStorage.js │ │ ├── Memory.d.ts │ │ ├── Memory.js │ │ ├── MemorySync.d.ts │ │ ├── MemorySync.js │ │ ├── TextFile.d.ts │ │ ├── TextFile.js │ │ ├── TextFileSync.d.ts │ │ └── TextFileSync.js │ ├── index.d.ts │ └── index.js ├── mediafire.js ├── mongoDB.js ├── myfunc.js ├── print.js ├── scrape.js ├── simple.js ├── sticker.js ├── store.js ├── tictactoe.d.ts ├── tictactoe.js ├── uploadFile.js ├── uploadImage.js ├── wallq.js ├── webp.js ├── webp2mp4.js ├── welcome.js └── y2mate.js ├── main.js ├── media ├── bank.jpg ├── dini.jpg ├── donasi.jpg ├── elyas.jpg ├── haisayang.jpg ├── kerang.jpg ├── malam.jpg ├── menu.mp4 ├── pagi.jpg ├── quotes.jpg ├── shiraori.jpg ├── shiro.mp4 ├── siang.jpg ├── sore.jpg ├── tqto.jpg └── waalaikumusalam.jpg ├── package.json ├── plugins ├── INFOBOT.js ├── Ngawur.js ├── _afk.js ├── _anonymous_chat.js ├── _anonymous_chat_2.js ├── _autocorrect.js ├── _autoreact.js ├── _buttonResponse.js ├── _expired.js ├── _role.js ├── _simi.js ├── _tictactoe.js ├── absen-absen.js ├── absen-cekabsen.js ├── absen-delete.js ├── absen-start.js ├── addprem.js ├── afk.js ├── aksara.js ├── alay.js ├── alquran.js ├── animalfact.js ├── anime-alphacoders.js ├── anime-charainfo.js ├── anime-cosplay.js ├── anime-konachan.js ├── anime-loli.js ├── anime-sagiri.js ├── animeinfo.js ├── animelink.js ├── apakah.js ├── artikata.js ├── asmaulhusna.js ├── attp.js ├── ayatkursi.js ├── bacot.js ├── baka.js ├── banchat.js ├── bannedList.js ├── base64.js ├── bc-all.js ├── bcgc.js ├── binary.js ├── bot.js ├── brainly.js ├── bucin.js ├── buylimit.js ├── canvas_affect.js ├── canvas_beautiful.js ├── canvas_blur.js ├── canvas_burem.js ├── canvas_facewibu.js ├── canvas_hitler.js ├── canvas_invert.js ├── canvas_jail.js ├── canvas_joke.js ├── canvas_pixel.js ├── canvas_rainbow.js ├── canvas_rip.js ├── canvas_wanted.js ├── canvas_warnai.js ├── carigrup.js ├── ceritahoror.js ├── cerpen.js ├── cheatlimit.js ├── code.js ├── collect.js ├── contact.js ├── covid.js ├── creator.js ├── cuaca.js ├── cuttly.js ├── dadu.js ├── darkjoke.js ├── database.js ├── debounce.js ├── delete.js ├── delprem.js ├── donasi.js ├── downloader-twitter.js ├── downloader-zippyshare.js ├── elyas ├── elyas gtg ├── emojimix.js ├── enable.js ├── exec.js ├── exec2.js ├── expired.js ├── fakta.js ├── fb.js ├── fetch.js ├── film.js ├── font.js ├── forward.js ├── fun-pick.js ├── fun-sendkontak.js ├── fun-taugasi.js ├── galau.js ├── game-asahotak.js ├── game-asahotak_ans.js ├── game-asahotak_hint.js ├── game-caklontong.js ├── game-caklontong_ans.js ├── game-caklontong_hint.js ├── game-family100.js ├── game-family100_answer.js ├── game-iqtest.js ├── game-kuis.js ├── game-kuis_ans.js ├── game-math.js ├── game-math_ans.js ├── game-suit.js ├── game-susunkata.js ├── game-susunkata_ans.js ├── game-susunkata_hint.js ├── game-tebakbendera.js ├── game-tebakbendera_ans.js ├── game-tebakbendera_hint.js ├── game-tebakkimia.js ├── game-tebakkimia_ans.js ├── game-tebakkimia_hint.js ├── game-tebaklagu.js ├── game-tebaklagu_ans.js ├── game-tebaklagu_hint.js ├── game-tekateki.js ├── game-tekateki_ans.js ├── game-tekateki_hint.js ├── getbio.js ├── getplugins.js ├── gimage.js ├── gitclone.js ├── github-search.js ├── githubdl.js ├── glowing.js ├── gombal.js ├── google.js ├── group-_antilink.js ├── group-getpp ├── group-hidetag.js ├── group-kick.js ├── group-linkgc.js ├── group-setppgc.js ├── group-setting.js ├── group-setwelcome.js ├── group-sticktag.js ├── group-tagadmin.js ├── group-tagall.js ├── group-tagme.js ├── group-totalPesan.js ├── hartatahta.js ├── hlh.js ├── idfreefire.js ├── ig.js ├── igstalk.js ├── igstory.js ├── image-axolt.js ├── img-cyberspace.js ├── img-deidara.js ├── img-gamewallpaper.js ├── img-gunung.js ├── img-hacker.js ├── img-islamic.js ├── img-technology.js ├── img-wpaesthetic.js ├── img-wpprogramming.js ├── info-boost.js ├── internet-cuttly.js ├── internet-fakta.js ├── internet-kopi.js ├── internet-kuncigitar.js ├── internet-lirik.js ├── internet-playstore.js ├── internet-shopee.js ├── internet-wallpapercave.js ├── jadian.js ├── jadwalbola.js ├── join.js ├── kalkulator.js ├── kapankah.js ├── katabijak.js ├── kisahnabi.js ├── kodebahasa.js ├── kodepos.js ├── kopi.js ├── leaderboard.js ├── levelup.js ├── limit.js ├── linkgroup.js ├── lirik.js ├── listprem.js ├── logokaneki.js ├── logololi.js ├── logoneko.js ├── logorem.js ├── main-msg.js ├── maker-biden.js ├── maker-drake.js ├── maker-hornycard.js ├── maker-iklan.js ├── maker-notif.js ├── maker-sertifikat.js ├── maker-trigger.js ├── maker-uncover.js ├── mediafire.js ├── megumin.js ├── meme.js ├── menu.js ├── motivasi.js ├── my.js ├── namaninja.js ├── news.js ├── nickml.js ├── nulis.js ├── oadmin.js ├── ocr.js ├── owner-setbotbio.js ├── owner-setprefixbot.js ├── owner-titlein.js ├── owner-warn.js ├── pantun.js ├── ping.js ├── pinterest.js ├── play.js ├── playstore.js ├── ppcp.js ├── purba.js ├── qr.js ├── quotemaker.js ├── quotes.js ├── quotesanim.js ├── quran.js ├── random_pikachu.js ├── react.js ├── readmore.js ├── regist.js ├── repeat.js ├── repeat2.js ├── report.js ├── resep.js ├── resetprefixbot.js ├── rpg-adventure.js ├── rpg-bansos.js ├── rpg-berburu.js ├── rpg-berdagang.js ├── rpg-berkebon.js ├── rpg-build.js ├── rpg-casino.js ├── rpg-chop.js ├── rpg-collect.js ├── rpg-cook.js ├── rpg-cooldown.js ├── rpg-craft.js ├── rpg-daily.js ├── rpg-duel.js ├── rpg-feed.js ├── rpg-fishop.js ├── rpg-hourly.js ├── rpg-inventory.js ├── rpg-judi.js ├── rpg-kandang.js ├── rpg-kerja.js ├── rpg-koboy.js ├── rpg-kolam.js ├── rpg-mancing.js ├── rpg-merampok.js ├── rpg-mining.js ├── rpg-monthly.js ├── rpg-nabung.js ├── rpg-narik.js ├── rpg-nguli.js ├── rpg-ojek.js ├── rpg-open.js ├── rpg-pasar.js ├── rpg-shop.js ├── rpg-slot.js ├── rpg-transfer.js ├── rpg-use.js ├── rpg-weekly.js ├── runtime.js ├── sadboylogo.js ├── say.js ├── sdtbotpp.js ├── self.js ├── semoji.js ├── servermc.js ├── setProfileGroup.js ├── setbotbio.js ├── setprefixbot.js ├── settinggrup.js ├── setwelcome.js ├── sf.js ├── shaun_the_sheep_photo.js ├── shorturl.js ├── siapakahaku.js ├── siapakahaku_ans.js ├── siapakahaku_hint.js ├── simsimi.js ├── slot.js ├── smeme.js ├── solat.js ├── spam.js ├── spamcall.js ├── spotify.js ├── sticker-ly.js ├── sticker-pack.js ├── sticker.js ├── stickerfilter.js ├── stickerly.js ├── stickmaker.js ├── stikerlag.js ├── suitpvp.js ├── suitpvp_ans.js ├── tagadmin.js ├── tagall.js ├── tagme.js ├── tebakgambar.js ├── tebakgambar_ans.js ├── tebakgambar_hint.js ├── tebakkabupaten.js ├── tebakkabupaten_ans.js ├── tebakkabupaten_hint.js ├── tebakkata.js ├── tebakkata_ans.js ├── tebakkata_hint.js ├── tebaklirik.js ├── tebaklirik_ans.js ├── tebaklirik_hint.js ├── tebakumur.js ├── textpro-satuteks.js ├── textpro.js ├── tictactoe.js ├── tiktok.js ├── tiktokstalk.js ├── tinyurl.js ├── toimg2.js ├── tomp3.js ├── tools-akungratis.js ├── tools-apk.js ├── tools-apkdl.js ├── tools-base64.js ├── tools-npm.js ├── tools-oriurl.js ├── tools-sspc.js ├── tools-tomp3.js ├── topdf.js ├── totalfitur.js ├── tourl.js ├── tovideo.js ├── translate.js ├── trigger.js ├── truth.js ├── ttp.js ├── tts.js ├── twitter.js ├── unbanchat.js ├── update.js ├── voicechanger.js ├── vote-cekvote.js ├── vote-hapus.js ├── vote-mulai.js ├── vote-vote.js ├── waalaikummussalam.js ├── waifu.js ├── wallpaperAnime.js ├── wallpaperq.js ├── whatmusic.js ├── wiki2.js ├── wikipedia.js ├── wm.js ├── wolflogo.js ├── wpmobile.js ├── xp-role.js ├── yta.js ├── ytcomment.js ├── yts.js ├── ytstalk.js └── ytv.js ├── src ├── Aesthetic │ ├── Aesthetic_000.jpeg │ ├── Aesthetic_001.jpg │ └── Aesthetic_002.jpg ├── LICENSE ├── avatar_contact.png ├── caklontong.json ├── font │ ├── 212BabyGirl.otf │ ├── 212LeahleeSans.ttf │ ├── 99HandWritting.ttf │ ├── ACallingFontDby7NTypes.otf │ ├── ACasualHandwrittenPenNoncommercial.ttf │ ├── ADayinSeptember.otf │ ├── ASMelanieHandwritting.ttf │ ├── Alittlesunshine.ttf │ ├── And-This-Happened.ttf │ ├── AvenirCondensedHand.ttf │ ├── Avocados.ttf │ ├── BabyDoll.ttf │ ├── BattleOfKingsRegular.ttf │ ├── BrayNotes.ttf │ ├── Convered-By-Your-Grace.ttf │ ├── Edoms-Handwritting-Normal.ttf │ ├── Futura Bold Italic font.ttf │ ├── Futura Bold font.ttf │ ├── Futura Book Italic font.ttf │ ├── Futura Book font.ttf │ ├── Futura Extra Black font.ttf │ ├── Futura Heavy Italic font.ttf │ ├── Futura Heavy font.ttf │ ├── Futura Light Italic font.ttf │ ├── Futura Light font.ttf │ ├── Futura Medium Italic font.ttf │ ├── Futura XBlk BT.ttf │ ├── Futura-CondensedLight.otf │ ├── GloriaHallelujah-Regular.ttf │ ├── HandwritingCR-2.ttf │ ├── Kempton-Demo-Handwritting.ttf │ ├── MyHandsareHoldingYou.ttf │ ├── My_handwriting.ttf │ ├── Nadeznas-Handwritting.ttf │ ├── Roboto-Black.ttf │ ├── Roboto-BlackItalic.ttf │ ├── Roboto-Bold.ttf │ ├── Roboto-BoldItalic.ttf │ ├── Roboto-Italic.ttf │ ├── Roboto-Light.ttf │ ├── Roboto-LightItalic.ttf │ ├── Roboto-Medium.ttf │ ├── Roboto-MediumItalic.ttf │ ├── Roboto-Regular.ttf │ ├── Roboto-Thin.ttf │ ├── Roboto-ThinItalic.ttf │ ├── ShadowsIntoLight-Regular.ttf │ ├── Zahraaa.ttf │ ├── angelina.ttf │ ├── futur.ttf │ ├── futura light bt.ttf │ ├── futura medium bt.ttf │ ├── futura medium condensed bt.ttf │ └── michellehandwritting.ttf ├── kertas │ ├── Elyas.js │ └── magernulis1.jpg ├── premium.json ├── squidGame_GLRL.mp3 ├── squidGame_GLRL_Scan.mp3 ├── squidGame_GLRL_Shoot.mp3 └── welcome.jpg ├── tmp └── Elyas └── yarn-error.log /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 | rm -rf /var/lib/apt/lists/* 10 | 11 | COPY package.json . 12 | 13 | RUN npm install 14 | 15 | COPY . . 16 | 17 | EXPOSE 5000 18 | 19 | CMD ["node", "index.js"] 20 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021-2022 ilmanhdyt 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | worker: npm start 2 | 3 | -------------------------------------------------------------------------------- /app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ShiraoriBOT-Md", 3 | "description": "Lightweight WhatsApp Bot", 4 | "repository": "https://github.com/ilmanhdyt/ShiraoriBOT-Md", 5 | "logo": "https://node-js-sample.herokuapp.com/node.png", 6 | "keywords": [ 7 | "bot", 8 | "whatsapp", 9 | "multi-device", 10 | "whatsapp-bot" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3.9" 2 | services: 3 | web: 4 | build: . 5 | ports: 6 | - "8000:5000" 7 | volumes: 8 | - .:/code 9 | - logvolume01:/var/log 10 | links: 11 | - redis 12 | redis: 13 | image: redis 14 | volumes: 15 | logvolume01: {} 16 | -------------------------------------------------------------------------------- /install.sh: -------------------------------------------------------------------------------- 1 | pkg update && pkg upgrade 2 | pkg install git -y 3 | pkg install nodejs -y 4 | pkg install ffmpeg -y 5 | pkg install imagemagick -y 6 | pkg install yarn 7 | git clone https://github.com/ilmanhdyt/ShiraoriBOT-Md 8 | cd ShiraoriBOT-Md 9 | yarn 10 | node . 11 | 12 | -------------------------------------------------------------------------------- /lib/jagokata.js: -------------------------------------------------------------------------------- 1 | const cheerio = require('cheerio') 2 | const fetch = require('node-fetch') 3 | 4 | module.exports = function quotes(input) { 5 | return new Promise((resolve, reject) => { 6 | fetch('https://jagokata.com/kata-bijak/kata-' + input.replace(/\s/g, '_') + '.html?page=1') 7 | .then(res => res.text()) 8 | .then(res => { 9 | const $ = cheerio.load(res) 10 | data = [] 11 | $('div[id="main"]').find('ul[id="citatenrijen"] > li').each(function (index, element) { 12 | x = $(this).find('div[class="citatenlijst-auteur"] > a').text().trim() 13 | y = $(this).find('span[class="auteur-beschrijving"]').text().trim() 14 | z = $(element).find('q[class="fbquote"]').text().trim() 15 | data.push({ author: x, bio: y, quote: z }) 16 | }) 17 | data.splice(2, 1) 18 | if (data.length == 0) return resolve({ creator: '@neoxr - Wildan Izzudin & @ariffb.id - Ariffb', status: false }) 19 | resolve({ creator: '@neoxr - Wildan Izzudin & @ariffb.id - Ariffb', status: true, data }) 20 | }).catch(reject) 21 | }) 22 | } -------------------------------------------------------------------------------- /lib/logs.js: -------------------------------------------------------------------------------- 1 | let stdouts = [] 2 | module.exports = (maxLength = 200) => { 3 | let oldWrite = process.stdout.write.bind(process.stdout) 4 | module.exports.disable = () => { 5 | module.exports.isModified = false 6 | return process.stdout.write = oldWrite 7 | } 8 | process.stdout.write = (chunk, encoding, callback) => { 9 | stdouts.push(Buffer.from(chunk, encoding)) 10 | oldWrite(chunk, encoding, callback) 11 | if (stdouts.length > maxLength) stdouts.shift() 12 | } 13 | module.exports.isModified = true 14 | return module.exports 15 | } 16 | 17 | module.exports.isModified = false 18 | module.exports.logs = () => Buffer.concat(stdouts) 19 | 20 | -------------------------------------------------------------------------------- /lib/lowdb/Low.d.ts: -------------------------------------------------------------------------------- 1 | export interface Adapter { 2 | read: () => Promise; 3 | write: (data: T) => Promise; 4 | } 5 | export declare class Low { 6 | adapter: Adapter; 7 | data: T | null; 8 | constructor(adapter: Adapter); 9 | read(): Promise; 10 | write(): Promise; 11 | } 12 | -------------------------------------------------------------------------------- /lib/lowdb/Low.js: -------------------------------------------------------------------------------- 1 | const { MissingAdapterError } = require('./MissingAdapterError.js'); 2 | class Low { 3 | constructor(adapter) { 4 | this.data = null; 5 | if (adapter) { 6 | this.adapter = adapter; 7 | } 8 | else { 9 | throw new MissingAdapterError(); 10 | } 11 | } 12 | async read() { 13 | this.data = await this.adapter.read(); 14 | } 15 | async write() { 16 | if (this.data) { 17 | await this.adapter.write(this.data); 18 | } 19 | } 20 | } 21 | module.exports = { Low }; 22 | -------------------------------------------------------------------------------- /lib/lowdb/LowSync.d.ts: -------------------------------------------------------------------------------- 1 | export interface SyncAdapter { 2 | read: () => T | null; 3 | write: (data: T) => void; 4 | } 5 | export declare class LowSync { 6 | adapter: SyncAdapter; 7 | data: T | null; 8 | constructor(adapter: SyncAdapter); 9 | read(): void; 10 | write(): void; 11 | } 12 | -------------------------------------------------------------------------------- /lib/lowdb/LowSync.js: -------------------------------------------------------------------------------- 1 | const { MissingAdapterError } = require('./MissingAdapterError.js'); 2 | class LowSync { 3 | constructor(adapter) { 4 | this.data = null; 5 | if (adapter) { 6 | this.adapter = adapter; 7 | } 8 | else { 9 | throw new MissingAdapterError(); 10 | } 11 | } 12 | read() { 13 | this.data = this.adapter.read(); 14 | } 15 | write() { 16 | if (this.data !== null) { 17 | this.adapter.write(this.data); 18 | } 19 | } 20 | } 21 | module.exports = { LowSync }; 22 | -------------------------------------------------------------------------------- /lib/lowdb/MissingAdapterError.d.ts: -------------------------------------------------------------------------------- 1 | export declare class MissingAdapterError extends Error { 2 | constructor(); 3 | } 4 | -------------------------------------------------------------------------------- /lib/lowdb/MissingAdapterError.js: -------------------------------------------------------------------------------- 1 | class MissingAdapterError extends Error { 2 | constructor() { 3 | super(); 4 | this.message = 'Missing Adapter'; 5 | } 6 | } 7 | module.exports = { MissingAdapterError }; 8 | -------------------------------------------------------------------------------- /lib/lowdb/adapters/Elyas: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /lib/lowdb/adapters/JSONFile.d.ts: -------------------------------------------------------------------------------- 1 | import { Adapter } from '../Low.js'; 2 | export declare class JSONFile implements Adapter { 3 | private adapter; 4 | constructor(filename: string); 5 | read(): Promise; 6 | write(obj: T): Promise; 7 | } 8 | -------------------------------------------------------------------------------- /lib/lowdb/adapters/JSONFile.js: -------------------------------------------------------------------------------- 1 | const { TextFile } = require('./TextFile.js'); 2 | class JSONFile { 3 | constructor(filename) { 4 | this.adapter = new TextFile(filename); 5 | } 6 | async read() { 7 | const data = await this.adapter.read(); 8 | if (data === null) { 9 | return null; 10 | } 11 | else { 12 | return JSON.parse(data); 13 | } 14 | } 15 | write(obj) { 16 | return this.adapter.write(JSON.stringify(obj, null, 2)); 17 | } 18 | } 19 | module.exports = { JSONFile }; 20 | -------------------------------------------------------------------------------- /lib/lowdb/adapters/JSONFileSync.d.ts: -------------------------------------------------------------------------------- 1 | import { SyncAdapter } from '../LowSync.js'; 2 | export declare class JSONFileSync implements SyncAdapter { 3 | private adapter; 4 | constructor(filename: string); 5 | read(): T | null; 6 | write(obj: T): void; 7 | } 8 | -------------------------------------------------------------------------------- /lib/lowdb/adapters/JSONFileSync.js: -------------------------------------------------------------------------------- 1 | const { TextFileSync } = require('./TextFileSync.js'); 2 | class JSONFileSync { 3 | constructor(filename) { 4 | this.adapter = new TextFileSync(filename); 5 | } 6 | read() { 7 | const data = this.adapter.read(); 8 | if (data === null) { 9 | return null; 10 | } 11 | else { 12 | return JSON.parse(data); 13 | } 14 | } 15 | write(obj) { 16 | this.adapter.write(JSON.stringify(obj, null, 2)); 17 | } 18 | } 19 | module.exports = { JSONFileSync }; 20 | -------------------------------------------------------------------------------- /lib/lowdb/adapters/LocalStorage.d.ts: -------------------------------------------------------------------------------- 1 | import { SyncAdapter } from '../LowSync.js'; 2 | export declare class LocalStorage implements SyncAdapter { 3 | private key; 4 | constructor(key: string); 5 | read(): T | null; 6 | write(obj: T): void; 7 | } 8 | -------------------------------------------------------------------------------- /lib/lowdb/adapters/LocalStorage.js: -------------------------------------------------------------------------------- 1 | class LocalStorage { 2 | constructor(key) { 3 | this.key = key; 4 | } 5 | read() { 6 | const value = localStorage.getItem(this.key); 7 | if (value === null) { 8 | return null; 9 | } 10 | return JSON.parse(value); 11 | } 12 | write(obj) { 13 | localStorage.setItem(this.key, JSON.stringify(obj)); 14 | } 15 | } 16 | module.exports = { LocalStorage }; 17 | -------------------------------------------------------------------------------- /lib/lowdb/adapters/Memory.d.ts: -------------------------------------------------------------------------------- 1 | import { Adapter } from '../Low.js'; 2 | export declare class Memory implements Adapter { 3 | private data; 4 | read(): Promise; 5 | write(obj: T): Promise; 6 | } 7 | -------------------------------------------------------------------------------- /lib/lowdb/adapters/Memory.js: -------------------------------------------------------------------------------- 1 | class Memory { 2 | constructor() { 3 | this.data = null; 4 | } 5 | read() { 6 | return Promise.resolve(this.data); 7 | } 8 | write(obj) { 9 | this.data = obj; 10 | return Promise.resolve(); 11 | } 12 | } 13 | module.exports = { Memory }; 14 | -------------------------------------------------------------------------------- /lib/lowdb/adapters/MemorySync.d.ts: -------------------------------------------------------------------------------- 1 | import { SyncAdapter } from '../LowSync.js'; 2 | export declare class MemorySync implements SyncAdapter { 3 | private data; 4 | read(): T | null; 5 | write(obj: T): void; 6 | } 7 | -------------------------------------------------------------------------------- /lib/lowdb/adapters/MemorySync.js: -------------------------------------------------------------------------------- 1 | class MemorySync { 2 | constructor() { 3 | this.data = null; 4 | } 5 | read() { 6 | return this.data || null; 7 | } 8 | write(obj) { 9 | this.data = obj; 10 | } 11 | } 12 | module.exports = { MemorySync }; 13 | -------------------------------------------------------------------------------- /lib/lowdb/adapters/TextFile.d.ts: -------------------------------------------------------------------------------- 1 | import { Adapter } from '../Low.js'; 2 | export declare class TextFile implements Adapter { 3 | private filename; 4 | private writer; 5 | constructor(filename: string); 6 | read(): Promise; 7 | write(str: string): Promise; 8 | } 9 | -------------------------------------------------------------------------------- /lib/lowdb/adapters/TextFile.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const { Writer } = require('steno'); 3 | class TextFile { 4 | constructor(filename) { 5 | this.filename = filename; 6 | this.writer = new Writer(filename); 7 | } 8 | async read() { 9 | let data; 10 | try { 11 | data = await fs.promises.readFile(this.filename, 'utf-8'); 12 | } 13 | catch (e) { 14 | if (e.code === 'ENOENT') { 15 | return null; 16 | } 17 | throw e; 18 | } 19 | return data; 20 | } 21 | write(str) { 22 | return this.writer.write(str); 23 | } 24 | } 25 | module.exports = { TextFile }; -------------------------------------------------------------------------------- /lib/lowdb/adapters/TextFileSync.d.ts: -------------------------------------------------------------------------------- 1 | import { SyncAdapter } from '../LowSync.js'; 2 | export declare class TextFileSync implements SyncAdapter { 3 | private tempFilename; 4 | private filename; 5 | constructor(filename: string); 6 | read(): string | null; 7 | write(str: string): void; 8 | } 9 | -------------------------------------------------------------------------------- /lib/lowdb/adapters/TextFileSync.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const path = require('path'); 3 | class TextFileSync { 4 | constructor(filename) { 5 | this.filename = filename; 6 | this.tempFilename = path.join(path.dirname(filename), `.${path.basename(filename)}.tmp`); 7 | } 8 | read() { 9 | let data; 10 | try { 11 | data = fs.readFileSync(this.filename, 'utf-8'); 12 | } 13 | catch (e) { 14 | if (e.code === 'ENOENT') { 15 | return null; 16 | } 17 | throw e; 18 | } 19 | return data; 20 | } 21 | write(str) { 22 | fs.writeFileSync(this.tempFilename, str); 23 | fs.renameSync(this.tempFilename, this.filename); 24 | } 25 | } 26 | module.exports = { TextFileSync }; 27 | -------------------------------------------------------------------------------- /lib/lowdb/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from './adapters/JSONFile.js'; 2 | export * from './adapters/JSONFileSync.js'; 3 | export * from './adapters/LocalStorage.js'; 4 | export * from './adapters/Memory.js'; 5 | export * from './adapters/MemorySync.js'; 6 | export * from './adapters/TextFile.js'; 7 | export * from './adapters/TextFileSync.js'; 8 | export * from './Low.js'; 9 | export * from './LowSync.js'; 10 | -------------------------------------------------------------------------------- /lib/lowdb/index.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | ...require('./adapters/JSONFile.js'), 3 | ...require('./adapters/JSONFileSync.js'), 4 | ...require('./adapters/LocalStorage.js'), 5 | ...require('./adapters/Memory.js'), 6 | ...require('./adapters/MemorySync.js'), 7 | ...require('./adapters/TextFile.js'), 8 | ...require('./adapters/TextFileSync.js'), 9 | ...require('./Low.js'), 10 | ...require('./LowSync.js'), 11 | } -------------------------------------------------------------------------------- /lib/tictactoe.d.ts: -------------------------------------------------------------------------------- 1 | export declare class TicTacToe { 2 | /* X PlayerName */ 3 | playerX: string; 4 | /* Y PlayerName */ 5 | playerY: string; 6 | /* X if true, Y if false */ 7 | _currentTurn: boolean; 8 | _x: number; 9 | _y: number; 10 | _turns: number; 11 | constructor(playerX: string, playerY: string); 12 | get board(): number; 13 | turn(player, index: number): boolean; 14 | turn(player, x: number, y: number): boolean; 15 | } 16 | -------------------------------------------------------------------------------- /lib/uploadImage.js: -------------------------------------------------------------------------------- 1 | const fetch = require('node-fetch') 2 | const FormData = require('form-data') 3 | const { fromBuffer } = require('file-type') 4 | 5 | /** 6 | * Upload image to telegra.ph 7 | * Supported mimetype: 8 | * - `image/jpeg` 9 | * - `image/jpg` 10 | * - `image/png`s 11 | * @param {Buffer} buffer Image Buffer 12 | */ 13 | module.exports = async buffer => { 14 | const { ext } = await fromBuffer(buffer) 15 | let form = new FormData 16 | form.append('file', buffer, 'tmp.' + ext) 17 | let res = await fetch('https://telegra.ph/upload', { 18 | method: 'POST', 19 | body: form 20 | }) 21 | let img = await res.json() 22 | if (img.error) throw img.error 23 | return 'https://telegra.ph' + img[0].src 24 | } 25 | 26 | -------------------------------------------------------------------------------- /lib/wallq.js: -------------------------------------------------------------------------------- 1 | // cewe yang ada di iklan royco bikin ange njing 2 | // pdhl cuma iklan :v 3 | 4 | const fetch = require('node-fetch') 5 | 6 | let handler = async (m, { conn, text }) => { 7 | if (!text) throw 'Nyari apa?' 8 | let res = await fetch(global.API('https://wall.alphacoders.com/api2.0','/get.php', { 9 | auth: '3e7756c85df54b78f934a284c11abe4e', 10 | method: 'search', 11 | term: text 12 | })) 13 | if (!res.ok) throw await res.text() 14 | let json = await res.json() 15 | let img = json.wallpapers[Math.floor(Math.random() * json.wallpapers.length)] 16 | await conn.sendFile(m.chat, img.url_image, 'wallpaper', 'Nih wallpaper!', m) 17 | } 18 | handler.help = ['wallpaperq '] 19 | handler.tags = ['internet'] 20 | handler.command = /^wall(paper)?q?$/i 21 | handler.limit = true 22 | 23 | module.exports = handler 24 | -------------------------------------------------------------------------------- /media/bank.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/media/bank.jpg -------------------------------------------------------------------------------- /media/dini.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/media/dini.jpg -------------------------------------------------------------------------------- /media/donasi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/media/donasi.jpg -------------------------------------------------------------------------------- /media/elyas.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/media/elyas.jpg -------------------------------------------------------------------------------- /media/haisayang.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/media/haisayang.jpg -------------------------------------------------------------------------------- /media/kerang.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/media/kerang.jpg -------------------------------------------------------------------------------- /media/malam.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/media/malam.jpg -------------------------------------------------------------------------------- /media/menu.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/media/menu.mp4 -------------------------------------------------------------------------------- /media/pagi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/media/pagi.jpg -------------------------------------------------------------------------------- /media/quotes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/media/quotes.jpg -------------------------------------------------------------------------------- /media/shiraori.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/media/shiraori.jpg -------------------------------------------------------------------------------- /media/shiro.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/media/shiro.mp4 -------------------------------------------------------------------------------- /media/siang.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/media/siang.jpg -------------------------------------------------------------------------------- /media/sore.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/media/sore.jpg -------------------------------------------------------------------------------- /media/tqto.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/media/tqto.jpg -------------------------------------------------------------------------------- /media/waalaikumusalam.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/media/waalaikumusalam.jpg -------------------------------------------------------------------------------- /plugins/INFOBOT.js: -------------------------------------------------------------------------------- 1 | global.informasibot = [`│ *Klik Baca Selengkapnya*`] 2 | -------------------------------------------------------------------------------- /plugins/_anonymous_chat_2.js: -------------------------------------------------------------------------------- 1 | let handler = m => m 2 | 3 | handler.before = async function (m, { match }) { 4 | // if (match) return !1 5 | if (!m.chat.endsWith('@s.whatsapp.net')) return !0 6 | this.anonymous = this.anonymous ? this.anonymous : {} 7 | let room = Object.values(this.anonymous).find(room => [room.a, room.b].includes(m.sender) && room.state === 'CHATTING') 8 | if (room) { 9 | if (/^.*(next|leave|start)/.test(m.text)) return 10 | if (['.next', '.leave', '.start', '.skip', '.sendcontact', 'Cari Partner', 'Keluar', 'Next', 'Skip', 'Send Contact'].includes(m.text)) return 11 | let other = [room.a, room.b].find(user => user !== m.sender) 12 | m.copyNForward(other, true, m.quoted && m.quoted.fromMe ? { 13 | contextInfo: { 14 | ...m.msg.contextInfo, 15 | forwardingScore: 1, 16 | isForwarded: true, 17 | participant: other 18 | } 19 | } : {}) 20 | } 21 | return !0 22 | } 23 | 24 | module.exports = handler 25 | -------------------------------------------------------------------------------- /plugins/_autocorrect.js: -------------------------------------------------------------------------------- 1 | let handler = m => m 2 | const didyoumean = require('didyoumean') 3 | 4 | handler.before = async function(m, { usedPrefix, match}) { 5 | let b = m.quoted ? m.quoted : m 6 | if (b.mtype == "buttonsMessage" && b.fromMe) return 7 | if ((usedPrefix = (match[0] || '')[0])) { 8 | let noPrefix = m.text.replace(usedPrefix, '') 9 | let args = noPrefix.trim().split` `.slice(1) 10 | let text = args.join` ` 11 | let help = Object.values(plugins).filter(v => v.help && !v.disabled).map(v => v.help).flat(1) 12 | if (help.includes(noPrefix)) return 13 | let mean = didyoumean(noPrefix, help) 14 | let who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? this.user.jid : m.sender 15 | let name = await this.getName(who) 16 | let caption = `👋 Hai *@${who.split("@")[0]}*, Apakah yang kamu maksud: *.${mean}*\n` 17 | if (mean) this.send2But(m.chat, caption, wm, '✅ Iya', `.${mean} ${text}`, '❌ Bukan', '.?', m, { mentions: this.parseMention(caption) }) 18 | } 19 | } 20 | module.exports = handler 21 | -------------------------------------------------------------------------------- /plugins/_autoreact.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | 3 | conn.sendMessage(m.chat, { 4 | react: { 5 | text: `${pickRandom(['😨', '🥵', '😱', '🐦', '🙄', '🐤','🗿','🤨','🥴','👆','😔', '👀','👎'])}`, 6 | key: m.key, 7 | }}) 8 | 9 | } 10 | 11 | handler.customPrefix = /^(sad|tes|test|oh?|owh|idk|cum|crot|y|f|g|adick|banh|dek|turu|yntkts|ajg|kontol|ngocok|p)$/i 12 | handler.command = new RegExp 13 | 14 | handler.exp = 3 15 | 16 | module.exports = handler 17 | 18 | function pickRandom(list) { 19 | return list[Math.floor(Math.random() * list.length)] 20 | } 21 | -------------------------------------------------------------------------------- /plugins/_expired.js: -------------------------------------------------------------------------------- 1 | let handler = m => m 2 | handler.before = async function (m) { 3 | 4 | if (m.isGroup && global.db.data.chats[m.chat].expired != 0) { 5 | if (new Date() * 1 >= global.db.data.chats[m.chat].expired) { 6 | this.reply(m.chat, `waktunya *${this.user.name}* untuk meninggalkan grup`, null).then(() => { 7 | this.sendContact(m.chat, global.owner[0], this.getName(global.owner[0] + '@s.whatsapp.net'), m).then(() => { 8 | this.groupLeave(m.chat).then(() => { 9 | global.db.data.chats[m.chat].expired = 0 10 | }) 11 | }) 12 | }) 13 | } 14 | } 15 | } 16 | 17 | module.exports = handler 18 | -------------------------------------------------------------------------------- /plugins/_simi.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | 3 | let handler = m => m 4 | 5 | handler.before = async (m) => { 6 | let chat = db.data.chats[m.chat] 7 | if (chat.simi && !chat.isBanned) { 8 | if (/^.*false|disable|(turn)?off|0/i.test(m.text)) return 9 | if (!m.text) return 10 | let res = await fetch(API('https://api.simsimi.net/', '/v2/', { text: encodeURIComponent(m.text), lc: 'id' })) 11 | if (!res.ok) return m.reply(eror) 12 | let json = await res.json() 13 | if (json.success == "Aku tidak mengerti apa yang kamu katakan.Tolong ajari aku.") return m.reply('Tolong ajarin jawaban simi simi di website https://simsimi.com/teach') 14 | m.reply(json.success) 15 | return !0 16 | } 17 | return !0 18 | } 19 | 20 | module.exports = handler 21 | -------------------------------------------------------------------------------- /plugins/absen-absen.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix }) => { 2 | let id = m.chat 3 | conn.absen = conn.absen ? conn.absen : {} 4 | if (!(id in conn.absen)) { 5 | await conn.sendBut(m.chat, `Tidak ada absen berlangsung!`, wm, 'Mulai', `${usedPrefix}mulaiabsen`, m) 6 | throw false 7 | } 8 | 9 | let absen = conn.absen[id][1] 10 | const wasVote = absen.includes(m.sender) 11 | if (wasVote) throw 'Kamu sudah absen!' 12 | absen.push(m.sender) 13 | let d = new Date 14 | let date = d.toLocaleDateString('id', { 15 | day: 'numeric', 16 | month: 'long', 17 | year: 'numeric' 18 | }) 19 | let list = absen.map((v, i) => `├ ${i + 1}. @${v.split`@`[0]}`).join('\n') 20 | let caption = ` 21 | Tanggal: ${date} 22 | ${conn.absen[id][2]} 23 | ┌〔 daftar absen 〕 24 | ├ Total: ${absen.length} 25 | ${list} 26 | └────`.trim() 27 | await conn.send2But(m.chat, caption, wm, 'Absen', `${usedPrefix}absen`, 'Cek', `${usedPrefix}cekabsen`, m, { contextInfo: { mentionedJid: conn.parseMention(caption) } }) 28 | } 29 | handler.help = ['absen'] 30 | handler.tags = ['absen'] 31 | handler.command = /^(absen|hadir)$/i 32 | 33 | module.exports = handler 34 | -------------------------------------------------------------------------------- /plugins/absen-cekabsen.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix }) => { 2 | let id = m.chat 3 | conn.absen = conn.absen ? conn.absen : {} 4 | if (!(id in conn.absen)) throw `_*Tidak ada absen berlangsung digrup ini!*_\n\n*${usedPrefix}mulaiabsen* - untuk memulai absen` 5 | 6 | let d = new Date 7 | let date = d.toLocaleDateString('id', { 8 | day: 'numeric', 9 | month: 'long', 10 | year: 'numeric' 11 | }) 12 | let absen = conn.absen[id][1] 13 | let list = absen.map((v, i) => `│ ${i + 1}. @${v.split`@`[0]}`).join('\n') 14 | conn.sendBut(m.chat, `*「 ABSEN 」* 15 | 16 | Tanggal: ${date} 17 | ${conn.absen[id][2]} 18 | 19 | ┌ *Yang sudah absen:* 20 | │ 21 | │ Total: ${absen.length} 22 | ${list} 23 | │ 24 | └──── 25 | `, wm, 'Absen', '.absen', m, { contextInfo: { mentionedJid: absen } }) 26 | } 27 | handler.help = ['cekabsen'] 28 | handler.tags = ['absen'] 29 | handler.command = /^cekabsen$/i 30 | handler.group = true 31 | module.exports = handler 32 | -------------------------------------------------------------------------------- /plugins/absen-delete.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { usedPrefix }) => { 2 | let id = m.chat 3 | conn.absen = conn.absen ? conn.absen : {} 4 | if (!(id in conn.absen)) conn.sendBut(m.chat, `_*Tidak ada absen berlangsung digrup ini!*_\n\n*${usedPrefix}mulaiabsen* - untuk memulai absen`, wm, 'Mulai Absen', '.mulaiabsen', m) 5 | delete conn.absen[id] 6 | m.reply(`Done!`) 7 | } 8 | handler.help = ['hapusabsen'] 9 | handler.tags = ['absen'] 10 | handler.command = /^(delete|hapus)absen$/i 11 | handler.group = true 12 | handler.admin = true 13 | module.exports = handler 14 | -------------------------------------------------------------------------------- /plugins/absen-start.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { usedPrefix, text }) => { 2 | conn.absen = conn.absen ? conn.absen : {} 3 | let id = m.chat 4 | if (id in conn.absen) { 5 | throw `_*Masih ada absen di chat ini!*_\n\n*${usedPrefix}hapusabsen* - untuk menghapus absen` 6 | } 7 | conn.absen[id] = [ 8 | conn.sendBut(m.chat, `Berhasil memulai absen!\n\n*${usedPrefix}absen* - untuk absen\n*${usedPrefix}cekabsen* - untuk mengecek absen\n*${usedPrefix}hapusabsen* - untuk menghapus data absen`, wm, 'Absen', '.absen', m), 9 | [], 10 | text 11 | ] 12 | } 13 | handler.help = ['mulaiabsen [teks]'] 14 | handler.tags = ['absen'] 15 | handler.command = /^(start|mulai)absen$/i 16 | handler.group = true 17 | handler.admin = true 18 | module.exports = handler 19 | -------------------------------------------------------------------------------- /plugins/addprem.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | 3 | let who 4 | if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted ? m.quoted.sender : text 5 | else who = m.chat 6 | if (!who) throw `tag orangnya!` 7 | if (global.prems.includes(who.split`@`[0])) throw 'dia udah premium!' 8 | global.prems.push(`${who.split`@`[0]}`) 9 | conn.reply(m.chat, `@${who.split`@`[0]} sekarang premium!`, m, { 10 | contextInfo: { 11 | mentionedJid: [who] 12 | } 13 | }) 14 | 15 | } 16 | handler.help = ['addprem [@user]'] 17 | handler.tags = ['owner'] 18 | handler.command = /^(add|tambah|\+)prem$/i 19 | 20 | handler.rowner = true 21 | 22 | module.exports = handler 23 | -------------------------------------------------------------------------------- /plugins/afk.js: -------------------------------------------------------------------------------- 1 | let handler = async(m, { text }) => { 2 | let user = global.db.data.users[m.sender] 3 | user.afk = +new Date 4 | user.afkReason = text 5 | m.reply(` 6 | ${conn.getName(m.sender)} is now AFK${text ? ': ' + text : ''} 7 | `) 8 | } 9 | handler.help = ['afk [alasan]'] 10 | handler.tags = ['main'] 11 | handler.command = /^afk$/i 12 | 13 | module.exports = handler 14 | -------------------------------------------------------------------------------- /plugins/aksara.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | 3 | let handler = async (m, { conn, args, usedPrefix, command }) => { 4 | let er = `Opsi tersedia: 5 | • latinkejawa 6 | • latinkesunda 7 | • jawakelatin 8 | • sundakelatin 9 | 10 | Contoh penggunaan: 11 | ${usedPrefix + command} latinkejawa selamat pagi 12 | `.trim() 13 | if (!args[0]) throw er 14 | 15 | switch (args[0].toLowerCase()) { 16 | case 'latinkejawa': 17 | case 'latinkesunda': 18 | case 'jawakelatin': 19 | case 'sundakelatin': 20 | let text = args.slice(1).join(' ') 21 | let res = await fetch(global.API('xteam', '/aksara/' + args[0].toLowerCase(), { text }, 'APIKEY')) 22 | if (res.status !== 200) throw await res.text() 23 | let json = await res.json() 24 | if (!json.status) throw json 25 | m.reply(json.message) 26 | break 27 | default: 28 | throw er 29 | } 30 | } 31 | handler.help = ['aksara'].map(v => v + ' ') 32 | handler.tags = ['tools'] 33 | handler.command = /^aksara$/i 34 | 35 | handler.limit = true 36 | 37 | module.exports = handler -------------------------------------------------------------------------------- /plugins/alay.js: -------------------------------------------------------------------------------- 1 | function handler(m, { text }) { 2 | let teks = text ? text : m.quoted && m.quoted.text ? m.quoted.text : m.text 3 | m.reply(teks.replace(/[a-z]/gi, v => Math.random() > .5 ? v[['toLowerCase', 'toUpperCase'][Math.floor(Math.random() * 2)]]() : v).replace(/[abegiors]/gi, v => { 4 | if (Math.random() > .5) return v 5 | switch (v.toLowerCase()) { 6 | case 'a': return '4' 7 | case 'b': return Math.random() > .5 ? '8' : '13' 8 | case 'e': return '3' 9 | case 'g': return Math.random() > .5 ? '6' : '9' 10 | case 'i': return '1' 11 | case 'o': return '0' 12 | case 'r': return '12' 13 | case 's': return '5' 14 | } 15 | })) 16 | } 17 | handler.help = ['alay'] 18 | handler.tags = ['fun'] 19 | handler.command = ['alay'] 20 | 21 | module.exports = handler 22 | -------------------------------------------------------------------------------- /plugins/alquran.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | 3 | let handler = async (m, { conn, args, usedPrefix, command }) => { 4 | if (!(args[0] || args[1])) throw `contoh:\n${usedPrefix + command} 1 2\n\nmaka hasilnya adalah surah Al-Fatihah ayat 2 beserta audionya, dan ayatnya 1 aja` 5 | 6 | let res = await fetch(global.API('https://islamic-api-indonesia.herokuapp.com', '/api/data/quran', { surah: args[0], ayat: args[1] })) 7 | let json = await res.json() 8 | let mes = `${json.result.data.text.arab} 9 | 10 | ${json.result.data.translation.id} 11 | 12 | ( Q.S ${json.result.data.surah.name.transliteration.id} : ${json.result.data.number.inSurah} )`.trim() 13 | m.reply(mes) 14 | conn.sendFile(m.chat, json.result.data.audio.primary, 'all.mp3', '', m, true, { mimetype: 'audio/mp4' }) 15 | } 16 | 17 | handler.help = ['alquran *114 1*'] 18 | handler.tags = ['islam'] 19 | handler.command = /^(al)?quran$/i 20 | module.exports = handler -------------------------------------------------------------------------------- /plugins/animalfact.js: -------------------------------------------------------------------------------- 1 | let fetch = require("node-fetch"); 2 | 3 | let handler = async (m, { conn, text, usedPrefix, command }) => { 4 | if (!text) 5 | throw ` 6 | *${usedPrefix}${command} * 7 | contoh: 8 | *${usedPrefix}${command} *\n 9 | ┌〔 Opsi 〕 10 | ├ dog 11 | ├ cat 12 | ├ panda 13 | ├ fox 14 | ├ red_panda 15 | ├ koala 16 | ├ birb 17 | ├ raccoon 18 | ├ kangaroo 19 | ├ 20 | └──── 21 | `.trim(); 22 | let res = await fetch( 23 | API("https://some-random-api.ml", "/animal/" + text, {}) 24 | ); 25 | if (!res.ok) throw `${res.status} ${res.statusText}`; 26 | let json = await res.json(); 27 | if (json.image) await conn.sendFile(m.chat, json.image, "", `${json.fact}`, m); 28 | else throw json; 29 | }; 30 | handler.help = ["animal"].map((v) => v + " "); 31 | handler.tags = ["internet"]; 32 | handler.command = /^(animal|animalfact)$/i; 33 | 34 | module.exports = handler; 35 | -------------------------------------------------------------------------------- /plugins/anime-alphacoders.js: -------------------------------------------------------------------------------- 1 | let handler = async(m, { conn, text }) => { 2 | if (!text) return conn.reply(m.chat, 'Silahkan masukan query', m) 3 | let tetete = `https://api.zacros.my.id/search/alphacoders?query=${text}` 4 | conn.sendButtonImg(m.chat, tetete, `Hasil Dari ${text}`, wm2, 'Thanks', 'thanks', m) 5 | } 6 | handler.help = ['alphacoders'].map(v => v + ' ') 7 | handler.tags = ['anime', 'internet'] 8 | handler.command = /^(alphacoders)$/i 9 | 10 | module.exports = handler -------------------------------------------------------------------------------- /plugins/anime-cosplay.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | let hyzer = 'https://api.zacros.my.id/randomimg/cosplay' 3 | conn.sendButtonImg(m.chat, hyzer, teksfoto, wm2, 'NEXT', '.cosplay', m) 4 | } 5 | handler.help = ['cosplay'] 6 | handler.tags = ['anime'] 7 | handler.command = /^(cosplay)$/i 8 | 9 | module.exports = handler -------------------------------------------------------------------------------- /plugins/anime-konachan.js: -------------------------------------------------------------------------------- 1 | let handler = async(m, { conn, text }) => { 2 | if (!text) return conn.reply(m.chat, 'Silahkan masukan query', m) 3 | let tetete = `https://api.zacros.my.id/search/konachan?query=${text}` 4 | conn.sendButtonImg(m.chat, tetete, `Hasil Dari ${text}`, wm2, 'Thanks', 'thanks', m) 5 | } 6 | handler.help = ['konachan'].map(v => v + ' ') 7 | handler.tags = ['anime', 'internet'] 8 | handler.command = /^(konachan)$/i 9 | 10 | module.exports = handler -------------------------------------------------------------------------------- /plugins/anime-loli.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | let apr = 'https://api.zacros.my.id/randomimg/loli' 3 | conn.sendButtonImg(m.chat, apr, 'Nih', wm2, 'NEXT', '.loli', m) 4 | } 5 | handler.help = ['loli'] 6 | handler.tags = ['anime'] 7 | handler.command = /^(loli)$/i 8 | 9 | module.exports = handler 10 | -------------------------------------------------------------------------------- /plugins/anime-sagiri.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.sendFile(m.chat, 'https://api.lolhuman.xyz/api/random/sagiri?apikey=Papah-Chan', '', '', m) 3 | } 4 | handler.help = ['sagiri'] 5 | handler.tags = ['anime'] 6 | handler.command = /^(sagiri)$/i 7 | 8 | module.exports = handler -------------------------------------------------------------------------------- /plugins/animeinfo.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async(m, { conn, text }) => { 3 | if (!text) throw `Masukkan query!` 4 | let res = await fetch(global.API('https://api.jikan.moe', '/v3/search/anime', { q: text })) 5 | if (!res.ok) throw await res.text() 6 | let json = await res.json() 7 | let { title, members, synopsis, episodes, url, rated, score, image_url, type, start_date, end_date } = json.results[0] 8 | let animeingfo = `✨️ *Title:* ${title} 9 | 🎆️ *Episodes:* ${episodes} 10 | ➡️ *Start date:* ${start_date} 11 | 🔚 *End date:* ${end_date} 12 | 💬 *Show Type:* ${type} 13 | 💌️ *Rating:* ${rated} 14 | ❤️ *Score:* ${score} 15 | 👥 *Members:* ${members} 16 | 💚️ *Synopsis:* ${synopsis} 17 | 🌐️ *URL*: ${url}` 18 | conn.sendFile(m.chat, image_url, '', animeingfo, m) 19 | } 20 | handler.help = ['anime '] 21 | handler.tags = ['anime'] 22 | handler.command = /^(anime|animeinfo)$/i 23 | //maapin fatur :< 24 | module.exports = handler 25 | -------------------------------------------------------------------------------- /plugins/apakah.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | conn.reply(m.chat, `${pickRandom(['Yap','Sepertinya Begitu','Kayaknya','Kayaknya nggak','Nggak','Nggak mungkin'])} 3 | `.trim(), m, m.mentionedJid ? { 4 | contextInfo: { 5 | mentionedJid: m.mentionedJid 6 | } 7 | } : {}) 8 | } 9 | handler.help = ['apakah ?'] 10 | handler.tags = ['kerang'] 11 | handler.customPrefix = /(\?$)/ 12 | handler.command = /^apakah$/i 13 | handler.owner = false 14 | 15 | handler.fail = null 16 | 17 | module.exports = handler 18 | 19 | function pickRandom(list) { 20 | return list[Math.floor(Math.random() * list.length)] 21 | } 22 | -------------------------------------------------------------------------------- /plugins/artikata.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { text }) => { 3 | if (!text) throw `Uhm.. Teksnya mana?` 4 | let res = await fetch(`https://x-restapi.herokuapp.com/api/arti-kata?q=${text}&apikey=BETA`) 5 | if (!res.ok) throw await res.text() 6 | let json = await res.json() 7 | if (!json.status) throw json 8 | m.reply(` 9 | *Pencarian: ${text}* 10 | ${json.artikata} 11 | 12 | `.trim()) 13 | } 14 | handler.help = ['artikata '] 15 | handler.tags = ['internet'] 16 | handler.command = /^artikata$/i 17 | module.exports = handler 18 | -------------------------------------------------------------------------------- /plugins/attp.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | let teks = text ? text : m.quoted && m.quoted.text ? m.quoted.text : m.text 3 | conn.sendFile(m.chat, global.API('xteam', '/attp', { file: '', text: teks }), 'attp.webp', '', m, false, { asSticker: true }) 4 | } 5 | handler.help = ['attp '] 6 | handler.tags = ['sticker'] 7 | 8 | handler.command = /^attp$/i 9 | 10 | module.exports = handler 11 | -------------------------------------------------------------------------------- /plugins/baka.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | 3 | let handler = async (m, { conn, usedPrefix, command }) => { 4 | let res = await fetch(API('amel', '/randombaka', {}, 'apikey')) 5 | if (!res.ok) throw eror 6 | let json = await res.json() 7 | if (!json.status) throw json 8 | conn.sendButtonImg(m.chat, json.url, 'Baka', wm, 'NEXT', '.baka',m) 9 | } 10 | handler.help = ['baka'] 11 | handler.tags = ['fun'] 12 | handler.command = /^(baka)$/i 13 | 14 | module.exports = handler 15 | -------------------------------------------------------------------------------- /plugins/banchat.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, isOwner, text, isAdmin }) => { 2 | let who 3 | if (m.isGroup) { 4 | if (!(isAdmin || isOwner)) { 5 | global.dfail('admin', m, conn) 6 | throw false 7 | } 8 | if (isOwner) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted ? m.quoted.sender : text ? text.replace(/[^0-9]/g, '') + '@s.whatsapp.net' : m.chat 9 | else who = m.chat 10 | } else { 11 | if (!isOwner) { 12 | global.dfail('owner', m, conn) 13 | throw false 14 | } 15 | who = text ? text.replace(/[^0-9]/g, '') + '@s.whatsapp.net' : m.chat 16 | } 17 | 18 | try { 19 | if (who.endsWith('g.us')) global.db.data.chats[who].isBanned = true 20 | else global.db.data.users[who].banned = true 21 | m.reply(`Berhasil Ban! ${await conn.user.name} tidak aktif dichat ${await conn.getName(who) == undefined ? 'ini' : await conn.getName(who)}.`) 22 | } catch (e) { 23 | throw `nomor tidak ada didatabase!` 24 | } 25 | } 26 | handler.help = ['ban'] 27 | handler.tags = ['owner', 'group'] 28 | handler.command = /^ban(chat)?$/i 29 | 30 | module.exports = handler 31 | -------------------------------------------------------------------------------- /plugins/bannedList.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, isOwner }) => { 2 | let chats = Object.entries(global.db.data.chats).filter(chat => chat[1].isBanned) 3 | let users = Object.entries(global.db.data.users).filter(user => user[1].banned) 4 | let caption = ` 5 | ┌〔 Daftar Chat Terbanned 〕 6 | ├ Total : ${chats.length} Chat${chats ? '\n' + chats.map(([jid], i) => ` 7 | ├ ${i + 1}. ${conn.getName(jid) == undefined ? 'Unknown' : conn.getName(jid)} 8 | ├ ${isOwner ? '@' + jid.split`@`[0] : jid} 9 | `.trim()).join('\n') : ''} 10 | └──── 11 | 12 | ┌〔 Daftar Pengguna Terbanned 〕 13 | ├ Total : ${users.length} Pengguna${users ? '\n' + users.map(([jid], i) => ` 14 | ├ ${i + 1}. ${conn.getName(jid) == undefined ? 'Unknown' : conn.getName(jid)} 15 | ├ ${isOwner ? '@' + jid.split`@`[0] : jid} 16 | `.trim()).join('\n') : ''} 17 | └──── 18 | `.trim() 19 | conn.reply(m.chat, caption, m, { contextInfo: { mentionedJid: conn.parseMention(caption) } }) 20 | } 21 | handler.help = ['bannedlist'] 22 | handler.tags = ['info'] 23 | handler.command = /^listban(ned)?|ban(ned)?list|daftarban(ned)?$/i 24 | handler.owner = false 25 | module.exports = handler 26 | -------------------------------------------------------------------------------- /plugins/base64.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { command, text }) => { 2 | let txt = m.quoted ? m.quoted.text ? m.quoted.text : text ? text : m.text : m.text 3 | m.reply(Buffer.from(txt, 'utf-8').toString('base64')) 4 | } 5 | handler.help = ['base64'] 6 | handler.tags = ['tools'] 7 | handler.command = /^base64$/i 8 | 9 | module.exports = handler 10 | -------------------------------------------------------------------------------- /plugins/binary.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios"); 2 | 3 | let handler = async(m, { conn, text }) => { 4 | 5 | if (!text) return conn.reply(m.chat, 'Masukan Teksnya', m) 6 | 7 | axios.get(`https://some-random-api.ml/binary?text=${text}`).then ((res) => { 8 | let hasil = `Teks : ${text}\nBinary : ${res.data.binary}` 9 | 10 | conn.reply(m.chat, hasil, m) 11 | }) 12 | } 13 | handler.help = ['binary'].map(v => v + ' ') 14 | handler.tags = ['tools'] 15 | handler.command = /^(binary)$/i 16 | handler.owner = false 17 | handler.mods = false 18 | handler.premium = false 19 | handler.group = false 20 | handler.private = false 21 | 22 | handler.admin = false 23 | handler.botAdmin = false 24 | 25 | handler.fail = null 26 | handler.exp = 0 27 | handler.limit = false 28 | 29 | module.exports = handler 30 | -------------------------------------------------------------------------------- /plugins/brainly.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { text, command, usedPrefix }) => { 3 | if (!text) throw `uhm.. teksnya mana?\n\ncontoh:\n${usedPrefix + command} membaca` 4 | let res = await fetch(`https://api.xteam.xyz/brainly?soal=${text}&APIKEY=cristian9407`) 5 | if (!res.ok) throw eror 6 | let json = await res.json() 7 | if (!json.status) throw json 8 | m.reply(json.jawaban) 9 | } 10 | handler.help = ['Brainly '] 11 | handler.tags = ['internet'] 12 | handler.command = /^brainly$/i 13 | module.exports = handler 14 | -------------------------------------------------------------------------------- /plugins/buylimit.js: -------------------------------------------------------------------------------- 1 | const xpperlimit = 350 2 | let handler = async (m, { conn, command, args }) => { 3 | let count = command.replace(/^buy/i, '') 4 | count = count ? /all/i.test(count) ? Math.floor(global.db.data.users[m.sender].exp / xpperlimit) : parseInt(count) : args[0] ? parseInt(args[0]) : 1 5 | count = Math.max(1, count) 6 | if (global.db.data.users[m.sender].exp >= xpperlimit * count) { 7 | global.db.data.users[m.sender].exp -= xpperlimit * count 8 | global.db.data.users[m.sender].limit += count 9 | conn.sendBut(m.chat, `-${xpperlimit * count} XP\n+ ${count} Limit`, wm, 'Buy All', '.buyall', m) 10 | } else conn.sendBut(m.chat, `XP tidak mencukupi untuk membeli ${count} limit`, wm, 'Klaim Harian', '.daily', m) 11 | } 12 | handler.help = ['buy', 'buy ', 'buyall'] 13 | handler.tags = ['xp'] 14 | handler.command = /^buy([0-9]+)|buy|buyall$/i 15 | handler.owner = false 16 | handler.mods = false 17 | handler.premium = false 18 | handler.group = false 19 | handler.private = false 20 | 21 | handler.admin = false 22 | handler.botAdmin = false 23 | 24 | handler.fail = null 25 | handler.exp = 0 26 | 27 | module.exports = handler 28 | 29 | -------------------------------------------------------------------------------- /plugins/canvas_hitler.js: -------------------------------------------------------------------------------- 1 | const Canvacord = require('canvacord') 2 | const uploadImage = require('../lib/uploadImage') 3 | const { sticker } = require('../lib/sticker') 4 | const { MessageType } = require('@adiwajshing/baileys') 5 | 6 | let handler = async (m, { conn, text }) => { 7 | if (!text && m.mentionedJid.length == 0) return m.reply('Tag member kak, contoh *#hitler @member*') 8 | try { 9 | linknya = await conn.profilePictureUrl(m.mentionedJid[0]) 10 | baper = await require('node-fetch')(linknya).then(v => v.buffer()) 11 | let image = baper 12 | 13 | Canvacord.Canvas.hitler(image) 14 | .then(async buffer => { 15 | conn.sendFile(m.chat, buffer, 'hitler.jpg', '*Shit bro, dia ternyata hitler:v*', m) 16 | }) 17 | } catch (e) { 18 | m.reply('Error || Mungkin foto profile orang tersebut depresi!') 19 | } 20 | } 21 | handler.help = ['hitler (@tag)'] 22 | handler.tags = ['filter'] 23 | handler.command = /^hitler$/i 24 | handler.owner = false 25 | handler.mods = false 26 | handler.premium = false 27 | handler.group = true 28 | handler.private = false 29 | 30 | handler.admin = false 31 | handler.botAdmin = false 32 | 33 | handler.fail = null 34 | 35 | module.exports = handler 36 | -------------------------------------------------------------------------------- /plugins/canvas_joke.js: -------------------------------------------------------------------------------- 1 | const Canvacord = require('canvacord') 2 | const uploadImage = require('../lib/uploadImage') 3 | const { sticker } = require('../lib/sticker') 4 | const { MessageType } = require('@adiwajshing/baileys') 5 | 6 | let handler = async (m, { conn, text }) => { 7 | let q = m.quoted ? m.quoted : m 8 | let mime = (q.msg || q).mimetype || '' 9 | if (!mime) throw 'Contoh penggunaan, Reply atau send image dengan caption #joke' 10 | try { 11 | if (!/image\/(jpe?g|png)/.test(mime)) throw `Mime ${mime} tidak support` 12 | let image = await q.download() 13 | 14 | Canvacord.Canvas.jokeOverHead(image) 15 | .then(async buffer => { 16 | conn.sendFile(m.chat, buffer, 'joke.jpg', '*:)*', m) 17 | }) 18 | } catch (e) { 19 | m.reply('Error || Pastikan menggunakan image!!\njika masih error yah dari sononya:v') 20 | //m.reply(`${e}`) 21 | } 22 | } 23 | handler.help = ['joke'] 24 | handler.tags = ['filter'] 25 | handler.command = /^joke$/i 26 | handler.owner = false 27 | handler.mods = false 28 | handler.premium = false 29 | handler.group = false 30 | handler.private = false 31 | 32 | handler.admin = false 33 | handler.botAdmin = false 34 | 35 | handler.fail = null 36 | 37 | module.exports = handler 38 | -------------------------------------------------------------------------------- /plugins/canvas_rip.js: -------------------------------------------------------------------------------- 1 | const Canvacord = require('canvacord') 2 | const uploadImage = require('../lib/uploadImage') 3 | const { sticker } = require('../lib/sticker') 4 | const { MessageType } = require('@adiwajshing/baileys') 5 | 6 | let handler = async (m, { conn, text }) => { 7 | let q = m.quoted ? m.quoted : m 8 | let mime = (q.msg || q).mimetype || '' 9 | if (!mime) throw 'Contoh penggunaan, Reply atau send image dengan caption #rip' 10 | try { 11 | if (!/image\/(jpe?g|png)/.test(mime)) throw `Mime ${mime} tidak support` 12 | let image = await q.download() 13 | 14 | Canvacord.Canvas.rip(image) 15 | .then(async buffer => { 16 | conn.sendFile(m.chat, buffer, 'joke.jpg', '*RIP*', m) 17 | }) 18 | } catch (e) { 19 | m.reply('Error || Pastikan menggunakan image!!\njika masih error yah dari sononya:v') 20 | //m.reply(`${e}`) 21 | } 22 | } 23 | handler.help = ['rip'] 24 | handler.tags = ['filter'] 25 | handler.command = /^rip$/i 26 | handler.owner = false 27 | handler.mods = false 28 | handler.premium = false 29 | handler.group = false 30 | handler.private = false 31 | 32 | handler.admin = false 33 | handler.botAdmin = false 34 | 35 | handler.fail = null 36 | 37 | module.exports = handler 38 | -------------------------------------------------------------------------------- /plugins/cerpen.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios"); 2 | let handler = async(m, { conn, text }) => { 3 | 4 | await m.reply('Searching...') 5 | axios.get(`https://leyscoders-api.herokuapp.com/api/cerpen?apikey=MIMINGANZ`).then ((res) => { 6 | let hasil = `*Judul :${res.data.result.title}* 7 | *Pengarang*: ${res.data.result.pengarang} 8 | *Kategori*: ${res.data.result.kategori} 9 | *Story*: 10 | ${res.data.result.story}` 11 | 12 | conn.reply(m.chat, hasil, m) 13 | }) 14 | } 15 | handler.help = ['cerpen'] 16 | handler.tags = ['fun'] 17 | handler.command = /^(cerpen)$/i 18 | 19 | handler.fail = null 20 | handler.exp = 0 21 | handler.limit = true 22 | 23 | module.exports = handler 24 | -------------------------------------------------------------------------------- /plugins/cheatlimit.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { text }) => { 3 | m.reply('=> global.DATABASE.data.users[m.quoted.sender].limit = 100') 4 | 5 | } 6 | handler.help = ['cheatlimit'] 7 | handler.tags = ['owner'] 8 | handler.command = /^cheatlimit$/i 9 | 10 | module.exports = handler 11 | -------------------------------------------------------------------------------- /plugins/code.js: -------------------------------------------------------------------------------- 1 | let fs = require('fs') 2 | let handler = async (m, {conn, text}) => { 3 | let teks = text ? text : m.quoted && m.quoted.text ? m.quoted.text : m.text 4 | if (!teks) throw `Masukkan text 5 | Contoh: .code hello world` 6 | await m.reply('```tunggu sebentar...```') 7 | let Carbon = require("unofficial-carbon-now") 8 | let carbon = new Carbon.createCarbon() 9 | .setCode(`${teks}`) 10 | let ok = await Carbon.generateCarbon(carbon) 11 | conn.sendFile(m.chat, ok, 'ok.jpg', '', '', m) 12 | } 13 | handler.help = ['code'] 14 | handler.tags = ['tools'] 15 | handler.command = /^(code)$/i 16 | 17 | handler.fail = null 18 | 19 | module.exports = handler 20 | -------------------------------------------------------------------------------- /plugins/collect.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | let __timers = (new Date - global.db.data.users[m.sender].lastclaim) 3 | let _timers = (43200000 - __timers) 4 | let timers = clockString(_timers) 5 | let user = global.db.data.users[m.sender] 6 | if (new Date - global.db.data.users[m.sender].lastclaim > 43200000) { 7 | conn.reply(m.chat, `Kamu sudah mengclaim dan mendapatkan *1000* 💵money dan *1* 🥤potion`, m) 8 | user.money += 1000 9 | user.potion += 1 10 | user.lastclaim = new Date * 1 11 | } else conn.reply(m.chat, `silahkan tunggu *${timers}* lagi untuk bisa mengclaim lagi`, m) 12 | } 13 | handler.help = ['collect', 'claim', 'daily'] 14 | handler.tags = ['rpg'] 15 | handler.command = /^(collect|claim|daily)$/i 16 | 17 | handler.fail = null 18 | 19 | module.exports = handler 20 | 21 | function clockString(ms) { 22 | let h = Math.floor(ms / 3600000) 23 | let m = Math.floor(ms / 60000) % 60 24 | let s = Math.floor(ms / 1000) % 60 25 | console.log({ms,h,m,s}) 26 | return [h, m, s].map(v => v.toString().padStart(2, 0) ).join(':') 27 | } 28 | -------------------------------------------------------------------------------- /plugins/contact.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | if (!text) return 3 | let who 4 | if (m.isGroup) who = m.mentionedJid[0] 5 | else who = m.chat 6 | if (!who) throw 'Tag salah satu lah' 7 | txt = text.replace('@' + who.split`@`[0], '').trimStart() 8 | return conn.sendContact(m.chat, who, txt || conn.getName(who), m) 9 | } 10 | handler.help = ['save'].map(v => v + ' @mention ') 11 | handler.tags = [''] 12 | 13 | handler.command = /^save$/ 14 | 15 | module.exports = handler 16 | -------------------------------------------------------------------------------- /plugins/covid.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { text }) => { 3 | let res = await fetch(global.API('https://covid19.mathdro.id', '/api/countries/'+ (text))) 4 | if (!res.ok) throw await res.text() 5 | let json = await res.json() 6 | if (!json.confirmed) throw 'Negara?' 7 | if (json.confirmed) m.reply(` 8 | Negara : ${text} 9 | Terkonfirmasi : ${json.confirmed.value} 10 | Sembuh : ${json.recovered.value} 11 | Meninggal : ${json.deaths.value} 12 | Update Info : ${json.lastUpdate} 13 | `.trim()) 14 | else throw json 15 | } 16 | handler.help = ['covid'].map(v => v + ' ') 17 | handler.tags = ['internet'] 18 | handler.command = /^(corona|covid|covid19)$/i 19 | //susu, tetek, oppai 20 | module.exports = handler 21 | -------------------------------------------------------------------------------- /plugins/cuaca.js: -------------------------------------------------------------------------------- 1 | const fetch = require('node-fetch') 2 | 3 | let handler = async (m, { text, usedPrefix, command }) => { 4 | if (!text) throw `Pengunaan:\n${usedPrefix + command} \n\nContoh:\n${usedPrefix + command} Jakarta` 5 | let res = await fetch(API('https://api.openweathermap.org', '/data/2.5/weather', { 6 | q: text, 7 | units: 'metric', 8 | appid: '060a6bcfa19809c2cd4d97a212b19273' 9 | })) 10 | if (!res.ok) throw 'lokasi tidak ditemukan' 11 | let json = await res.json() 12 | if (json.cod != 200) throw json 13 | m.reply(` 14 | Lokasi: ${json.name} 15 | Negara: ${json.sys.country} 16 | Cuaca: ${json.weather[0].description} 17 | Suhu saat ini: ${json.main.temp} °C 18 | Suhu tertinggi: ${json.main.temp_max} °C 19 | Suhu terendah: ${json.main.temp_min} °C 20 | Kelembapan: ${json.main.humidity} % 21 | Angin: ${json.wind.speed} km/jam 22 | `.trim()) 23 | } 24 | 25 | handler.help = ['cuaca'] 26 | handler.tags = ['internet'] 27 | handler.command = /^(cuaca|weather)$/i 28 | 29 | module.exports = handler 30 | -------------------------------------------------------------------------------- /plugins/cuttly.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { text }) => { 3 | if (!text) throw 'url/link nya mana?' 4 | let res = await fetch(`http://hadi-api.herokuapp.com/api/cuttly?url=${text}`) 5 | let json = await res.json() 6 | if (json.status) m.reply(json.result) 7 | else throw 'Link Invalid!\nPeriksa url anda' 8 | } 9 | handler.help = ['cuttly'].map(v => v + ' ') 10 | handler.tags = ['shortlink'] 11 | handler.command = /^cuttly$/i 12 | 13 | module.exports = handler 14 | -------------------------------------------------------------------------------- /plugins/dadu.js: -------------------------------------------------------------------------------- 1 | const dir = [ 2 | 'https://storage.caliph71.xyz/dadu/v2/5.webp', 3 | 'https://storage.caliph71.xyz/dadu/v2/4.webp', 4 | 'https://storage.caliph71.xyz/dadu/v2/3.webp', 5 | 'https://storage.caliph71.xyz/dadu/v2/2.webp', 6 | 'https://storage.caliph71.xyz/dadu/v2/1.webp', 7 | 'https://storage.caliph71.xyz/dadu/v2/6.webp' 8 | ]; 9 | let handler = async (m, { conn }) => { 10 | conn.sendFile(m.chat, dir[Math.floor(Math.random() * dir.length)], 'dadu.webp', '', m) 11 | } 12 | handler.help = ['dadu'] 13 | handler.tags = ['sticker', 'fun'] 14 | handler.command = /^dadu$/i 15 | 16 | module.exports = handler 17 | -------------------------------------------------------------------------------- /plugins/darkjoke.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.sendButtonImg(m.chat, global.API('xteam', '/asupan/darkjoke', {}, 'APIKEY'), 'Dark Jokes', wm, 'NEXT', '.darkjokes', m) 3 | } 4 | handler.help = ['darkjokes'] 5 | handler.tags = ['internet'] 6 | handler.command = /^(dragjokes|darkjokes)$/i 7 | 8 | module.exports = handler 9 | -------------------------------------------------------------------------------- /plugins/database.js: -------------------------------------------------------------------------------- 1 | let handler = async (m) => { 2 | let totalreg = Object.keys(global.db.data.users).length 3 | let rtotalreg = Object.values(global.db.data.users).filter(user => user.registered == true).length 4 | m.reply(`*Jumlah database saat ini ${totalreg} user*`) 5 | } 6 | handler.help = ['database', 'user'] 7 | handler.tags = ['info'] 8 | handler.command = /^(database|jumlahdatabase|user)$/i 9 | module.exports = handler 10 | -------------------------------------------------------------------------------- /plugins/debounce.js: -------------------------------------------------------------------------------- 1 | let { spawn } = require('child_process'); 2 | let handler = async (m, { conn }) => { 3 | if (!process.send) throw 'Dont: node main.js\nDo: node index.js' 4 | if (global.conn.user.jid == conn.user.jid) { 5 | await m.reply('Sedang Mereset Bot...\nMohon tunggu sekitar 1 menit') 6 | await global.db.write() 7 | process.send('reset') 8 | } else throw '_eeeeeiiittsssss..._' 9 | } 10 | handler.help = ['debounce' + (process.send ? '' : ' (Not working)')] 11 | handler.tags = ['owner'] 12 | handler.command = /^debounce$/i 13 | handler.rowner = true 14 | handler.mods = false 15 | handler.premium = false 16 | handler.group = false 17 | handler.private = false 18 | 19 | handler.admin = false 20 | handler.botAdmin = false 21 | 22 | handler.fail = null 23 | 24 | module.exports = handler 25 | 26 | -------------------------------------------------------------------------------- /plugins/delete.js: -------------------------------------------------------------------------------- 1 | let handler = function (m) { 2 | if (!m.quoted) throw false 3 | let { chat, fromMe, id, isBaileys } = m.quoted 4 | if (!isBaileys) throw 'Pesan tersebut bukan dikirim oleh bot!' 5 | conn.sendMessage(m.chat, { delete: { remoteJid: m.chat, fromMe: true, id: m.quoted.id, participant: m.quoted.sender } }) 6 | } 7 | handler.help = ['delete'] 8 | handler.tags = ['main'] 9 | 10 | handler.command = /^del|delete|unsend?$/i 11 | handler.register = false 12 | 13 | module.exports = handler 14 | -------------------------------------------------------------------------------- /plugins/delprem.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | 3 | let who 4 | if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted ? m.quoted.sender : text 5 | else who = m.chat 6 | if (!who) throw `tag orangnya!` 7 | if (!global.prems.includes(who.split`@`[0])) throw 'dia ngga premium!' 8 | let index = global.prems.findIndex(v => (v.replace(/[^0-9]/g, '') + '@s.whatsapp.net') === (who.replace(/[^0-9]/g, '') + '@s.whatsapp.net')) 9 | global.prems.splice(index, 1) 10 | conn.reply(m.chat, `@${who.split('@')[0]} sekarang bukan premium!`, m, { 11 | contextInfo: { 12 | mentionedJid: [who] 13 | } 14 | }) 15 | 16 | } 17 | handler.help = ['delprem [@user]'] 18 | handler.tags = ['owner'] 19 | handler.command = /^(remove|hapus|-|del)prem$/i 20 | 21 | handler.owner = true 22 | 23 | module.exports = handler 24 | -------------------------------------------------------------------------------- /plugins/downloader-zippyshare.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, command, text, isPrems, isOwner }) => { 2 | if (!text) throw 'Uhm...urlnya mana?' 3 | try { 4 | apii = global.API('lolhuman', '/api/zippyshare', { url: text }, 'apikey') 5 | apis = await require('axios').get(apii) 6 | m.reply('Sabar Uhm, Lagi Download...') 7 | m.reply('Nama File : '+ apis.data.result.name_file) 8 | buffer = await getBuffer(apis.data.result.download_url) 9 | let { ext, mime } = await require('file-type').fromBuffer(buffer) 10 | m.reply('Sabar Uhm, Lagi Upload...') 11 | conn.sendMessage(m.chat, buffer, 'documentMessage', { mimetype: mime, filename: apis.data.result.name_file, quoted:m }) 12 | } catch { 13 | throw 'Error!' 14 | } 15 | } 16 | handler.help = ['zippyshare', 'zippy'].map(v => v + ' ') 17 | handler.tags = ['downloader'] 18 | handler.command = /^(zippy|zippyshare)$/i 19 | 20 | handler.exp = 0 21 | 22 | module.exports = handler 23 | 24 | async function getBuffer(url) { 25 | ff = await require('node-fetch')(url) 26 | fff = await ff.buffer() 27 | return fff 28 | } -------------------------------------------------------------------------------- /plugins/elyas: -------------------------------------------------------------------------------- 1 | Buat upload doang 2 | -------------------------------------------------------------------------------- /plugins/elyas gtg: -------------------------------------------------------------------------------- 1 | Rss74s74 2 | -------------------------------------------------------------------------------- /plugins/emojimix.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let {fetchJson} = require("../lib/myfunc") 3 | let fs = require("fs") 4 | 5 | let handler = async (m, { conn, text, args }) => { 6 | if (!args[0]) throw 'Contoh penggunaan:\n\n*.emojimix 🐷&😣*' 7 | let [emoji1, emoji2] = text.split`&` 8 | let anu = await fetchJson(`https://tenor.googleapis.com/v2/featured?key=AIzaSyAyimkuYQYF_FXVALexPuGQctUWRURdCYQ&contentfilter=high&media_filter=png_transparent&component=proactive&collection=emoji_kitchen_v5&q=${encodeURIComponent(emoji1)}_${encodeURIComponent(emoji2)}`) 9 | for (let res of anu.results) { 10 | let encmedia = await conn.sendImageAsSticker(m.chat, res.url, m, { packname: global.packname, author: global.author, categories: res.tags }) 11 | await fs.unlinkSync(encmedia) 12 | } 13 | } 14 | handler.help = ['emojimix'].map(v => v + ' emot1|emot2>') 15 | handler.tags = ['fun'] 16 | handler.command = /^(emojimix)$/i 17 | 18 | module.exports = handler 19 | -------------------------------------------------------------------------------- /plugins/exec2.js: -------------------------------------------------------------------------------- 1 | let cp = require('child_process') 2 | let { promisify } = require('util') 3 | let exec = promisify(cp.exec).bind(cp) 4 | let handler = async (m, { conn, isOwner, command, text }) => { 5 | if (global.conn.user.jid != conn.user.jid) return 6 | m.reply('Executing...') 7 | let o 8 | try { 9 | o = await exec(command.trimStart() + ' ' + text.trimEnd()) 10 | } catch (e) { 11 | o = e 12 | } finally { 13 | let { stdout, stderr } = o 14 | if (stdout.trim()) m.reply(stdout) 15 | if (stderr.trim()) m.reply(stderr) 16 | } 17 | } 18 | handler.customPrefix = /^[$] / 19 | handler.command = new RegExp 20 | handler.rowner = true 21 | module.exports = handler 22 | -------------------------------------------------------------------------------- /plugins/fb.js: -------------------------------------------------------------------------------- 1 | let scrape = require('@bochilteam/scraper') 2 | let handler = async (m, { usedPrefix, command, conn, args }) => { 3 | if (!args[0]) throw `Gunakan format: ${usedPrefix}${command} naruto` 4 | let json = await scrape.facebookdlv3(args[0]) 5 | let hasil = json.result[0].url 6 | let teks = `Judul: ${json.title}` 7 | m.reply(wait) 8 | conn.sendFile(m.chat, hasil, 'fb.mp4', teks,m) 9 | } 10 | handler.help = ['fb '] 11 | handler.tags = ['downloader'] 12 | handler.command = /^(fb)$/i 13 | 14 | module.exports = handler 15 | -------------------------------------------------------------------------------- /plugins/fetch.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let util = require('util') 3 | let handler = async (m, { text }) => { 4 | if (!/^https?:\/\//.test(text)) throw 'Awali *URL* dengan http:// atau https://' 5 | let _url = new URL(text) 6 | let url = global.API(_url.origin, _url.pathname, Object.fromEntries(_url.searchParams.entries()), 'APIKEY') 7 | let res = await fetch(url) 8 | if (res.headers.get('content-length') > 100 * 1024 * 1024 * 1024) { 9 | delete res 10 | throw `Content-Length: ${res.headers.get('content-length')}` 11 | } 12 | if (!/text|json/.test(res.headers.get('content-type'))) return conn.sendFile(m.chat, url, 'file', text, m) 13 | let txt = await res.buffer() 14 | try { 15 | txt = util.format(JSON.parse(txt+'')) 16 | } catch (e) { 17 | txt = txt + '' 18 | } finally { 19 | m.reply(txt.slice(0, 65536) + '') 20 | } 21 | } 22 | handler.help = ['fetch', 'get'].map(v => v + ' ') 23 | handler.tags = ['internet'] 24 | handler.command = /^(fetch|get)$/i 25 | 26 | module.exports = handler 27 | 28 | -------------------------------------------------------------------------------- /plugins/forward.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text, args }) => { 2 | if(!m.quoted) throw 'reply pesan atau masukkan nomor tujuan' 3 | /* if(isNaN(text)) { 4 | var number = text.split`@`[1] 5 | } else if(!isNaN(text)) { 6 | var number = text 7 | } 8 | let exists = await conn.onWhatsApp(number) 9 | if (exists) return conn.reply(m.chat, `*Nomor target tidak terdaftar di WhatsApp*`, m)*/ 10 | let target = m.mentionedJid[0] ? m.mentionedJid[0] : text.replace(/[^0-9]/g, '')+'@s.whatsapp.net' 11 | conn.copyNForward(target + '@s.whatsapp.net', m.quoted.fakeObj, true) 12 | conn.reply(target + '@s.whatsapp.net', "pengirimnya⬆️", m) 13 | } 14 | handler.command = /^(forward|terusin|teruskan)$/i 15 | handler.limit = true 16 | handler.help = ['forward ' ,'teruskan ' ] 17 | //handler.rowner = true 18 | module.exports = handler 19 | 20 | -------------------------------------------------------------------------------- /plugins/fun-pick.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { text, args, participants, command }) => { 2 | if (args[0] < 0, args.length < 2) throw 'Example: #pick 15 gay' 3 | let users = participants.map(u => u.jid) 4 | m.reply(`*🎉 Kamu Ter${command} sebagai ${text.replace(args, '').trimStart()}* 5 | 6 | ${new Array(Math.min(users.length, args[0])).fill().map(() => { 7 | let index = Math.floor(Math.random() * users.length) 8 | return `@${users.splice(index, 1)}` 9 | }).join`\n`.replace(/@s.whatsapp.net/g,'')}`) 10 | } 11 | handler.help = ['pick '] 12 | handler.tags = ['fun'] 13 | handler.command = /^pick/i 14 | 15 | module.exports = handler 16 | -------------------------------------------------------------------------------- /plugins/fun-sendkontak.js: -------------------------------------------------------------------------------- 1 | let { MessageType, Presence } = require('@adiwajshing/baileys') 2 | 3 | async function handler(m, { command, conn, text }) { 4 | await conn.updatePresence(m.chat, Presence.composing) 5 | this.anonymous = this.anonymous ? this.anonymous : {} 6 | let who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender 7 | let room = Object.values(this.anonymous).find(room => room.check(who)) 8 | if (!room) throw 'kamu tidak berada di anonymous chat' 9 | let other = room.other(who) 10 | var name 11 | if (text) name = text 12 | else name = conn.getName(m.sender) 13 | var number = who.split('@')[0] 14 | if (other) this.sendMessage(other, `Partner mengirimkan kontak kepadamu`, MessageType.text) 15 | if (other) this.sendContact(other, number, name, m) 16 | } 17 | handler.help = ['sendkontak'] 18 | handler.tags = ['anonymous'] 19 | handler.command = /^(sendkontak)$/i 20 | handler.private = true 21 | handler.fail = null 22 | module.exports = handler 23 | -------------------------------------------------------------------------------- /plugins/game-asahotak_hint.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.asahotak = conn.asahotak ? conn.asahotak : {} 3 | let id = m.chat 4 | if (!(id in conn.asahotak)) throw false 5 | let json = conn.asahotak[id][1] 6 | let clue = json.jawaban.replace(/[AIUEOaiueo]/g, '_') 7 | conn.reply(m.chat, '```' + clue + '```\nBalas soalnya, bukan pesan ini', conn.asahotak[id][0]) 8 | } 9 | handler.command = /^ao$/i 10 | handler.limit = false 11 | module.exports = handler 12 | -------------------------------------------------------------------------------- /plugins/game-caklontong_hint.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.caklontong = conn.caklontong ? conn.caklontong : {} 3 | let id = m.chat 4 | if (!(id in conn.caklontong)) throw false 5 | let json = conn.caklontong[id][1] 6 | let ans = json.jawaban 7 | let clue = ans.replace(/[AIUEOaiueo]/g, '_') 8 | m.reply('```' + clue + '```') 9 | } 10 | handler.command = /^calo$/i 11 | handler.limit = true 12 | module.exports = handler -------------------------------------------------------------------------------- /plugins/game-family100.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let winScore = 500 3 | async function handler(m) { 4 | this.game = this.game ? this.game : {} 5 | let id = 'family100_' + m.chat 6 | if (id in this.game) { 7 | this.reply(m.chat, 'Masih ada kuis yang belum terjawab di chat ini', this.game[id].msg) 8 | throw false 9 | } 10 | let res = await fetch(global.API('xteam', '/game/family100', {}, 'APIKEY')) 11 | if (!res.ok) throw await res.text() 12 | let json = await res.json() 13 | if (!json.status) throw json 14 | let caption = ` 15 | *Soal:* ${json.soal} 16 | 17 | Terdapat *${json.jawaban.length}* jawaban${json.jawaban.find(v => v.includes(' ')) ? ` 18 | (beberapa jawaban terdapat spasi) 19 | `: ''} 20 | 21 | +${winScore} XP tiap jawaban benar 22 | `.trim() 23 | this.game[id] = { 24 | id, 25 | msg: await m.reply(caption), 26 | ...json, 27 | terjawab: Array.from(json.jawaban, () => false), 28 | winScore, 29 | } 30 | } 31 | handler.help = ['family100'] 32 | handler.tags = ['game'] 33 | handler.command = /^family100$/i 34 | 35 | module.exports = handler -------------------------------------------------------------------------------- /plugins/game-math_ans.js: -------------------------------------------------------------------------------- 1 | let handler = m => m 2 | handler.before = async function (m) { 3 | if (!/^-?[0-9]+(\.[0-9]+)?$/.test(m.text)) return !0 4 | let id = m.chat 5 | if (!m.quoted || m.quoted.sender != this.user.jid || !/^Berapa hasil dari/i.test(m.quoted.text)) return !0 6 | this.math = this.math ? this.math : {} 7 | if (!(id in this.math)) return m.reply('Soal itu telah berakhir') 8 | if (m.quoted.id == this.math[id][0].id) { 9 | let math = JSON.parse(JSON.stringify(this.math[id][1])) 10 | if (m.text == math.result) { 11 | global.db.data.users[m.sender].exp += math.bonus 12 | clearTimeout(this.math[id][3]) 13 | delete this.math[id] 14 | m.reply(`*Jawaban Benar!*\n+${math.bonus} XP`) 15 | } else { 16 | if (--this.math[id][2] == 0) { 17 | clearTimeout(this.math[id][3]) 18 | delete this.math[id] 19 | m.reply(`*Kesempatan habis!*\nJawaban: *${math.result}*`) 20 | } else m.reply(`*Jawaban Salah!*\nMasih ada ${this.math[id][2]} kesempatan`) 21 | } 22 | } 23 | return !0 24 | } 25 | 26 | module.exports = handler 27 | -------------------------------------------------------------------------------- /plugins/game-susunkata_hint.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.susunkata = conn.susunkata ? conn.susunkata : {} 3 | let id = m.chat 4 | if (!(id in conn.susunkata)) throw false 5 | let json = conn.susunkata[id][1] 6 | let ans = json.jawaban.trim() 7 | let clue = ans.replace(/[AIUEOaiueo]/g, '_') 8 | conn.reply(m.chat, '```' + clue + '```\nBalas soalnya, bukan pesan ini', conn.susunkata[id][0]) 9 | } 10 | handler.command = /^suka$/i 11 | handler.limit = true 12 | module.exports = handler 13 | -------------------------------------------------------------------------------- /plugins/game-tebakbendera_hint.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.tebakbendera = conn.tebakbendera ? conn.tebakbendera : {} 3 | let id = m.chat 4 | if (!(id in conn.tebakbendera)) throw false 5 | let json = conn.tebakbendera[id][1] 6 | m.reply('```' + json.name.replace(/[bcdfghjklmnpqrstvwxyz]/g, '_') + '```\nBalas soalnya Bukan Pesan ini_-') 7 | } 8 | handler.command = /^tebe$/i 9 | handler.limit = true 10 | module.exports = handler 11 | -------------------------------------------------------------------------------- /plugins/game-tebakkimia_hint.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.tebakkimia = conn.tebakkimia ? conn.tebakkimia : {} 3 | let id = m.chat 4 | if (!(id in conn.tebakkimia)) throw false 5 | let json = conn.tebakkimia[id][1] 6 | conn.reply(m.chat, '```' + json.bantuan + '```\nBalas soalnya, bukan pesan ini!', conn.tebakkimia[id][0]) 7 | } 8 | handler.command = /^teki$/i 9 | 10 | handler.limit = 1 11 | 12 | module.exports = handler -------------------------------------------------------------------------------- /plugins/game-tebaklagu_hint.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.tebaklagu = conn.tebaklagu ? conn.tebaklagu : {} 3 | let id = m.chat 4 | if (!(id in conn.tebaklagu)) throw false 5 | let json = conn.tebaklagu[id][1] 6 | let nya = json.judul 7 | let nyanya = nya.replace(/[bcdfghjklmnpqrstvwxyz]/g, '_') 8 | m.reply('```' + nyanya + '```') 9 | } 10 | handler.command = /^cek$/i 11 | handler.limit = true 12 | module.exports = handler -------------------------------------------------------------------------------- /plugins/game-tekateki_ans.js: -------------------------------------------------------------------------------- 1 | const similarity = require('similarity') 2 | const threshold = 0.72 3 | 4 | let handler = m => m 5 | 6 | handler.before = async function (m) { 7 | let id = m.chat 8 | if (!m.quoted || !m.quoted.fromMe || !m.quoted.isBaileys || !/Ketik.*tete/i.test(m.quoted.contentText)) return !0 9 | this.tekateki = this.tekateki ? this.tekateki : {} 10 | if (!(id in this.tekateki)) return m.reply('Teka Teki telah berakhir') 11 | if (m.quoted.id == this.tekateki[id][0].id) { 12 | let json = JSON.parse(JSON.stringify(this.tekateki[id][1])) 13 | if (['.tete', 'Bantuan', ''].includes(m.text)) return !0 14 | if (m.text.toLowerCase() == json.jawaban.toLowerCase().trim()) { 15 | db.data.users[m.sender].exp += this.tekateki[id][2] 16 | await this.sendBut(m.chat, benar + ` +${this.tekateki[id][2]} XP`, wm, 'Teka Teki', '.tekateki', m) 17 | clearTimeout(this.tekateki[id][3]) 18 | delete this.tekateki[id] 19 | } else if (similarity(m.text.toLowerCase(), json.jawaban.toLowerCase().trim()) >= threshold) m.reply(dikit) 20 | else m.reply(salah) 21 | } 22 | return !0 23 | } 24 | 25 | module.exports = handler -------------------------------------------------------------------------------- /plugins/game-tekateki_hint.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.tekateki = conn.tekateki ? conn.tekateki : {} 3 | let id = m.chat 4 | if (!(id in conn.tekateki)) throw 0 5 | let json = conn.tekateki[id][1] 6 | conn.reply(m.chat, '```' + json.bantuan + '```\nBalas soalnya, bukan pesan ini!', conn.tekateki[id][0]) 7 | } 8 | handler.command = /^tete$/i 9 | 10 | handler.limit = 1 11 | 12 | module.exports = handler -------------------------------------------------------------------------------- /plugins/getbio.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text, command }) => { 2 | try { 3 | let who 4 | if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted.sender 5 | else who = m.quoted.sender ? m.quoted.sender : m.sender 6 | let bio = await conn.fetchStatus(who) 7 | m.reply(bio.status) 8 | } catch { 9 | if (text) throw `Bio Private!!` 10 | else try { 11 | let who = m.quoted ? m.quoted.sender : m.sender 12 | let bio = await conn.fetchStatus(who) 13 | m.reply(bio.status) 14 | } catch { 15 | throw `BIO PRIVATE!` 16 | } 17 | } 18 | } 19 | handler.help = ['getbio <@tag/etiqueta>'] 20 | handler.tags = ['fun'] 21 | handler.command = /^(getb?io)$/i 22 | 23 | module.exports = handler -------------------------------------------------------------------------------- /plugins/getplugins.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs') 2 | const path = require('path') 3 | let handler = async (m, { usedPrefix, command, text }) => { 4 | if (!text) throw `where is the text?\n\nexempel: ${usedPrefix + command} menu` 5 | const filename = path.join(__dirname, `./${text}${!/\.js$/i.test(text) ? '.js' : ''}`) 6 | const listPlugins = fs.readdirSync(path.join(__dirname)).map(v => v.replace(/\.js/, '')) 7 | if (!fs.existsSync(filename)) return m.reply(` 8 | '${filename}' not found! 9 | ${listPlugins.map(v => v).join('\n').trim()} 10 | `.trim()) 11 | m.reply(fs.readFileSync(filename, 'utf8')) 12 | } 13 | handler.help = ['getplugin'].map(v => v + ' [filename]') 14 | handler.tags = ['owner'] 15 | handler.command = /^(getplugin|get ?plugin|gp)$/i 16 | 17 | handler.rowner = true 18 | 19 | module.exports = handler 20 | -------------------------------------------------------------------------------- /plugins/gimage.js: -------------------------------------------------------------------------------- 1 | let { promisify } = require('util') 2 | let _gis = require('g-i-s') 3 | let gis = promisify(_gis) 4 | 5 | let handler = async (m, { conn, args, text }) => { 6 | if (!text) return m.reply('Cari apa?') 7 | let results = await gis(text) || [] 8 | let { url, width, height } = pickRandom(results) || {} 9 | if (!url) return m.reply('Not Found') 10 | conn.sendButtonImg(m.chat, url, ` 11 | *── 「 GOOGLE IMAGE 」 ──* 12 | 13 | ${text} 14 | ➸ *width*: ${width} 15 | ➸ *height*: ${height} 16 | `.trim(), wm, 'NEXT', `.gimage ${text}`, m) 17 | } 18 | handler.help = ['image ', 'gimage ', 'googleimage '] 19 | handler.tags = ['internet'] 20 | handler.command = /^(gimage|googleimage|image)$/i 21 | 22 | module.exports = handler 23 | 24 | function pickRandom(arr) { 25 | return arr[Math.floor(Math.random() * arr.length)] 26 | } 27 | -------------------------------------------------------------------------------- /plugins/gitclone.js: -------------------------------------------------------------------------------- 1 | let regex = /(?:https|git)(?::\/\/|@)github\.com[\/:]([^\/:]+)\/(.+)/i 2 | let fetch = require('node-fetch') 3 | let handler = async (m, { args, usedPrefix, command }) => { 4 | 5 | if (!args[0]) throw 'link githubnya mana? contoh: https://github.com/Bintang73/botst4rz' 6 | 7 | if (!regex.test(args[0])) throw 'link salah!' 8 | 9 | let [, user, repo] = args[0].match(regex) || [] 10 | repo = repo.replace(/.git$/, '') 11 | let url = `https://api.github.com/repos/${user}/${repo}/zipball` 12 | let filename = (await fetch(url, {method: 'HEAD'})).headers.get('content-disposition').match(/attachment; filename=(.*)/)[1] 13 | // 'attachment; filename=Nurutomo-wabot-aq-v2.5.1-251-g836cccd.zip' 14 | m.reply(`*Mohon tunggu, sedang mengirim repository..*`) 15 | conn.sendFile(m.chat, url, filename, null, m) 16 | 17 | } 18 | handler.help = ['gitclone '] 19 | handler.tags = ['github'] 20 | handler.command = /gitclone/i 21 | 22 | handler.limit = true 23 | 24 | module.exports = handler 25 | -------------------------------------------------------------------------------- /plugins/githubdl.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { args, usedPrefix, command }) => { 2 | 3 | if (!args[0]) throw 'usernamenya mana om' 4 | if (!args[1]) throw 'repo nya mana?' 5 | if (!args[2]) throw 'masukkan nama branch' 6 | let url = `https://github.com/${args[0]}/${args[1]}/archive/refs/heads/${args[2]}.zip` 7 | //F 8 | m.reply(`compressing data to file zip*`) 9 | conn.sendFile( m.chat, url, `${args[1]} ${args[2]}.zip`, null, m) 10 | 11 | } 12 | handler.help = ['githubdl'] 13 | handler.tags = ['github'] 14 | handler.command = /githubdl/i 15 | 16 | handler.limit = true 17 | 18 | module.exports = handler 19 | -------------------------------------------------------------------------------- /plugins/glowing.js: -------------------------------------------------------------------------------- 1 | const uploadImage = require('../lib/uploadImage') 2 | let handler = async (m, { conn, text }) => { 3 | let teks = text ? text : m.quoted && m.quoted.text ? m.quoted.text : m.text 4 | await conn.sendFile(m.chat, global.API('xteam', '/videomaker/glowing', { text: teks }, 'APIKEY'), 'glowing.mp4', teks, m) 5 | } 6 | handler.help = ['glowing'].map((v) => v + " ") 7 | handler.tags = ['fun'] 8 | 9 | handler.command = /^glowing$/i 10 | 11 | module.exports = handler 12 | -------------------------------------------------------------------------------- /plugins/google.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let googleIt = require('google-it') 3 | let handler = async (m, { conn, command, args }) => { 4 | let full = /f$/i.test(command) 5 | let text = args.join` ` 6 | if (!text) return conn.reply(m.chat, 'Tidak ada teks untuk di cari', m) 7 | let url = 'https://google.com/search?q=' + encodeURIComponent(text) 8 | let search = await googleIt({ query: text }) 9 | let msg = search.map(({ title, link, snippet}) => { 10 | return `*${title}*\n_${link}_\n_${snippet}_` 11 | }).join`\n\n` 12 | try { 13 | let ss = await (await fetch(global.API('nrtm', '/api/ssweb', { delay: 1000, url, full }))).buffer() 14 | if (ss.includes('html')) throw '' 15 | await conn.sendFile(m.chat, ss, 'screenshot.png', url + '\n\n' + msg, m) 16 | } catch (e) { 17 | m.reply(msg) 18 | } 19 | } 20 | handler.help = ['google', 'googlef'].map(v => v + ' ') 21 | handler.tags = ['internet'] 22 | handler.command = /^googlef?$/i 23 | handler.fail = null 24 | 25 | module.exports = handler 26 | -------------------------------------------------------------------------------- /plugins/group-_antilink.js: -------------------------------------------------------------------------------- 1 | let handler = m => m 2 | 3 | let linkRegex = /chat.whatsapp.com\/([0-9A-Za-z]{20,24})/i 4 | 5 | handler.before = function (m, { user, isAdmin, isBotAdmin }) { 6 | 7 | if (m.isBaileys && m.fromMe) throw false 8 | let chat = global.DATABASE.data.chats[m.chat] 9 | let name = this.getName(m.sender) 10 | let link = linkRegex.exec(m.text) 11 | 12 | if (chat.antiLink && link && !isAdmin && !m.isBaileys && m.isGroup && !m.fromMe) { 13 | if (user.isAdmin || user.isSuperAdmin) return m.reply ('Karena Kamu Adalah Admin Group Bot tidak akan Kick Kamu') 14 | m.reply(`*「 ANTILINK DETECTOR 」*\nLink Gorup Terdeteksi Maaf *${name}* Kamu Telah Mengirim Link Group Kamu Akan Saya Kick :(`) 15 | this.groupParticipantsUpdate(m.chat, [m.sender], 'remove') 16 | } 17 | } 18 | handler.group = true 19 | 20 | module.exports = handler 21 | -------------------------------------------------------------------------------- /plugins/group-getpp: -------------------------------------------------------------------------------- 1 | let fetch = require("node-fetch") 2 | let handler = async(m, { conn, command }) => { 3 | try { 4 | let who 5 | if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted.sender 6 | else who = m.quoted.sender ? m.quoted.sender : m.sender 7 | let pp = await conn.profilePictureUrl(who, 'image').catch((_) => "https://telegra.ph/file/24fa902ead26340f3df2c.png") 8 | conn.sendFile(m.chat, pp, "nih bang.png", 'nih bang', m, {jpegThumbnail: await(await fetch(pp)).buffer()}) 9 | } catch { 10 | let sender = m.sender 11 | let pp = await conn.profilePictureUrl(sender, 'image').catch((_) => "https://telegra.ph/file/24fa902ead26340f3df2c.png") 12 | conn.sendFile(m.chat, pp, 'ppsad.png', "PP LUWH BANH", m, {jpegThumbnail: await(await fetch(pp)).buffer()}) 13 | } 14 | } 15 | handler.help = ['getpp <@tag/reply>'] 16 | handler.tags = ['fun'] 17 | handler.command = /^(getpp|getpic?t?|pp)$/i 18 | 19 | module.exports = handler 20 | -------------------------------------------------------------------------------- /plugins/group-hidetag.js: -------------------------------------------------------------------------------- 1 | let handler = async(m, { conn, text, participants }) => { 2 | const fkontak = { 3 | "key": { 4 | "participants":"0@s.whatsapp.net", 5 | "remoteJid": "status@broadcast", 6 | "fromMe": false, 7 | "id": "Halo" 8 | }, 9 | "message": { 10 | "contactMessage": { 11 | "vcard": `BEGIN:VCARD\nVERSION:3.0\nN:Sy;Bot;;;\nFN:y\nitem1.TEL;waid=${m.sender.split('@')[0]}:${m.sender.split('@')[0]}\nitem1.X-ABLabel:Ponsel\nEND:VCARD` 12 | } 13 | }, 14 | "participant": "0@s.whatsapp.net" 15 | } 16 | conn.sendMessage(m.chat, { text: text, mentions: participants.map(a => a.id) }, {quoted:fkontak}) 17 | } 18 | handler.help = ['hidetag '] 19 | handler.tags = ['group'] 20 | handler.command = /^(hidetag)$/i 21 | 22 | handler.group = true 23 | handler.admin = true 24 | 25 | module.exports = handler 26 | -------------------------------------------------------------------------------- /plugins/group-kick.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text, participants }) => { 2 | if(!text && !m.quoted) throw 'masukkan nomor yang ingin di tambahkan' 3 | 4 | let users = m.quoted ? m.quoted.sender : text.replace(/[^0-9]/g, '')+'@s.whatsapp.net' 5 | 6 | await conn.groupParticipantsUpdate(m.chat, [users], 'remove').catch(console.log) 7 | } 8 | handler.help = ['kick','-'].map(v => v + ' @user') 9 | handler.tags = ['group'] 10 | handler.command = /^(kick|-)$/i 11 | 12 | handler.owner = false 13 | handler.group = true 14 | handler.botAdmin = true 15 | 16 | 17 | module.exports = handler 18 | -------------------------------------------------------------------------------- /plugins/group-linkgc.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, args }) => { 2 | let group = args[0] ? args[0] : m.chat 3 | if (/^[0-9]{5,16}-[0-9]+@g\.us$/.test(args[0])) group = args[0] 4 | if (!/^[0-9]{5,16}-[0-9]+@g\.us$/.test(group)) throw 'Hanya bisa dibuka di grup' 5 | let groupMetadata = await conn.groupMetadata(group) 6 | let groupName = m.isGroup ? groupMetadata.subject : '' 7 | if (!groupMetadata) throw 'groupMetadata is undefined' 8 | if (!'participants' in groupMetadata) throw 'participants is not defined' 9 | let me = groupMetadata.participants.find(user => user.jid === conn.user.jid) 10 | m.reply('*Link Group ini*\n\nhttps://chat.whatsapp.com/' + await conn.groupInviteCode(group)) 11 | } 12 | handler.help = ['linkgroup'] 13 | handler.tags = ['group'] 14 | handler.command = /^link(gro?up)?$/i 15 | handler.owner = false 16 | handler.mods = false 17 | handler.premium = false 18 | handler.group = false 19 | handler.private = false 20 | 21 | handler.admin = false 22 | handler.botAdmin = true 23 | 24 | handler.fail = null 25 | 26 | module.exports = handler 27 | -------------------------------------------------------------------------------- /plugins/group-setppgc.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix, command }) => { 2 | let q = m.quoted ? m.quoted : m 3 | let mime = (q.msg || q).mimetype || '' 4 | if (/image/.test(mime)) { 5 | let img = await q.download() 6 | if (!img) throw 'Gambar tidak ditemukan' 7 | await conn.updateProfilePicture(m.chat, img) 8 | } else throw `kirim/balas gambar dengan caption *${usedPrefix + command}*` 9 | } 10 | handler.help = ['setpp'] 11 | handler.tags = ['group'] 12 | 13 | handler.command = /^setpp$/i 14 | 15 | handler.group = true 16 | handler.admin = true 17 | handler.botAdmin = true 18 | 19 | module.exports = handler -------------------------------------------------------------------------------- /plugins/group-setting.js: -------------------------------------------------------------------------------- 1 | let { groupSettingUpdate } = require('@adiwajshing/baileys') 2 | let handler = async (m, { conn, args, usedPrefix, command }) => { 3 | let isClose = { 4 | 'open': 'not_announcement', 5 | 'buka': 'not_announcement', 6 | 'on': 'not_announcement', 7 | '1': 'not_announcement', 8 | 'close': 'announcement', 9 | 'tutup': 'announcement', 10 | 'off': 'announcement', 11 | '0': 'announcement', 12 | }[(args[0] || '')] 13 | if (isClose === undefined) { 14 | await conn.send2But(m.chat, ` 15 | contoh penggunaan: 16 | *${usedPrefix + command} tutup* 17 | *${usedPrefix + command} buka* 18 | `.trim(), 'setting grup', 'Buka', '.grup 1', 'Tutup', '.grup 0') 19 | throw false 20 | } 21 | await conn.groupSettingUpdate(m.chat, isClose) 22 | } 23 | handler.help = ['grup '] 24 | handler.tags = ['group'] 25 | handler.command = /^(grup|group)$/i 26 | handler.owner = false 27 | handler.mods = false 28 | handler.premium = false 29 | handler.group = true 30 | handler.private = false 31 | handler.admin = true 32 | handler.botAdmin = true 33 | handler.fail = null 34 | handler.exp = 0 35 | module.exports = handler 36 | -------------------------------------------------------------------------------- /plugins/group-setwelcome.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text, isROwner, isOwner }) => { 2 | if (text) { 3 | if (isROwner) global.conn.welcome = text 4 | else if (isOwner) conn.welcome = text 5 | global.db.data.chats[m.chat].sWelcome = text 6 | m.reply('Welcome berhasil diatur\n@user (Mention)\n@subject (Judul Grup)\n@desc (Deskripsi Grup)') 7 | } else throw 'Teksnya mana?' 8 | } 9 | handler.help = ['setwelcome '] 10 | handler.tags = ['owner', 'group'] 11 | 12 | handler.command = /^setwelcome$/i 13 | module.exports = handler 14 | 15 | -------------------------------------------------------------------------------- /plugins/group-sticktag.js: -------------------------------------------------------------------------------- 1 | /* 2 | by hyzer 3 | cuman tes doang 🥶🙏 4 | */ 5 | let { webp2png } = require('../lib/webp2mp4') 6 | let handler = async (m, { conn, usedPrefix, command }) => { 7 | if (!m.quoted) throw 'reply stikernya...' 8 | let mime = m.quoted.mimetype || '' 9 | if (!/webp/.test(mime)) throw 'stiker invalid' 10 | let media = await m.quoted.download() 11 | let out = Buffer.alloc(0) 12 | if (/webp/.test(mime)) { 13 | out = await webp2png(media) 14 | } 15 | conn.sendImageAsSticker(m.chat, out, m, { packname: "sticker by", author: "Hyzer" }, mentions: participants.map(a => a.id)) 16 | }) 17 | } 18 | handler.help = ['stickertag', 'sticktag'] 19 | handler.tags = ['tag'] 20 | handler.command = /^(stickertag|sticktag)$/i 21 | module.exports = handler 22 | -------------------------------------------------------------------------------- /plugins/group-tagall.js: -------------------------------------------------------------------------------- 1 | let handler = async(m, { conn, text, participants }) => { 2 | let teks = `⋙ *Pesan dari Admin Group* ⋘ 3 | \n *${text ? text : 'Nothing'}*\n\n` 4 | for (let mem of participants) { 5 | teks += ` @${mem.id.split('@')[0]}\n` 6 | } 7 | teks += `\nbukan elyas` 8 | conn.sendMessage(m.chat, { text: teks, mentions: participants.map(a => a.id) }, ) 9 | } 10 | handler.help = ['tagall '] 11 | handler.tags = ['group'] 12 | handler.command = /^(tagall)$/i 13 | 14 | handler.group = true 15 | handler.admin = true 16 | 17 | module.exports = handler 18 | -------------------------------------------------------------------------------- /plugins/group-tagme.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | 3 | let orang = (await conn.groupMetadata(m.chat)).participants.map(u => u.jid) 4 | let tag = `@${m.sender.replace(/@.+/, '')}` 5 | let mentionedJid = [m.sender] 6 | 7 | conn.reply(m.chat, tag, m, { contextInfo: { mentionedJid }}) 8 | } 9 | handler.help = ['tagme'] 10 | handler.tags = ['group'] 11 | handler.command = /^tagme$/i 12 | 13 | handler.group = true 14 | 15 | module.exports = handler 16 | -------------------------------------------------------------------------------- /plugins/group-totalPesan.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | let id = m.chat 3 | let mCount = {} 4 | let totalM = 0 5 | await conn.loadAllMessages(id, m => { 6 | let user = m.key.fromMe ? conn.user.jid : m.participant ? m.participant : id.includes('g.us') ? '' : id 7 | if (!user) return 8 | if (user in mCount) mCount[user]++ 9 | else mCount[user] = 1 10 | totalM++ 11 | }, 1000) 12 | let sorted = Object.entries(mCount).sort((a, b) => b[1] - a[1]) 13 | let pesan = sorted.map(v => `${v[0].replace(/(\d+)@.+/, '@$1')}: ${v[1]} pesan`).join('\n') 14 | m.reply(`${totalM} pesan terakhir\n${pesan}`) 15 | } 16 | handler.help = ['totalpesan'] 17 | handler.tags = ['group'] 18 | handler.command = /^total(message|msg|pesan)$/i 19 | 20 | module.exports = handler -------------------------------------------------------------------------------- /plugins/hlh.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { command, text }) => { 2 | let ter = command[1].toLowerCase() 3 | let txt = m.quoted ? m.quoted.text ? m.quoted.text : text ? text : m.text : text ? text : m.text 4 | await m.reply(txt.replace(/[aiueo]/g, ter).replace(/[AIUEO]/g, ter.toUpperCase())) 5 | } 6 | handler.help = [...'aiueo'].map(v => `h${v}l${v}h `) 7 | handler.tags = ['tools'] 8 | handler.command = /^h([aiueo])l\1h/i 9 | 10 | module.exports = handler 11 | -------------------------------------------------------------------------------- /plugins/idfreefire.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { args }) => { 3 | let res = await fetch(global.API('xteam', '/search/freefire', {id: args[0]}, 'APIKEY')) 4 | let json = await res.json() 5 | if (json.result.name) m.reply(`\nNama : ${json.result.name}\nID : ${args[0]}\n`) 6 | else throw `Error!\n\n${json}` 7 | } 8 | handler.help = ['epep'].map(v => v + ' ') 9 | handler.tags = ['internet'] 10 | handler.command = /^(freefire|epep)$/i 11 | 12 | module.exports = handler 13 | -------------------------------------------------------------------------------- /plugins/igstory.js: -------------------------------------------------------------------------------- 1 | const { igstory } = require('../lib/scrape') 2 | 3 | let handler = async (m, { conn, args, usedPrefix, command }) => { 4 | 5 | if (!args[0]) throw `Pengunaan:\n${usedPrefix + command} \n\nContoh:\n\n${usedPrefix + command} stikerinbot` 6 | if (args[0].startsWith('http') || args[0].startsWith('@')) throw `username salah` 7 | 8 | igstory(args[0]).then(async res => { 9 | let igs = JSON.stringify(res) 10 | let json = JSON.parse(igs) 11 | await m.reply(global.wait) 12 | for (let { downloadUrl, type } of json) 13 | conn.sendFile(m.chat, downloadUrl, 'ig' + (type == 'image' ? '.jpg' : '.mp4'), '*Nih*', m) 14 | 15 | }) 16 | 17 | } 18 | handler.help = ['igstory'].map(v => v + ' ') 19 | handler.tags = ['downloader'] 20 | handler.command = /^(igs(tory)?)$/i 21 | 22 | module.exports = handler 23 | -------------------------------------------------------------------------------- /plugins/image-axolt.js: -------------------------------------------------------------------------------- 1 | let fetch = require("node-fetch"); 2 | let handler = async (m, { conn, args }) => { 3 | let res = await fetch("https://axoltlapi.herokuapp.com"); 4 | if (!res.ok) throw await `${res.status} ${res.statusText}`; 5 | let json = await res.json(); 6 | if (json.url) conn.sendFile(m.chat, json.url, "axoltl.jpg", json.facts, m); 7 | else throw eror 8 | }; 9 | handler.help = ["axoltl"]; 10 | handler.tags = ["image"]; 11 | 12 | handler.command = /^(axoltl)$/i; 13 | 14 | module.exports = handler; 15 | -------------------------------------------------------------------------------- /plugins/img-cyberspace.js: -------------------------------------------------------------------------------- 1 | let fetch = require("node-fetch") 2 | let handler = async (m, usedPrefix, command) => { 3 | let g = await fetch(`https://raw.githubusercontent.com/inirey/RESTAPI/master/data/CyberSpace.json`) 4 | let f = await g.json() 5 | let a = f[Math.floor(Math.random() * f.length)] 6 | conn.sendButtonImg(m.chat, a, "Random Image", "cyberspace", 'Next', ".cyberspace", m) 7 | } 8 | handler.help = ['cyberspace'] 9 | handler.tags = ['image'] 10 | handler.command = /^cyberspace$/i 11 | 12 | module.exports = handler -------------------------------------------------------------------------------- /plugins/img-deidara.js: -------------------------------------------------------------------------------- 1 | let fetch = require("node-fetch") 2 | let handler = async (m, usedPrefix, command) => { 3 | let g = await fetch(`https://raw.githubusercontent.com/inirey/RESTAPI/master/data/deidara.json`) 4 | let f = await g.json() 5 | let a = f[Math.floor(Math.random() * f.length)] 6 | conn.sendButtonImg(m.chat, a, "Random Image", "deidara", 'Next', ".deidara", m) 7 | } 8 | handler.help = ['deidara'] 9 | handler.tags = ['image'] 10 | handler.command = /^deidara$/i 11 | 12 | module.exports = handler -------------------------------------------------------------------------------- /plugins/img-gamewallpaper.js: -------------------------------------------------------------------------------- 1 | let fetch = require("node-fetch") 2 | let handler = async (m, usedPrefix, command) => { 3 | let g = await fetch(`https://raw.githubusercontent.com/inirey/RESTAPI/master/data/GameWallp.json`) 4 | let f = await g.json() 5 | let a = f[Math.floor(Math.random() * f.length)] 6 | conn.sendButtonImg(m.chat, a, "Random Image", "Wallpaper Game", 'Next', ".wpgame", m) 7 | } 8 | handler.help = ['wpgame'] 9 | handler.tags = ['image'] 10 | handler.command = /^wpgame$/i 11 | 12 | module.exports = handler -------------------------------------------------------------------------------- /plugins/img-gunung.js: -------------------------------------------------------------------------------- 1 | let fetch = require("node-fetch") 2 | let handler = async (m, usedPrefix, command) => { 3 | let g = await fetch(`https://raw.githubusercontent.com/inirey/RESTAPI/master/data/Mountain.json`) 4 | let f = await g.json() 5 | let a = f[Math.floor(Math.random() * f.length)] 6 | conn.sendButtonImg(m.chat, a, "Random Image", "gunung", 'Next', ".gunung", m) 7 | } 8 | handler.help = ['gunung'] 9 | handler.tags = ['image'] 10 | handler.command = /^gunung$/i 11 | 12 | module.exports = handler -------------------------------------------------------------------------------- /plugins/img-hacker.js: -------------------------------------------------------------------------------- 1 | let fetch = require("node-fetch") 2 | let handler = async (m, usedPrefix, command) => { 3 | let g = await fetch(`https://raw.githubusercontent.com/inirey/RESTAPI/master/data/hekel.json`) 4 | let f = await g.json() 5 | let a = f[Math.floor(Math.random() * f.length)] 6 | conn.sendButtonImg(m.chat, a, "Random Image", "Hengkel", 'Next', ".hacker", m) 7 | } 8 | handler.help = ['hacker'] 9 | handler.tags = ['image'] 10 | handler.command = /^hacker$/i 11 | 12 | module.exports = handler -------------------------------------------------------------------------------- /plugins/img-islamic.js: -------------------------------------------------------------------------------- 1 | let fetch = require("node-fetch") 2 | let handler = async (m, usedPrefix, command) => { 3 | let g = await fetch(`https://raw.githubusercontent.com/inirey/RESTAPI/master/data/Islamic.json`) 4 | let f = await g.json() 5 | let a = f[Math.floor(Math.random() * f.length)] 6 | conn.sendButtonImg(m.chat, a, "Random Image", "islamic", 'Next', ".islamic", m) 7 | } 8 | handler.help = ['islamic'] 9 | handler.tags = ['image'] 10 | handler.command = /^islamic$/i 11 | 12 | module.exports = handler -------------------------------------------------------------------------------- /plugins/img-technology.js: -------------------------------------------------------------------------------- 1 | let fetch = require("node-fetch") 2 | let handler = async (m, usedPrefix, command) => { 3 | let g = await fetch(`https://raw.githubusercontent.com/inirey/RESTAPI/master/data/Technology.json`) 4 | let f = await g.json() 5 | let a = f[Math.floor(Math.random() * f.length)] 6 | conn.sendButtonImg(m.chat, a, "Random Image", "Wallpaper technology", 'Next', ".wptechnology", m) 7 | } 8 | handler.help = [wptechnogy'] 9 | handler.tags = ['image'] 10 | handler.command = /^wptechnology$/i 11 | 12 | module.exports = handler -------------------------------------------------------------------------------- /plugins/img-wpaesthetic.js: -------------------------------------------------------------------------------- 1 | let fetch = require("node-fetch") 2 | let handler = async (m, usedPrefix, command) => { 3 | let g = await fetch(`https://raw.githubusercontent.com/inirey/RESTAPI/master/data/aesthetic.json`) 4 | let f = await g.json() 5 | let a = f[Math.floor(Math.random() * f.length)] 6 | conn.sendButtonImg(m.chat, a, "Random Image", "Wallpaper Aesthetic", 'Next', ".wpaesthetic", m) 7 | } 8 | handler.help = ['wpaesthetic'] 9 | handler.tags = ['image'] 10 | handler.command = /^wpaesthetic$/i 11 | 12 | module.exports = handler -------------------------------------------------------------------------------- /plugins/img-wpprogramming.js: -------------------------------------------------------------------------------- 1 | let fetch = require("node-fetch") 2 | let handler = async (m, usedPrefix, command) => { 3 | let g = await fetch(`https://raw.githubusercontent.com/inirey/RESTAPI/master/data/Programming.json`) 4 | let f = await g.json() 5 | let a = f[Math.floor(Math.random() * f.length)] 6 | conn.sendButtonImg(m.chat, a, "Random Image", "Wallpaper Programming", 'Next', ".wpprograming", m) 7 | } 8 | handler.help = ['wpprograming'] 9 | handler.tags = ['image'] 10 | handler.command = /^wpprogramming$/i 11 | 12 | module.exports = handler -------------------------------------------------------------------------------- /plugins/internet-cuttly.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { text }) => { 3 | if (!text) throw 'url/link nya mana?' 4 | let res = await fetch(`http://hadi-api.herokuapp.com/api/cuttly?url=${text}`) 5 | let json = await res.json() 6 | if (json.status) m.reply(json.result) 7 | else throw 'Link Invalid!\nPeriksa url anda' 8 | } 9 | handler.help = ['cuttly'].map(v => v + ' ') 10 | handler.tags = ['shortlink'] 11 | handler.command = /^cuttly$/i 12 | 13 | module.exports = handler 14 | -------------------------------------------------------------------------------- /plugins/internet-fakta.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn }) => { 3 | ddd = await fetch('https://recoders-area.caliph.repl.co/api/fakta?apikey='+APIKeys["https://recoders-area.caliph.repl.co"]) 4 | f = await ddd.json() 5 | let anu =` 6 | ────〔 *Fakta Unik* 〕──── 7 | 8 | ${f.result} 9 | ` 10 | conn.sendBut(m.chat, anu, wm2, 'Fakta Unik', '.faktaunik', m) 11 | } 12 | handler.help = ['fakta unik'] 13 | handler.tags = ['internet'] 14 | handler.command = /^(fakta|faktaunik)$/i 15 | handler.owner = false 16 | handler.mods = false 17 | handler.premium = false 18 | handler.group = false 19 | handler.private = false 20 | 21 | handler.admin = false 22 | handler.botAdmin = false 23 | 24 | handler.fail = null 25 | 26 | module.exports = handler 27 | -------------------------------------------------------------------------------- /plugins/internet-kopi.js: -------------------------------------------------------------------------------- 1 | let fetch = require("node-fetch"); 2 | let handler = async (m, { conn, args }) => { 3 | let res = await fetch( 4 | global.API("https://coffee.alexflipnote.dev/", "/random.json") 5 | ); 6 | if (!res.ok) throw await `${res.status} ${res.statusText}`; 7 | let json = await res.json(); 8 | if (json.file) conn.sendButtonImg(m.chat, json.file, "kopi", wm, 'Lagi', '.kopi', m); 9 | else throw json; 10 | }; 11 | handler.help = ["coffee", "kopi"]; 12 | handler.tags = ["internet"]; 13 | 14 | handler.command = /^(kopi|coffee)$/i; 15 | 16 | module.exports = handler; 17 | -------------------------------------------------------------------------------- /plugins/internet-kuncigitar.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { text }) => { 3 | if (!text) throw 'judul lagunya apa?' 4 | let res = await fetch(`http://hadi-api.herokuapp.com/api/chord?q=${text}`) 5 | let json = await res.json() 6 | if (json.status) m.reply(json.result) 7 | else throw 'lagu tidak ditemukan' 8 | } 9 | handler.help = ['kuncigitar'].map(v => v + ' ') 10 | handler.tags = ['internet'] 11 | handler.command = /^kuncigitar$/i 12 | 13 | module.exports = handler 14 | -------------------------------------------------------------------------------- /plugins/internet-wallpapercave.js: -------------------------------------------------------------------------------- 1 | let handler = async(m, { conn, text }) => { 2 | if (!text) return conn.reply(m.chat, 'Silahkan masukan query', m) 3 | let tetete = `https://api.zacros.my.id/search/wallpapercave?query=${text}` 4 | conn.sendButtonImg(m.chat, tetete, `Hasil Dari ${text}`, wm2, 'Thanks', 'thanks', m) 5 | } 6 | handler.help = ['wallpapercave'].map(v => v + ' ') 7 | handler.tags = ['anime', 'internet'] 8 | handler.command = /^(wallpapercave)$/i 9 | 10 | module.exports = handler -------------------------------------------------------------------------------- /plugins/jadian.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, participants, command, usedPrefix }) => { 2 | let member = participants.map(u => u.id) 3 | let orang 4 | if (/ku/i.test(command)) orang = m.sender 5 | else orang = member[Math.floor(Math.random() * member.length)] 6 | let jodoh = member[Math.floor(Math.random() * member.length)] 7 | let jawab = `@${orang.replace(/@.+/, '')} ❤️ @${jodoh.replace(/@.+/, '')}`.trim() 8 | let mentionedJid = [orang, jodoh] 9 | await conn.sendBut(m.chat, jawab, '', `${command}`, usedPrefix + command, m, { contextInfo: { mentionedJid } }) 10 | } 11 | handler.help = ['jodohin', 'jodohku', 'jadian'] 12 | handler.tags = ['fun'] 13 | handler.command = /^jodoh(in|ku)|jadian$/i 14 | handler.group = true 15 | handler.limit = false 16 | 17 | module.exports = handler 18 | -------------------------------------------------------------------------------- /plugins/jadwalbola.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, command }) => { 3 | let res = await fetch('https://x-restapi.herokuapp.com/api/jadwal-bola?apikey=BETA') 4 | if (res.status != 200) throw await res.text() 5 | let json = await res.json() 6 | if (!json.status) throw json 7 | conn.sendUrlButton(m.chat,` *JADWAL BOLA* 8 | 9 | _*${json.data[0].kickoff}*_ 10 | Waktu: _${json.data[0].waktu}_ 11 | Channel tv: ${json.data[0].channel} 12 | 13 | _*${json.data[1].kickoff}*_ 14 | Waktu: _${json.data[1].waktu}_ 15 | Channel tv: ${json.data[1].channel} 16 | 17 | _*${json.data[2].kickoff}*_ 18 | Waktu: _${json.data[2].waktu}_ 19 | Channel tv: ${json.data[2].channel} 20 | 21 | _*${json.data[3].kickoff}*_ 22 | Waktu: _${json.data[3].waktu}_ 23 | Channel tv: ${json.data[3].channel} 24 | 25 | _*${json.data[4].kickoff}*_ 26 | Waktu: _${json.data[4].waktu}_ 27 | Channel tv: ${json.data[4].channel}, wm, '📍instagram', instagram, 'ok', 'ok', m) 28 | `) 29 | 30 | } 31 | handler.help = ['jadwalbola'] 32 | handler.tags = ['internet'] 33 | handler.command = /^jadwalbola$/i 34 | 35 | 36 | module.exports = handler 37 | -------------------------------------------------------------------------------- /plugins/join.js: -------------------------------------------------------------------------------- 1 | let linkRegex = /chat.whatsapp.com\/([0-9A-Za-z]{20,24})/i 2 | 3 | let handler = async (m, { conn, text }) => { 4 | let [_, code] = text.match(linkRegex) || [] 5 | if (!code) throw 'Link invalid' 6 | let res = await conn.groupAcceptInvite(code) 7 | m.reply(`Berhasil join grup ${res.gid}`) 8 | } 9 | handler.help = ['join '] 10 | handler.tags = ['premium'] 11 | 12 | handler.command = /^join$/i 13 | 14 | handler.premium = true 15 | 16 | module.exports = handler 17 | -------------------------------------------------------------------------------- /plugins/kapankah.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | conn.reply(m.chat, `Kayaknya ${Math.floor(Math.random() * 100)} ${pickRandom(['detik', 'menit', 'jam', 'hari', 'minggu', 'bulan', 'tahun', 'abad'])} lagi ... 3 | `.trim(), m, m.mentionedJid ? { 4 | contextInfo: { 5 | mentionedJid: m.mentionedJid 6 | } 7 | } : {}) 8 | } 9 | handler.help = ['', 'kah'].map(v => 'kapan' + v + ' ?') 10 | handler.tags = ['kerang'] 11 | handler.customPrefix = /(\?$)/ 12 | handler.command = /^kapan(kah)?$/i 13 | handler.owner = false 14 | handler.mods = false 15 | handler.premium = false 16 | handler.group = false 17 | handler.private = false 18 | 19 | handler.admin = false 20 | handler.botAdmin = false 21 | 22 | handler.fail = null 23 | 24 | module.exports = handler 25 | 26 | function pickRandom(list) { 27 | return list[Math.floor(Math.random() * list.length)] 28 | } 29 | 30 | -------------------------------------------------------------------------------- /plugins/kodepos.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, text, usedPrefix, command }) => { 3 | if (!text) throw `*Perintah ini untuk mencari kode pos berdasarkan kota/pencarian*\n\ncontoh:\n${usedPrefix + command} Lamongan` 4 | let res = await fetch(global.API('xteam', '/kodepos', { q: text }, 'APIKEY')) 5 | if (res.status != 200) throw await res.text() 6 | let json = await res.json() 7 | if (!json.status) throw json 8 | let mes = json.result.map((v, i) => `${i + 1}. Provinsi: ${v.province}\nKota: ${v.city}\nKecamatan: ${v.subdistrict}\nPerkotaan: ${v.urban}\nKode Pos: ${v.postalcode}`).join('\n\n') 9 | m.reply(mes) 10 | } 11 | handler.help = ['kodepos '] 12 | handler.tags = ['tools'] 13 | handler.command = /^kodepos$/i 14 | 15 | handler.limit = true 16 | 17 | module.exports = handler 18 | -------------------------------------------------------------------------------- /plugins/kopi.js: -------------------------------------------------------------------------------- 1 | let fetch = require("node-fetch"); 2 | let handler = async (m, { conn, args }) => { 3 | let res = await fetch( 4 | global.API("https://coffee.alexflipnote.dev/", "/random.json") 5 | ); 6 | if (!res.ok) throw await `${res.status} ${res.statusText}`; 7 | let json = await res.json(); 8 | if (json.file) conn.sendButtonImg(m.chat, json.file, "kopi", wm, 'Lagi', '.kopi', m); 9 | else throw json; 10 | }; 11 | handler.help = ["coffee", "kopi"]; 12 | handler.tags = ["internet"]; 13 | 14 | handler.command = /^(kopi|coffee)$/i; 15 | 16 | module.exports = handler; 17 | -------------------------------------------------------------------------------- /plugins/levelup.js: -------------------------------------------------------------------------------- 1 | let levelling = require('../lib/levelling') 2 | 3 | let handler = m => { 4 | let user = global.db.data.users[m.sender] 5 | if (!levelling.canLevelUp(user.level, user.exp, global.multiplier)) { 6 | let { min, xp, max } = levelling.xpRange(user.level, global.multiplier) 7 | throw ` 8 | Level *${user.level} (${user.exp - min}/${xp})* 9 | Kurang *${max - user.exp}* lagi! 10 | `.trim() 11 | } 12 | let before = user.level * 1 13 | while (levelling.canLevelUp(user.level, user.exp, global.multiplier)) user.level++ 14 | if (before !== user.level) { 15 | m.reply(` 16 | Selamat, anda telah naik level! 17 | *${before}* -> *${user.level}* 18 | gunakan *.my* untuk mengecek 19 | `.trim()) 20 | } 21 | } 22 | 23 | handler.help = ['levelup'] 24 | handler.tags = ['xp'] 25 | 26 | handler.command = /^level(|up)$/i 27 | 28 | module.exports = handler 29 | -------------------------------------------------------------------------------- /plugins/limit.js: -------------------------------------------------------------------------------- 1 | let handler = async (m) => { 2 | let who 3 | if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.sender 4 | else who = m.sender 5 | conn.sendBut(m.chat, `${global.db.data.users[who].limit} Limit Tersisaಥ_ಥ`, wm, 'BELI', '.buy', m) 6 | } 7 | handler.help = ['limit [@user]'] 8 | handler.tags = ['xp'] 9 | handler.command = /^(limit)$/i 10 | module.exports = handler 11 | -------------------------------------------------------------------------------- /plugins/linkgroup.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, args }) => { 2 | let group = args[0] ? args[0] : m.chat 3 | if (/^[0-9]{5,16}-[0-9]+@g\.us$/.test(args[0])) group = args[0] 4 | if (!/^[0-9]{5,16}-[0-9]+@g\.us$/.test(group)) throw 'Hanya bisa dibuka di grup' 5 | let groupMetadata = await conn.groupMetadata(group) 6 | let groupName = m.isGroup ? groupMetadata.subject : '' 7 | if (!groupMetadata) throw 'groupMetadata is undefined' 8 | if (!'participants' in groupMetadata) throw 'participants is not defined' 9 | let me = groupMetadata.participants.find(user => user.jid === conn.user.jid) 10 | m.reply('*Link Group ini*\n\nhttps://chat.whatsapp.com/' + await conn.groupInviteCode(group)) 11 | } 12 | handler.help = ['linkgroup'] 13 | handler.tags = ['group'] 14 | handler.command = /^link(gro?up)?$/i 15 | handler.owner = false 16 | handler.mods = false 17 | handler.premium = false 18 | handler.group = false 19 | handler.private = false 20 | 21 | handler.admin = false 22 | handler.botAdmin = true 23 | 24 | handler.fail = null 25 | 26 | module.exports = handler 27 | -------------------------------------------------------------------------------- /plugins/lirik.js: -------------------------------------------------------------------------------- 1 | let finder = require('lyrics-finder') 2 | let handler = async (m, { text, usedPrefix, command }) => { 3 | if (!text) throw `uhm.. cari apa?\n\ncontoh:\n${usedPrefix + command} dandelions` 4 | let res = await finder("", text) 5 | if (!res) throw eror 6 | 7 | m.reply(res) 8 | } 9 | handler.help = ['lirik'].map(v => v + ' ') 10 | handler.tags = ['internet'] 11 | handler.command = /^(lirik|lyrics?)$/i 12 | 13 | module.exports = handler -------------------------------------------------------------------------------- /plugins/listprem.js: -------------------------------------------------------------------------------- 1 | /* 2 | Silahkan Di Pakek 3 | Tapi Bantu Rapihin :v 4 | Buatan: Miaweers 5 | */ 6 | 7 | let handler = async (m, { conn }) => { 8 | let prem = global.prems.map(v => v.replace(/[^0-9]/g, '') + '@s.whatsapp.net').filter(v => v != conn.user.jid) 9 | conn.reply(m.chat, `「 List Premium 」` + `\n` + prem.map(v => '- @' + v.replace(/@.+/, '')).join`\n`, m, { contextInfo: { mentionedJid: prem } }) 10 | } 11 | handler.help = ['premlist'] 12 | handler.tags = ['owner'] 13 | handler.command = /^(listprem|premlist)$/i 14 | handler.owner = true 15 | 16 | module.exports = handler 17 | -------------------------------------------------------------------------------- /plugins/logokaneki.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, args }) => { 3 | response = args.join(' ') 4 | if (!args[0]) throw 'Masukkan text\nContoh: .logokaneki elyas' 5 | m.reply('*Wait ngab*\nProses...') 6 | let res = `https://caliphapi.com/api/kaneki?text=${response}&apikey=${caliphapi}` 7 | conn.sendFile(m.chat, res, 'kaneki.jpg', `Sudah jadi`, m, false) 8 | } 9 | handler.help = ['logokaneki'].map(v => v + ' ') 10 | handler.tags = ['maker'] 11 | handler.command = /^(logokaneki)$/i 12 | handler.limit = true 13 | handler.register = false 14 | 15 | module.exports = handler 16 | -------------------------------------------------------------------------------- /plugins/logololi.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, args }) => { 3 | response = args.join(' ').split('|') 4 | if (!args[0]) throw 'Masukkan Parameter' 5 | m.reply('*Wait Ngab*\nProses...') 6 | let res = `https://caliphapi.com/api/lolimaker?text=${response[0]}&text2=elyas&apikey=${caliphapi}` 7 | conn.sendFile(m.chat, res, 'lolilogo.jpg', `Sudah Jadi`, m, false) 8 | } 9 | handler.help = ['logololi'].map(v => v + ' ') 10 | handler.tags = ['maker'] 11 | handler.command = /^(logololi)$/i 12 | 13 | module.exports = handler 14 | -------------------------------------------------------------------------------- /plugins/logoneko.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, args }) => { 3 | response = args.join(' ').split('|') 4 | if (!args[0]) throw 'Masukkan text1|text2\n\ncontoh: .logoneko elyas|ganzz' 5 | m.reply('*Wait ngab*\nProses...') 6 | let res = `https://caliphapi.com/api/girlneko?text=${response[0]}&text2=${response[1]}&apikey=${caliphapi}` 7 | conn.sendFile(m.chat, res, 'nekologo.jpg', `Sudah jadi`, m, false) 8 | } 9 | handler.help = ['logoneko'].map(v => v + ' ') 10 | handler.tags = ['maker'] 11 | handler.command = /^(logoneko)$/i 12 | 13 | module.exports = handler 14 | -------------------------------------------------------------------------------- /plugins/logorem.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, args }) => { 3 | response = args.join(' ') 4 | if (!args[0]) throw 'Masukkan Text' 5 | m.reply('*Wait ngab*\nProses...') 6 | let res = `https://caliphapi.com/api/rem?text=${response}&text2=Elyas&apikey=${caliphapi}` 7 | conn.sendFile(m.chat, res, 'kaneki.jpg', `Sudah jadi`, m, false) 8 | } 9 | handler.help = ['logorem'].map(v => v + ' ') 10 | handler.tags = ['maker'] 11 | handler.command = /^(logorem)$/i 12 | handler.limit = true 13 | handler.register = false 14 | 15 | module.exports = handler 16 | -------------------------------------------------------------------------------- /plugins/maker-biden.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, text }) => { 3 | if (!text) throw `Masukkan teks 4 | 5 | *Contoh:* 6 | .biden elyas ganteng banget` 7 | m.reply('*Wait ngab*\nProses...') 8 | let res = `https://api.popcat.xyz/biden?text=${text}` 9 | conn.sendFile(m.chat, res, 'biden.jpg', `Sudah jadi`, m, false) 10 | } 11 | handler.help = ['biden'].map(v => v + ' ') 12 | handler.tags = ['maker'] 13 | handler.command = /^(biden)$/i 14 | handler.limit = true 15 | handler.register = false 16 | 17 | module.exports = handler -------------------------------------------------------------------------------- /plugins/maker-drake.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | let [atas, bawah] = text.split`|` 3 | if (!text) throw `*CONTOH PENGGUNAAN:* 4 | 5 | .drake elyas burik|elyas ganteng` 6 | if (!bawah) throw `*CONTOH PENGGUNAAN:* 7 | 8 | .drake elyas burik|elyas ganteng 9 | (anda belum memasukkan teks ke 2)` 10 | await m.reply("*_TUNGGU SEBENTAR..._*") 11 | await conn.sendFile(m.chat, `https://api.popcat.xyz/drake?text1=${atas}&text2=${bawah}`, 'file.jpg', 'Nih', m) 12 | } 13 | handler.help = ['dreake |'] 14 | handler.tags = ['maker'] 15 | handler.command = /^drake$/i 16 | 17 | handler.limit = true 18 | 19 | module.exports = handler -------------------------------------------------------------------------------- /plugins/maker-hornycard.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | let who = m.quoted ? m.quoted.sender : m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender 3 | conn.sendFile(m.chat, global.API('https://some-random-api.ml', '/canvas/horny', { 4 | avatar: await conn.profilePictureUrl(who, 'image').catch(_ => 'https://telegra.ph/file/24fa902ead26340f3df2c.png'), 5 | }), 'hornycard.png', '*Nih Kartunya Kak*', m) 6 | } 7 | handler.help = ['hornycard', 'hornylicense'] 8 | handler.tags = ['maker', 'serti'] 9 | handler.command = /^(horny(card|license))$/i 10 | 11 | module.exports = handler -------------------------------------------------------------------------------- /plugins/maker-iklan.js: -------------------------------------------------------------------------------- 1 | const uploadImage = require('../lib/uploadImage') 2 | const { MessageType } = require('@adiwajshing/baileys') 3 | 4 | let handler = async (m, { conn, text }) => { 5 | let q = m.quoted ? m.quoted : m 6 | let mime = (q.msg || q).mimetype || '' 7 | if (!mime) throw 'Reply atau send image dengan caption .iklan' 8 | if (!/image\/(jpe?g|png)/.test(mime)) throw `Mime ${mime} tidak support` 9 | await m.reply('*_TUNGGU SEBENTAR..._*') 10 | let image = await q.download() 11 | let gambar = await uploadImage(image) 12 | let elyas = `https://api.popcat.xyz/ad?image=${gambar}` 13 | await conn.sendFile(m.chat, elyas, 'iklan.jpg', 'Sudah jadi', m) 14 | } 15 | handler.help = ['iklan (reply gambar)'] 16 | handler.tags = ['maker'] 17 | handler.command = /^iklan$/i 18 | handler.owner = false 19 | handler.mods = false 20 | handler.premium = false 21 | handler.group = false 22 | handler.private = false 23 | 24 | handler.admin = false 25 | handler.botAdmin = false 26 | 27 | handler.fail = null 28 | 29 | module.exports = handler -------------------------------------------------------------------------------- /plugins/maker-notif.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, text }) => { 3 | if (!text) throw `Masukkan teks 4 | 5 | *Contoh:* 6 | .notif elyas ganteng banget` 7 | if (text.length > 39) throw 'text Terlalu Panjang!\nMAX 39 HURUF!' 8 | m.reply('*Wait ngab*\nProses...') 9 | let res = `https://api.popcat.xyz/alert?text=${text}` 10 | conn.sendFile(m.chat, res, 'kaneki.jpg', `Sudah jadi`, m, false) 11 | } 12 | handler.help = ['notif', 'notifikasi'].map(v => v + ' ') 13 | handler.tags = ['maker'] 14 | handler.command = /^(notif|notifikasi)$/i 15 | handler.limit = true 16 | handler.register = false 17 | 18 | module.exports = handler -------------------------------------------------------------------------------- /plugins/maker-sertifikat.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text, command }) => { 2 | if (!text) throw 'Masukkan Teks.....................' 3 | let hyz = `https://api.lolhuman.xyz/api/${command}?apikey=Papah-Chan&name=${text}` 4 | conn.sendButtonImg(m.chat, hyz, succes, wm3, 'Thanks', 'thanks', m) 5 | } 6 | handler.help = ['toloserti', 'fuckboy', 'fuckgirl', 'bucinserti', 'goodboy', 'goodgirl', 'badboy', 'badgirl'].map(v => v + ' ') 7 | handler.tags = ['serti'] 8 | handler.command = /^(toloserti|fuckboy|fuckgirl|bucinserti|goodboy|goodgirl|badboy|badgirl)$/i 9 | 10 | module.exports = handler 11 | -------------------------------------------------------------------------------- /plugins/maker-trigger.js: -------------------------------------------------------------------------------- 1 | //kok cewe gw jadi cuek yahh? daritadi pagi gw chat ga dibales cuman di read doang :) 2 | 3 | const { sticker } = require('../lib/sticker') 4 | const { MessageType } = require('@adiwajshing/baileys') 5 | let handler = async (m, { conn }) => { 6 | let who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender 7 | let marah = global.API('https://some-random-api.ml', '/canvas/triggered', { 8 | avatar: await conn.getProfilePicture(who).catch(_ => 'https://telegra.ph/file/24fa902ead26340f3df2c.png'), 9 | }) 10 | let stiker = await sticker(null, marah, global.packname, global.author) 11 | if (stiker) return conn.sendFile(m.chat, stiker, m, false, { asSticker: true }); 12 | else throw stiker.toString() 13 | } 14 | 15 | 16 | handler.help = ['trigger'] 17 | handler.tags = ['maker'] 18 | 19 | handler.command = /^(trigger)$/i 20 | 21 | module.exports = handler 22 | -------------------------------------------------------------------------------- /plugins/maker-uncover.js: -------------------------------------------------------------------------------- 1 | const uploadImage = require('../lib/uploadImage') 2 | const { MessageType } = require('@adiwajshing/baileys') 3 | 4 | let handler = async (m, { conn, text }) => { 5 | let q = m.quoted ? m.quoted : m 6 | let mime = (q.msg || q).mimetype || '' 7 | if (!mime) throw 'Reply atau send image dengan caption .uncover' 8 | if (!/image\/(jpe?g|png)/.test(mime)) throw `Mime ${mime} tidak support` 9 | await m.reply('*_TUNGGU SEBENTAR..._*') 10 | let image = await q.download() 11 | let gambar = await uploadImage(image) 12 | let elyas = `https://api.popcat.xyz/uncover?image=${gambar}` 13 | await conn.sendFile(m.chat, elyas, 'uncover.jpg', 'Sudah jadi', m) 14 | } 15 | handler.help = ['uncover (reply gambar)'] 16 | handler.tags = ['maker'] 17 | handler.command = /^uncover$/i 18 | handler.owner = false 19 | handler.mods = false 20 | handler.premium = false 21 | handler.group = false 22 | handler.private = false 23 | 24 | handler.admin = false 25 | handler.botAdmin = false 26 | 27 | handler.fail = null 28 | 29 | module.exports = handler -------------------------------------------------------------------------------- /plugins/mediafire.js: -------------------------------------------------------------------------------- 1 | const { mediafireDl } = require('../lib/mediafire.js') 2 | let handler = async (m, { conn, text, args, isPrems, isOwner, usedPrefix, command }) => { 3 | if (!text) return m.reply(`Kirim perintah ${usedPrefix + command} *link mediafire*`) 4 | if (!args[0].includes('mediafire.com')) return m.reply(error.linkmf) 5 | let mdjon = args.join(' ') 6 | res = await mediafireDl(mdjon) 7 | result = `「 *MEDIAFIRE DOWNLOAD* 」 8 | *Data Berhasil Didapatkan!* 9 | 🆔 Nama : ${res[0].nama} 10 | 📊 Ukuran : ${res[0].size} 11 | 💬 Link : ${res[0].link} 12 | _Tunggu Proses Upload Media_` 13 | m.reply(result) 14 | //await sleep(100) 15 | conn.sendFile(m.chat, res[0].link, res[0].nama, null, m, false, {asDocument:true, mimetype:res[0].mime}) 16 | } 17 | handler.command = ['mediafire'] 18 | 19 | module.exports = handler 20 | -------------------------------------------------------------------------------- /plugins/megumin.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn }) => { 3 | let res = await fetch('https://api.waifu.pics/sfw/megumin') 4 | if (!res.ok) throw 'Error Website sedang down' 5 | let json = await res.json() 6 | if (!json.url) throw 'Error!' 7 | conn.sendFile(m.chat, json.url, '', 'istri gweh', m, 0, { thumbnail: Buffer.alloc(0) }) 8 | } 9 | handler.help = ['megumin'] 10 | handler.tags = ['anime'] 11 | handler.command = /^(megumin)$/i 12 | 13 | handler.limit = true 14 | 15 | module.exports = handler 16 | -------------------------------------------------------------------------------- /plugins/meme.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn }) => { 3 | let url = global.API('xteam', '/randomimage/meme', {}, 'APIKEY') 4 | await conn.sendButtonImg(m.chat, url, '*MEME*', wm, 'NEXT', '.meme',m, 0, { thumbnail: await (await fetch(url)).buffer() }) 5 | } 6 | handler.help = ['meme'] 7 | handler.tags = ['fun'] 8 | handler.command = /^(meme)$/i 9 | handler.limit = false 10 | 11 | module.exports = handler 12 | -------------------------------------------------------------------------------- /plugins/my.js: -------------------------------------------------------------------------------- 1 | let fs = require('fs') 2 | let fetch = require('node-fetch') 3 | let handler = async (m, { conn }) => { 4 | let who 5 | if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.sender 6 | else who = m.sender 7 | let name = conn.getName(m.sender) 8 | let user = global.db.data.users[who] 9 | let anu = ` 10 | ╭───❑ 「 BANK 🏦 」 ❑──── 11 | │ 12 | │ ✇ 👤Name: ${user.name} 13 | │ ✇ 🎟️Limit: ${user.limit} 14 | │ ✇ 💵Money: ${user.money} 15 | │ ✇ 🌟Exp: ${user.exp} 16 | │ ✇ 〽️Level: ${user.level} 17 | │ ✇ 🏅Role: ${user.role} 18 | ╰❑` 19 | 20 | await m.reply(anu) 21 | } 22 | handler.help = ['bank', 'dompet', 'dompet @user'] 23 | handler.tags = ['xp', 'rpg'] 24 | handler.command = /^(my|dompet)$/i 25 | 26 | module.exports = handler 27 | -------------------------------------------------------------------------------- /plugins/news.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, command }) => { 3 | let res = await fetch(global.API('xteam', '/news/' + command, {}, 'APIKEY')) 4 | if (res.status != 200) throw await res.text() 5 | let json = await res.json() 6 | if (!json.status) throw json 7 | conn.sendFile(m.chat, json.thumb, 'news.jpeg', ` 8 | _*${json.judul}*_ 9 | _${json.tanggal}_\n 10 | ${json.artikel}\n\n 11 | ${json.url} 12 | `.trim(),m) 13 | } 14 | handler.help = ['kompas', 'liputan6', 'tribun', 'jalantikus'] 15 | handler.tags = ['internet'] 16 | handler.command = /^kompas|liputan6|tribun|jalantikus$/i 17 | 18 | 19 | module.exports = handler 20 | -------------------------------------------------------------------------------- /plugins/nickml.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { args, usedPrefix, command }) => { 2 | 3 | if (!args[0]) throw `masukkan id dan server akun mobile legend 4 | 5 | contoh 6 | *.nickml 123456789 98765*` 7 | if (!args[1]) throw `masukkan id dan server akun mobile legend 8 | 9 | contoh 10 | *.nickml 123456789 98765*` 11 | try { 12 | let url = await require("hikki-me").game.nickNameMobileLegends(`${args[0]}`, `${args[1]}`) 13 | m.reply(` *AKUN DITEMUKAN!* 14 | NAMA= ${url.userName}`) 15 | } catch(e) { throw "Akun tidak di temukan" 16 | } 17 | } 18 | handler.help = ['nickml |'] 19 | handler.tags = ['tools'] 20 | handler.command = /nickml/i 21 | 22 | handler.limit = true 23 | 24 | module.exports = handler 25 | -------------------------------------------------------------------------------- /plugins/oadmin.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, isAdmin }) => { 2 | if (m.fromMe) throw 'Nggk' 3 | if (isAdmin) throw 'Padahal udah jadi admin' 4 | await conn.groupParticipantsUpdate(m.chat, [m.sender], "promote") 5 | } 6 | handler.command = /^admin.$/i 7 | handler.rowner = true 8 | handler.botAdmin = true 9 | module.exports = handler 10 | -------------------------------------------------------------------------------- /plugins/ocr.js: -------------------------------------------------------------------------------- 1 | const uploadImage = require('../lib/uploadImage') 2 | const ocrapi = require("ocr-space-api-wrapper") 3 | const { MessageType } = require('@adiwajshing/baileys') 4 | let handler = async (m, { conn, text }) => { 5 | let q = m.quoted ? m.quoted : m 6 | let mime = (q.msg || q).mimetype || '' 7 | if (!mime) throw `balas gambar dengan perintah .ocr` 8 | if (!/image\/(jpe?g|png)/.test(mime)) throw `_*jenis ${mime} tidak didukung!*_` 9 | let img = await q.download() 10 | let url = await uploadImage(img) 11 | let hasil = await ocrapi.ocrSpace(url) 12 | m.reply(hasil.ParsedResults[0].ParsedText) 13 | } 14 | 15 | handler.help = ['ocr', 'totext'] 16 | handler.tags = ['tools'] 17 | handler.command = /^(ocr|totext)$/i 18 | 19 | module.exports = handler 20 | -------------------------------------------------------------------------------- /plugins/owner-setbotbio.js: -------------------------------------------------------------------------------- 1 | // NurNurz 2 | let handler = async (m, { conn, text }) => { 3 | if (!text) throw `Masukan Text Untuk Bio Baru Bot` 4 | try { 5 | await conn.setStatus(text) 6 | conn.reply(m.chat, 'Sukses Mengganti Bio Bot', m) 7 | } catch (e) { 8 | console.log(e) 9 | throw `Error` 10 | } 11 | } 12 | handler.help = ['setbotbio'] 13 | handler.tags = ['owner'] 14 | handler.command = /^(setbotbio)$/i 15 | handler.owner = true 16 | 17 | module.exports = handler 18 | -------------------------------------------------------------------------------- /plugins/owner-setprefixbot.js: -------------------------------------------------------------------------------- 1 | let handler = async(m, { conn, text }) => { 2 | if (!text) throw `No Prefix detected...` 3 | global.prefix = new RegExp('^[' + (text || global.opts['prefix'] || '‎xzXZ/i!#$%+£¢€¥^°=¶∆×÷π√✓©®:;?&.\\-').replace(/[|\\{}()[\]^$+*?.\-\^]/g, '\\$&') + ']') 4 | await m.reply(`Prefix telah ditukar ke *${text}*`) 5 | // conn.fakeReply(m.chat, 'Prefix telah ditukar ke *${text}*', '0@s.whatsapp.net', 'Set Prefix Bot') 6 | } 7 | handler.help = ['setprefix'].map(v => v + ' [prefix]') 8 | handler.tags = ['owner'] 9 | handler.command = /^(setprefix)$/i 10 | 11 | handler.rowner = true 12 | 13 | module.exports = handler 14 | -------------------------------------------------------------------------------- /plugins/owner-titlein.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, args, text}) => { 2 | let who = m.mentionedJid[0] || conn.parseMention(text[0]) || (text[0].replace(/[@.+-]/g, '').replace(' ', '') + '@s.whatsapp.net') || '' 3 | if (m.isGroup) who = m.mentionedJid[0] 4 | let [orang, nama] = text.split`| ` 5 | if (!who) throw 'Tag salah satu lah' 6 | if (!orang) throw 'Tag salah satu lah' 7 | if (!nama) throw 'namanya apa?\n kalo mau kasi nama pake\n#titlein @mention|nama' 8 | if (!(who in global.db.data.users)) throw 'User tidak terdaftar dalam DATABASE!!' 9 | let user = global.db.data.users[who] 10 | user.title = nama 11 | m.reply(` 12 | ${conn.getName(who)} sekarang mendapatkan title\n${nama} 13 | `) 14 | } 15 | handler.help = ['titlein [nama]'] 16 | handler.tags = ['owner'] 17 | handler.mods = true 18 | handler.command = /^titlein$/i 19 | 20 | module.exports = handler 21 | -------------------------------------------------------------------------------- /plugins/pinterest.js: -------------------------------------------------------------------------------- 1 | let xfar = require('xfarr-api') 2 | let handler = async (m, { usedPrefix, command, conn, args }) => { 3 | if (!args[0]) throw `Gunakan format: ${usedPrefix}${command} naruto` 4 | xfar.Pinterest(args[0]).then(async data => { 5 | let pincpt = `🔗Link media : ${data.url}` 6 | conn.sendFile(m.chat,data.url, 'pin.jpg', pincpt,m)}) 7 | } 8 | handler.help = ['pinterest '] 9 | handler.tags = ['internet'] 10 | handler.command = /^(pinterest)$/i 11 | 12 | module.exports = handler 13 | -------------------------------------------------------------------------------- /plugins/ppcp.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, command }) => { 3 | let res = await fetch('https://raw.githubusercontent.com/iamriz7/kopel_/main/kopel.json') 4 | 5 | let e = await conn.acak(await res.json()) 6 | conn.sendFile(m.chat, e.male ,'pria.jpg', 'Cowo', m) 7 | await conn.sendButtonImg(m.chat, e.female, 'Cewe', wm, 'Next', '.ppcp', m) 8 | 9 | } 10 | handler.help = ['ppcp'] 11 | handler.tags = ['internet'] 12 | handler.command = /^ppcp$/i 13 | module.exports = handler 14 | -------------------------------------------------------------------------------- /plugins/purba.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, {text}) => { 2 | let teks = text ? text : m.quoted && m.quoted.text ? m.quoted.text : m.text 3 | m.reply(teks.replace(/[aiueo]/gi, '$&ve')) 4 | } 5 | handler.help = ['purba '] 6 | handler.tags = ['fun'] 7 | handler.command = /^(purba)$/i 8 | 9 | 10 | module.exports = handler 11 | -------------------------------------------------------------------------------- /plugins/qr.js: -------------------------------------------------------------------------------- 1 | let qrcode = require("qrcode") 2 | 3 | let handler = async (m, { conn, text }) => { 4 | if (!text) throw 'teksnya mana?' 5 | conn.sendFile(m.chat, await qrcode.toDataURL(text.slice(0, 2048), { scale: 8 }), 'qrcode.png', '', m) 6 | } 7 | handler.help = ['', 'code'].map(v => 'qr' + v + ' ') 8 | handler.tags = ['tools'] 9 | handler.command = /^qr(code)?$/i 10 | handler.admin = false 11 | handler.botAdmin = false 12 | 13 | handler.fail = null 14 | 15 | module.exports = handler 16 | -------------------------------------------------------------------------------- /plugins/quotemaker.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | let [teks, wm] = text.split`|` 3 | await conn.sendFile(m.chat, global.API('xteam', '/quotemaker', { text: teks, wm: wm ? wm : conn.getName(m.sender) }, 'APIKEY'), 'file.jpg', 'Nih', m) 4 | } 5 | handler.help = ['quote'].map(v => v + 'maker |') 6 | handler.tags = ['maker'] 7 | handler.command = /^quotemaker$/i 8 | 9 | handler.limit = true 10 | 11 | module.exports = handler 12 | -------------------------------------------------------------------------------- /plugins/quotesanim.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios"); 2 | let handler = async(m, { conn, text }) => { 3 | 4 | axios.get(`https://videfikri.com/api/anime/randomquoteanime`).then ((res) => { 5 | let hasil = `${res.data.result.quotes}` 6 | 7 | conn.reply(m.chat, hasil, m) 8 | }) 9 | } 10 | handler.help = ['quoteanime'] 11 | handler.tags = ['anime'] 12 | handler.command = /^(quoteanime)$/i 13 | handler.owner = false 14 | handler.mods = false 15 | handler.premium = false 16 | handler.group = false 17 | handler.private = false 18 | 19 | handler.admin = false 20 | handler.botAdmin = false 21 | 22 | handler.fail = null 23 | handler.exp = 0 24 | handler.limit = false 25 | 26 | module.exports = handler -------------------------------------------------------------------------------- /plugins/quran.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios"); 2 | let handler = async(m, { conn, text }) => { 3 | axios.get(`https://api.banghasan.com/quran/format/json/acak`).then ((res) => { 4 | let sr = /{(.*?)}/gi; 5 | let hs = res.data.acak.id.ayat; 6 | let ket = `${hs}`.replace(sr, ''); 7 | let hasil = `[${ket}] ${res.data.acak.ar.teks}\n\n${res.data.acak.id.teks}\n\n(QS.${res.data.surat.nama}, Ayat ${ket})` 8 | 9 | > const buttons = [ 10 | {buttonId: 'MENU', buttonText: {displayText: '.menu'}, type: 1}, 11 | ] 12 | 13 | const buttonMessage = { 14 | text: hasil, 15 | footer: wm, 16 | buttons: buttons, 17 | headerType: 1 18 | } 19 | 20 | const sendMsg = await conn.sendMessage(m.chat, buttonMessage) 21 | }) 22 | } 23 | handler.help = ['ayatquran'] 24 | handler.tags = ['quotes'] 25 | handler.command = /^(ayatquran)$/i 26 | handler.owner = false 27 | handler.mods = false 28 | handler.premium = false 29 | handler.group = false 30 | handler.private = false 31 | 32 | handler.admin = false 33 | handler.botAdmin = false 34 | 35 | handler.fail = null 36 | handler.exp = 0 37 | handler.limit = false 38 | 39 | module.exports = handler -------------------------------------------------------------------------------- /plugins/random_pikachu.js: -------------------------------------------------------------------------------- 1 | //created by Scooppt 2 | let fetch = require('node-fetch') 3 | 4 | let handler = async (m, { conn, text }) => { 5 | try { 6 | let res = await fetch('https://some-random-api.ml/img/pikachu') 7 | let json = await res.json() 8 | if (json.status) throw json 9 | let caption = ` 10 | Pikacu 11 | `.trim() 12 | conn.sendImageAsSticker(m.chat , json.link, m, {packname: global.packname, author: global.author}) 13 | } catch (e) { 14 | console.log(e) 15 | throw '_*Error!*_' 16 | } 17 | } 18 | 19 | handler.help = ['pikachu'] 20 | handler.tags = ['image'] 21 | handler.command = /^pikachu$/i 22 | 23 | handler.fail = null 24 | 25 | module.exports = handler 26 | -------------------------------------------------------------------------------- /plugins/react.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | if (!text) throw `Kirim atau Balas pesan dengan caption *.react * 3 | 4 | *Contoh:* 5 | .react 🗿` 6 | if (text.length > 2) throw 'Hanya bisa Menggunakan 1 emote🗿🙏' 7 | const reactionMessage = { react : {text:`${text}`, key : m.quoted ? m.quoted.fakeObj.key : m.key}} 8 | conn.sendMessage(m.chat, reactionMessage) 9 | } 10 | handler.help = ['react '] 11 | handler.tags = ['tools'] 12 | handler.command = /^(react)$/i 13 | 14 | module.exports = handler 15 | -------------------------------------------------------------------------------- /plugins/readmore.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | let [ l, r ] = text.split`|` 3 | if (!l) l = '' 4 | if (!r) r = '' 5 | conn.reply(m.chat, l + readMore + r, m) 6 | } 7 | handler.help = ['readmore'].map(v => v + ' |') 8 | handler.tags = ['tools'] 9 | handler.command = /^(spoiler|hidetext|readmore|selengkapnya)$/i 10 | handler.owner = false 11 | handler.mods = false 12 | handler.premium = false 13 | handler.group = false 14 | handler.private = false 15 | 16 | handler.admin = false 17 | handler.botAdmin = false 18 | 19 | handler.fail = null 20 | 21 | module.exports = handler 22 | 23 | const more = String.fromCharCode(8206) 24 | const readMore = more.repeat(4001) 25 | -------------------------------------------------------------------------------- /plugins/report.js: -------------------------------------------------------------------------------- 1 | let handler = async(m, { conn, text }) => { 2 | if (!text) throw 'Silahkan masukkan laporan' 3 | if (text.length > 300) throw 'Maaf Teks Terlalu Panjang, Maksimal 300 Teks!' 4 | const laporan = `*「 REPORT 」*\nNomor : wa.me/${m.sender.split`@`[0]}\nPesan : ${text}` 5 | for (let jid of global.owner.map(v => v.replace(/[^0-9]/g, '') + '@s.whatsapp.net').filter(v => v != conn.user.jid && v != '6281515860089@s.whatsapp.net')) 6 | m.reply(laporan, jid) 7 | m.reply(laporan, m.sender) // Mwehehehehe 8 | m.reply('✔️Masalah telah di laporkan ke Owner Bot, laporan palsu/main2 tidak akan ditanggapi!') 9 | } 10 | handler.help = ['bug', 'report'].map(v => v + ' ') 11 | handler.tags = ['info'] 12 | handler.command = /^(bug|report)$/i 13 | 14 | module.exports = handler 15 | -------------------------------------------------------------------------------- /plugins/resetprefixbot.js: -------------------------------------------------------------------------------- 1 | let handler = async(m, { conn }) => { 2 | 3 | global.prefix = new RegExp('^[' + (opts['prefix'] || '‎xzXZ/i!#$%+£¢€¥^°=¶∆×÷π√✓©®:;?&.\\-').replace(/[|\\{}()[\]^$+*?.\-\^]/g, '\\$&') + ']') 4 | await m.reply(`Prefix berhasil direset`) 5 | // conn.fakeReply(m.chat, 'Prefix berhasil direset', '0@s.whatsapp.net', 'Reset Prefix') 6 | } 7 | handler.help = ['resetprefix'] 8 | handler.tags = ['owner'] 9 | handler.command = /^(resetprefix)$/i 10 | handler.rowner = true 11 | 12 | module.exports = handler 13 | -------------------------------------------------------------------------------- /plugins/rpg-collect.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | let __timers = (new Date - global.db.data.users[m.sender].lastclaim) 3 | let _timers = (43200000 - __timers) 4 | let timers = clockString(_timers) 5 | let user = global.db.data.users[m.sender] 6 | if (new Date - global.db.data.users[m.sender].lastclaim > 43200000) { 7 | conn.reply(m.chat, `Kamu sudah mengclaim dan mendapatkan *1000* 💵money dan *1* 🥤potion`, m) 8 | user.money += 1000 9 | user.potion += 1 10 | user.lastclaim = new Date * 1 11 | } else conn.reply(m.chat, `silahkan tunggu *${timers}* lagi untuk bisa mengclaim lagi`, m) 12 | } 13 | handler.help = ['collect'] 14 | handler.tags = ['rpg'] 15 | handler.command = /^(collect)$/i 16 | 17 | handler.fail = null 18 | 19 | module.exports = handler 20 | 21 | function clockString(ms) { 22 | let h = Math.floor(ms / 3600000) 23 | let m = Math.floor(ms / 60000) % 60 24 | let s = Math.floor(ms / 1000) % 60 25 | console.log({ms,h,m,s}) 26 | return [h, m, s].map(v => v.toString().padStart(2, 0) ).join(':') 27 | } 28 | -------------------------------------------------------------------------------- /plugins/rpg-nabung.js: -------------------------------------------------------------------------------- 1 | const xppermoney = 1 2 | let handler = async (m, { conn, command, args }) => { 3 | let count = command.replace(/^nabung/i, '') 4 | count = count ? /all/i.test(count) ? Math.floor(global.db.data.users[m.sender].money / xppermoney) : parseInt(count) : args[0] ? parseInt(args[0]) : 1 5 | count = Math.max(1, count) 6 | if (global.db.data.users[m.sender].money >= xppermoney * count) { 7 | global.db.data.users[m.sender].money -= xppermoney * count 8 | global.db.data.users[m.sender].atm += count 9 | conn.reply(m.chat, `-Rp.${xppermoney * count} 💹\n+ ${count} 💳\n\n[ ! ] Succes menabung !`, m) 10 | } else conn.reply(m.chat, `[❗] Uang anda tidak mencukupi untuk menabung ${count} !`, m) 11 | } 12 | handler.help = ['nabung '] 13 | handler.tags = ['rpg'] 14 | handler.command = /^nabung ([0-9]+)|nabung$/i 15 | handler.owner = false 16 | handler.mods = false 17 | handler.premium = false 18 | handler.group = false 19 | handler.private = false 20 | 21 | handler.admin = false 22 | handler.botAdmin = false 23 | 24 | handler.fail = null 25 | handler.exp = 0 26 | 27 | module.exports = handler 28 | -------------------------------------------------------------------------------- /plugins/rpg-narik.js: -------------------------------------------------------------------------------- 1 | const xpperatm = 1 2 | let handler = async (m, { conn, command, args }) => { 3 | let count = command.replace(/^narik|tarik/i, '') 4 | count = count ? /all/i.test(count) ? Math.floor(global.db.data.users[m.sender].atm / xpperatm) : parseInt(count) : args[0] ? parseInt(args[0]) : 1 5 | count = Math.max(1, count) 6 | if (global.db.data.users[m.sender].atm >= xpperatm * count) { 7 | global.db.data.users[m.sender].atm -= xpperatm * count 8 | global.db.data.users[m.sender].money += count 9 | conn.reply(m.chat, `-Rp.${xpperatm * count} 💳\n+Rp.${count} 💹\n\n[ ! ] Succes menarik uang !`, m) 10 | } else conn.reply(m.chat, `[❗] Uang anda tidak mencukupi untuk menarik ${count} !`, m) 11 | } 12 | handler.help = ['narik '] 13 | handler.tags = ['rpg'] 14 | handler.command = /^narik ([0-9]+)|narik|tarik$/i 15 | handler.owner = false 16 | handler.mods = false 17 | handler.premium = false 18 | handler.group = false 19 | handler.private = false 20 | 21 | handler.admin = false 22 | handler.botAdmin = false 23 | 24 | handler.fail = null 25 | handler.exp = 0 26 | 27 | module.exports = handler 28 | -------------------------------------------------------------------------------- /plugins/rpg-nguli.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | if (new Date - global.db.data.users[m.sender].lastnguli > 86400000) { 3 | global.db.data.users[m.sender].limit += 10 4 | m.reply('_Selamat kamu mendapatkan +10 limit_') 5 | global.db.data.users[m.sender].lastnguli = new Date * 1 6 | } else m.reply('Anda sudah mengklaim upah nguli hari ini') 7 | } 8 | handler.help = ['nguli'] 9 | handler.tags = ['rpg'] 10 | handler.command = /^(nguli)$/i 11 | handler.owner = false 12 | handler.mods = false 13 | handler.premium = false 14 | handler.group = false 15 | handler.private = false 16 | 17 | handler.admin = false 18 | handler.botAdmin = false 19 | 20 | handler.fail = null 21 | handler.limit = 0 22 | 23 | module.exports = handler 24 | -------------------------------------------------------------------------------- /plugins/runtime.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | let _uptime = process.uptime() * 1000 3 | let uptime = clockString(_uptime) 4 | 5 | m.reply(` Bot Aktif Selama ${uptime}`) 6 | } 7 | handler.help = ['runtime'] 8 | handler.tags = ['info'] 9 | handler.command = /^(uptime|runtime)$/i 10 | 11 | module.exports = handler 12 | 13 | function clockString(ms) { 14 | let h = isNaN(ms) ? '--' : Math.floor(ms / 3600000) 15 | let m = isNaN(ms) ? '--' : Math.floor(ms / 60000) % 60 16 | let s = isNaN(ms) ? '--' : Math.floor(ms / 1000) % 60 17 | return [h, m, s].map(v => v.toString().padStart(2, 0)).join(':') 18 | } 19 | -------------------------------------------------------------------------------- /plugins/sadboylogo.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, args }) => { 3 | response = args.join(' ').split('|') 4 | if (!args[0]) return m.reply('masukkan text1 dan text2\n\nContok: .sadboylogo elyas|ganzz') 5 | m.reply('*Wait Ngab*\nProses...') 6 | let res = `https://caliphapi.com/api/sadboy?text=${response[0]}&text2=${response[1]}&apikey=${caliphapi}` 7 | conn.sendFile(m.chat, res, 'sadboy.jpg', `Sudah Jadi`, m, false) 8 | } 9 | handler.help = ['sadboylogo'].map(v => v + ' ') 10 | handler.tags = ['maker'] 11 | handler.command = /^(sadboylogo)$/i 12 | 13 | module.exports = handler 14 | -------------------------------------------------------------------------------- /plugins/say.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { text }) => { 2 | m.reply(text) 3 | } 4 | handler.help = ['say', 'katakan'] 5 | handler.tags = ['info'] 6 | handler.command = /^(say|katakan)$/i 7 | 8 | module.exports = handler 9 | -------------------------------------------------------------------------------- /plugins/sdtbotpp.js: -------------------------------------------------------------------------------- 1 | /* 2 | Silahkan Di Pakek 3 | Tapi Bantu Rapihin :v 4 | Buatan: Miaweers 5 | */ 6 | 7 | let handler = async (m, { conn, args }) => { 8 | let bot = conn.user.jid // Bot 9 | let q = m.quoted ? m.quoted : m 10 | let mime = (q.msg || q).mimetype || '' 11 | if (/image/.test(mime)) { 12 | let img = await q.download() 13 | if (!img) throw `Foto tidak ditemukan` 14 | conn.updateProfilePicture (bot, img) 15 | conn.reply(m.chat, 'Sukses Mengganti Foto Profile Bot!', m) 16 | } 17 | } 18 | handler.help = ['setbotpp'] 19 | handler.command = /^(setbotpp)$/i 20 | handler.owner = true 21 | 22 | module.exports = handler 23 | -------------------------------------------------------------------------------- /plugins/self.js: -------------------------------------------------------------------------------- 1 | let handler = async(m, { conn, command }) => { 2 | let isPublic = command === "public"; 3 | let self = global.opts["self"] 4 | 5 | if(self === !isPublic) return m.reply(`Dah ${!isPublic ? "Self" : "Public"} dari tadi ${m.sender.split("@")[0] === global.owner[1] ? "Mbak" : "Bang"} :v`) 6 | 7 | global.opts["self"] = !isPublic 8 | 9 | m.reply(`Berhasil ${!isPublic ? "Self" : "Public"} bot!`) 10 | } 11 | 12 | handler.help = ["self", "public"] 13 | handler.tags = ["owner"] 14 | 15 | handler.owner = true 16 | 17 | handler.command = /^(self|public)/i 18 | 19 | module.exports = handler 20 | -------------------------------------------------------------------------------- /plugins/setProfileGroup.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix, command }) => { 2 | let q = m.quoted ? m.quoted : m 3 | let mime = (q.msg || q).mimetype || '' 4 | if (/image/.test(mime)) { 5 | let img = await q.download() 6 | if (!img) throw 'Gambar tidak ditemukan' 7 | await conn.updateProfilePicture(m.chat, img) 8 | } else throw `kirim/balas gambar dengan caption *${usedPrefix + command}*` 9 | } 10 | handler.help = ['setpp'] 11 | handler.tags = ['group'] 12 | 13 | handler.command = /^setpp$/i 14 | 15 | handler.group = true 16 | handler.admin = true 17 | handler.botAdmin = true 18 | 19 | module.exports = handler -------------------------------------------------------------------------------- /plugins/setbotbio.js: -------------------------------------------------------------------------------- 1 | // NurNurz 2 | let handler = async (m, { conn, text }) => { 3 | if (!text) throw `Masukan Text Untuk Bio Baru Bot` 4 | try { 5 | await conn.setStatus(text) 6 | conn.reply(m.chat, 'Sukses Mengganti Bio Bot', m) 7 | } catch (e) { 8 | console.log(e) 9 | throw `Error` 10 | } 11 | } 12 | handler.help = ['setbotbio'] 13 | handler.tags = ['owner'] 14 | handler.command = /^(setbotbio)$/i 15 | handler.owner = true 16 | 17 | module.exports = handler 18 | -------------------------------------------------------------------------------- /plugins/setprefixbot.js: -------------------------------------------------------------------------------- 1 | let handler = async(m, { conn, text }) => { 2 | if (!text) throw `No Prefix detected...` 3 | global.prefix = new RegExp('^[' + (text || global.opts['prefix'] || '‎xzXZ/i!#$%+£¢€¥^°=¶∆×÷π√✓©®:;?&.\\-').replace(/[|\\{}()[\]^$+*?.\-\^]/g, '\\$&') + ']') 4 | await m.reply(`Prefix telah ditukar ke *${text}*`) 5 | // conn.fakeReply(m.chat, 'Prefix telah ditukar ke *${text}*', '0@s.whatsapp.net', 'Set Prefix Bot') 6 | } 7 | handler.help = ['setprefix'].map(v => v + ' [prefix]') 8 | handler.tags = ['owner'] 9 | handler.command = /^(setprefix)$/i 10 | 11 | handler.rowner = true 12 | 13 | module.exports = handler 14 | -------------------------------------------------------------------------------- /plugins/settinggrup.js: -------------------------------------------------------------------------------- 1 | let { groupSettingUpdate } = require('@adiwajshing/baileys') 2 | let handler = async (m, { conn, args, usedPrefix, command }) => { 3 | let isClose = { 4 | 'open': 'not_announcement', 5 | 'buka': 'not_announcement', 6 | 'on': 'not_announcement', 7 | '1': 'not_announcement', 8 | 'close': 'announcement', 9 | 'tutup': 'announcement', 10 | 'off': 'announcement', 11 | '0': 'announcement', 12 | }[(args[0] || '')] 13 | if (isClose === undefined) { 14 | await conn.send2But(m.chat, ` 15 | contoh penggunaan: 16 | *${usedPrefix + command} tutup* 17 | *${usedPrefix + command} buka* 18 | `.trim(), 'setting grup', 'Buka', '.grup 1', 'Tutup', '.grup 0') 19 | throw false 20 | } 21 | await conn.groupSettingUpdate(m.chat, isClose) 22 | } 23 | handler.help = ['grup '] 24 | handler.tags = ['group'] 25 | handler.command = /^(gro?up)$/i 26 | handler.owner = false 27 | handler.mods = false 28 | handler.premium = false 29 | handler.group = true 30 | handler.private = false 31 | handler.admin = true 32 | handler.botAdmin = true 33 | handler.fail = null 34 | handler.exp = 0 35 | module.exports = handler 36 | -------------------------------------------------------------------------------- /plugins/setwelcome.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text, isROwner, isOwner }) => { 2 | if (text) { 3 | if (isROwner) global.conn.welcome = text 4 | else if (isOwner) conn.welcome = text 5 | global.db.data.chats[m.chat].sWelcome = text 6 | m.reply('Welcome berhasil diatur\n@user (Mention)\n@subject (Judul Grup)\n@desc (Deskripsi Grup)') 7 | } else throw 'Teksnya mana?' 8 | } 9 | handler.help = ['setwelcome '] 10 | handler.tags = ['owner', 'group'] 11 | 12 | handler.command = /^setwelcome$/i 13 | module.exports = handler 14 | 15 | -------------------------------------------------------------------------------- /plugins/sf.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { text, usedPrefix, command }) => { 2 | if (!text) throw `uhm.. teksnya mana?\n\npenggunaan:\n${usedPrefix + command} \n\ncontoh:\n${usedPrefix + command} plugins/melcanz.js` 3 | if (!m.quoted.text) throw `balas pesan nya!` 4 | let path = `${text}` 5 | await require('fs').writeFileSync(path, m.quoted.text) 6 | m.reply(`tersimpan di ${path}`) 7 | } 8 | handler.help = ['sf'].map(v => v + ' ') 9 | handler.tags = ['owner'] 10 | handler.command = /^sf$/i 11 | 12 | handler.rowner = true 13 | 14 | module.exports = handler 15 | -------------------------------------------------------------------------------- /plugins/shaun_the_sheep_photo.js: -------------------------------------------------------------------------------- 1 | const uploadImage = require('../lib/uploadImage') 2 | let handler = async (m) => { 3 | let q = m.quoted ? m.quoted : m 4 | let mime = (q.msg || q).mimetype || '' 5 | if (!mime) throw 'No media found' 6 | let media = await q.download() 7 | let url = await uploadImage(media) 8 | await conn.sendFile(m.chat, global.API('xteam', '/videomaker/shaunthesheep', { url }, 'APIKEY'), 'shaunthesheep.mp4', 'jangan sedih yaa...', m) 9 | } 10 | handler.help = ['shaunthesheep'] 11 | handler.tags = ['videomaker'] 12 | 13 | handler.command = /^shaunthesheep$/i 14 | 15 | module.exports = handler 16 | -------------------------------------------------------------------------------- /plugins/shorturl.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { text }) => { 3 | if (!text) throw 'url/link nya mana?' 4 | let res = await fetch(`http://hadi-api.herokuapp.com/api/shorturl?url=${text}`) 5 | let json = await res.json() 6 | if (json.status) m.reply(json.result) 7 | else throw 'Link Invalid!\nPeriksa url anda' 8 | } 9 | handler.help = ['shorturl'].map(v => v + ' ') 10 | handler.tags = ['shortlink'] 11 | handler.command = /^shorturl$/i 12 | 13 | module.exports = handler 14 | -------------------------------------------------------------------------------- /plugins/siapakahaku_hint.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.siapakahaku = conn.siapakahaku ? conn.siapakahaku : {} 3 | let id = m.chat 4 | if (!(id in conn.siapakahaku)) throw false 5 | let json = conn.siapakahaku[id][1] 6 | let clue = json.jawaban.replace(/[AIUEOaiueo]/g, '_') 7 | conn.reply(m.chat, '```' + clue + '```\nBalas soalnya, bukan pesan ini', conn.siapakahaku[id][0]) 8 | } 9 | handler.command = /^who$/i 10 | handler.limit = true 11 | module.exports = handler -------------------------------------------------------------------------------- /plugins/simsimi.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { text }) => { 3 | let res = await fetch(global.API('https://api.simsimi.net', '/v2/', { text: encodeURIComponent(text), lc: "id" }, '')) 4 | let json = await res.json() 5 | if (json.success) m.reply(json.success) 6 | else throw json 7 | } 8 | handler.help = ['simi', 'simsimi', 'simih'].map(v => v + ' ') 9 | handler.tags = ['fun'] 10 | handler.command = /^((sim)?simi|simih)$/i 11 | 12 | module.exports = handler 13 | 14 | -------------------------------------------------------------------------------- /plugins/solat.js: -------------------------------------------------------------------------------- 1 | let xfar = require('xfarr-api') 2 | let fetch = require('node-fetch') 3 | let handler = async (m, { conn, command, text }) => { 4 | if (!text) throw 'Masukkan nama daerah\n\nContoh: .jadwalsholat jakarta' 5 | let res = await xfar.JadwalSholat(text) 6 | conn.sendBut(m.chat, ` *JADWAL SHOLAT* 7 | ${text} 8 | 9 | _*${res.tanggal}*_ 10 | Imsyak: ${res.imsyak} 11 | Subuh: _${res.subuh}_ 12 | Dzuhur: _${res.dzuhur}_ 13 | Ashar: ${res.ashar} 14 | Maghrib: ${res.maghrib} 15 | Isya: ${res.isya} 16 | `, wm, 'ok', 'huuu',m) 17 | 18 | } 19 | handler.help = ['jadwalsholat '] 20 | handler.tags = ['internet'] 21 | handler.command = /^jadwalsholat$/i 22 | 23 | 24 | module.exports = handler 25 | -------------------------------------------------------------------------------- /plugins/spamcall.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, text, usedPrefix }) => { 3 | if (!text) throw `Contoh Penggunaan\n${usedPrefix}spamcall 628xxxxxxxx` 4 | let nomor = text.replace(/[^0-9]/gi, '').slice(2) 5 | if (!nomor.startsWith('8')) throw `Contoh Penggunaan\n${usedPrefix}spamcall 628xxxxxxxx` 6 | m.reply('_*Tunggu permintaan anda sedang diproses.....*_') 7 | let anu = await fetch(`https://id.jagreward.com/member/verify-mobile/${nomor}`).then(a => a.json()) 8 | let spcall = `*Nomor bot* : _${anu.phone_prefix}_\n\n_Bot berhasil menlpon anda!_` 9 | conn.reply(m.chat, `${spcall}`.trim(), m) 10 | } 11 | handler.help = ['spamcall '] 12 | handler.tags = ['tools'] 13 | handler.command = /^(spamcall)$/i 14 | handler.limit = true 15 | handler.premium = true 16 | module.exports = handler 17 | -------------------------------------------------------------------------------- /plugins/spotify.js: -------------------------------------------------------------------------------- 1 | 2 | let fetch = require('node-fetch') 3 | let handler = async(m, { conn, text }) => { 4 | if (!text) throw `Masukkan judul musik!` 5 | let res = await fetch(global.API('zeks', '/api/spotify', { q: text }, 'apikey')) 6 | if (!res.ok) throw await res.text() 7 | let json = await res.json() 8 | if(!json.data[0]) throw json 9 | let { title, artists, album, thumb, url, preview_mp3 } = json.data[0] 10 | let spotifyinfo = `✨️ *Title:* ${title} 11 | 🗣️ *Artists:* ${artists} 12 | 🎆️ *Album:* ${album} 13 | 🌐️ *URL*: ${url} 14 | 💚️ *Direct URL:* ${preview_mp3}\` 15 | 16 | await conn.sendFile(m.chat, thumb, '', spotifyinfo, m) 17 | await conn.sendFile(m.chat, preview_mp3, 'spotify.mp3', spotifyinfo, m) 18 | } 19 | handler.help = ['spotify '] 20 | handler.tags = ['internet'] 21 | handler.command = /^(spotify|music)$/i 22 | // Made By github.com/TOXIC-DEVIL 23 | module.exports = handler 24 | -------------------------------------------------------------------------------- /plugins/sticker-ly.js: -------------------------------------------------------------------------------- 1 | const fetch = require('node-fetch') 2 | const { sticker5 } = require('../lib/sticker') 3 | 4 | let handler = async (m, { conn, text, usedPrefix, command }) => { 5 | if (!text) throw `Penggunaan:\n${usedPrefix + command} \n\nContoh:\n${usedPrefix + command} spongebob` 6 | let res = await fetch(API('zeks', '/api/searchsticker', { q: text }, 'apikey')) 7 | if (!res.ok) throw eror 8 | let json = await res.json() 9 | if (!json.status) throw json 10 | let hasil = json.sticker.map((v, i) => `${i + 1}. ${v}`).join('\n') 11 | m.reply(`*${json.title}* 12 | *Estimasi selesai:* ${json.sticker.length * 1.5} detik 13 | `.trim()) 14 | 15 | for (let i of json.sticker) { 16 | stiker = await sticker5(false, i, packname, author) 17 | await conn.sendFile(m.chat, stiker, '', '', m, 0, { asSticker: true }) 18 | } 19 | m.reply('_*Selesai*_') 20 | 21 | } 22 | handler.help = ['stikerly '] 23 | handler.tags = ['sticker'] 24 | handler.command = /^(stic?kerly)$/i 25 | 26 | handler.limit = 3 27 | 28 | module.exports = handler 29 | -------------------------------------------------------------------------------- /plugins/sticker-pack.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | let res = 'https://api.zacros.my.id/search/sticker?query=pentol' 3 | if (!res.ok) throw await 'Website Down' 4 | let json = await res.json() 5 | if (!json.result) throw json 6 | m.reply(json.result) 7 | } 8 | handler.help = ['stickerpack'].map(v => v + ' ') 9 | handler.tags = ['internet', 'sticker'] 10 | handler.command = /^(stickerpack)$/i 11 | 12 | module.exports = handler -------------------------------------------------------------------------------- /plugins/stickerly.js: -------------------------------------------------------------------------------- 1 | const fetch = require('node-fetch') 2 | const { sticker5 } = require('../lib/sticker') 3 | 4 | let handler = async (m, { conn, text, usedPrefix, command }) => { 5 | if (!text) throw `Penggunaan:\n${usedPrefix + command} \n\nContoh:\n${usedPrefix + command} spongebob` 6 | let res = await fetch(API('zeks', '/api/searchsticker', { q: text }, 'apikey')) 7 | if (!res.ok) throw eror 8 | let json = await res.json() 9 | if (!json.status) throw json 10 | let hasil = json.sticker.map((v, i) => `${i + 1}. ${v}`).join('\n') 11 | m.reply(`*${json.title}* 12 | *Estimasi selesai:* ${json.sticker.length * 1.5} detik 13 | `.trim()) 14 | 15 | for (let i of json.sticker) { 16 | stiker = await sticker5(false, i, packname, author) 17 | await conn.sendFile(m.chat, stiker, '', '', m, 0, { asSticker: true }) 18 | } 19 | m.reply('_*Selesai*_') 20 | 21 | } 22 | handler.help = ['stikerly '] 23 | handler.tags = ['sticker'] 24 | handler.command = /^(stic?kerly)$/i 25 | 26 | handler.limit = 3 27 | 28 | module.exports = handler 29 | -------------------------------------------------------------------------------- /plugins/stikerlag.js: -------------------------------------------------------------------------------- 1 | let f = { 2 | key: { 3 | remoteJid: '687998291@s.whatsapp.net', 4 | fromMe: true, 5 | id: 'BAE51740BC6E15D2' 6 | }, 7 | message: { 8 | stickerMessage: { 9 | url: 'https://mmg.whatsapp.net/d/f/AiCjoOOOxv4kB6cv_Lu3S5GuASs_2rEoYIyF3dglpeQ5.enc', 10 | fileSha256: 'SiAN/OxA+nU80DNxi7uNvdQrRsoYrslLPSYs0gRNjEw=', 11 | fileEncSha256: 'Xy7g73UI9v9oieRiDdoa3r6FumE/ZweOgz3//irjNSA=', 12 | mediaKey: '7VSTYwIeP0TwueNouFvKllQVA7zk/BpG9V1vJP1AwIk=', 13 | mimetype: 'image/webp', 14 | directPath: '/v/t62.7118-24/55664122_1020246558667866_111487360427061942_n.enc?ccb=11-4&oh=01_AVxehI9PMr68mdclLqlRR3rOl_YOIjXa0YIg0jZvH76XHA&oe=6340E3C0', 15 | fileLength: '666000', 16 | mediaKeyTimestamp: '1662646006', 17 | isAnimated: false 18 | } 19 | } 20 | } 21 | let handler = async(m, {conn}) => { 22 | await conn.copyNForward(m.chat, f, true) 23 | } 24 | handler.command = ["stikerlag"] 25 | module.exports = handler 26 | -------------------------------------------------------------------------------- /plugins/tagall.js: -------------------------------------------------------------------------------- 1 | let handler = async(m, { conn, text, participants }) => { 2 | let teks = `⋙ *Pesan dari Admin Group* ⋘ 3 | \n *${text ? text : 'Nothing'}*\n\n` 4 | for (let mem of participants) { 5 | teks += ` @${mem.id.split('@')[0]}\n` 6 | } 7 | teks += `\nbukan elyas` 8 | conn.sendMessage(m.chat, { text: teks, mentions: participants.map(a => a.id) }, ) 9 | } 10 | handler.help = ['tagall '] 11 | handler.tags = ['group'] 12 | handler.command = /^(tagall)$/i 13 | 14 | handler.group = true 15 | handler.admin = true 16 | 17 | module.exports = handler 18 | -------------------------------------------------------------------------------- /plugins/tagme.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | 3 | let orang = (await conn.groupMetadata(m.chat)).participants.map(u => u.jid) 4 | let tag = `@${m.sender.replace(/@.+/, '')}` 5 | let mentionedJid = [m.sender] 6 | 7 | conn.reply(m.chat, tag, m, { contextInfo: { mentionedJid }}) 8 | } 9 | handler.help = ['tagme'] 10 | handler.tags = ['group'] 11 | handler.command = /^tagme$/i 12 | 13 | handler.group = true 14 | 15 | module.exports = handler 16 | -------------------------------------------------------------------------------- /plugins/tebakgambar_ans.js: -------------------------------------------------------------------------------- 1 | const similarity = require('similarity') 2 | const threshold = 0.72 3 | let handler = m => m 4 | handler.before = async function (m) { 5 | let id = m.chat 6 | if (!m.quoted || !m.quoted.fromMe || !m.quoted.isBaileys || !/Ketik.*hint/i.test(m.quoted.contentText)) return !0 7 | this.tebakgambar = this.tebakgambar ? this.tebakgambar : {} 8 | if (!(id in this.tebakgambar)) return m.reply('Soal itu telah berakhir') 9 | if (m.quoted.id == this.tebakgambar[id][0].id) { 10 | let json = JSON.parse(JSON.stringify(this.tebakgambar[id][1])) 11 | if (['.hint', 'Bantuan', ''].includes(m.text)) return !0 12 | if (m.text.toLowerCase() == json.jawaban.toLowerCase()) { 13 | global.db.data.users[m.sender].exp += this.tebakgambar[id][2] 14 | await this.sendBut(m.chat, `*Benar!✅* +${this.tebakgambar[id][2]} XP`, '', 'Tebak Gambar', '.tebakgambar', m) 15 | clearTimeout(this.tebakgambar[id][3]) 16 | delete this.tebakgambar[id] 17 | } else if (similarity(m.text.toLowerCase(), json.jawaban.toLowerCase().trim()) >= threshold) m.reply(`*Dikit Lagi!*`) 18 | else m.reply(`*Salah!❌*`) 19 | } 20 | return !0 21 | } 22 | handler.exp = 0 23 | 24 | module.exports = handler 25 | -------------------------------------------------------------------------------- /plugins/tebakgambar_hint.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.tebakgambar = conn.tebakgambar ? conn.tebakgambar : {} 3 | let id = m.chat 4 | if (!(id in conn.tebakgambar)) throw false 5 | let json = conn.tebakgambar[id][1] 6 | m.reply('```' + json.jawaban.replace(/[bcdfghjklmnpqrstvwxyz]/gi, '_') + '```\nBALAS SOALNYA, BUKAN PESAN INI!') 7 | } 8 | handler.command = /^hint$/i 9 | 10 | handler.limit = true 11 | 12 | module.exports = handler 13 | -------------------------------------------------------------------------------- /plugins/tebakkabupaten_hint.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.tebakkabupaten = conn.tebakkabupaten ? conn.tebakkabupaten : {} 3 | let id = m.chat 4 | if (!(id in conn.tebakkabupaten)) throw false 5 | let json = conn.tebakkabupaten[id][1] 6 | conn.reply(m.chat, '```' + json.title.replace(/[AIUEOaiueo]/g, '_') + '```\nBalas gambarnya, bukan pesan ini', conn.tebakkabupaten[id][0]) 7 | } 8 | handler.command = /^tebu$/i 9 | 10 | module.exports = handler 11 | -------------------------------------------------------------------------------- /plugins/tebakkata_hint.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.tebakkata = conn.tebakkata ? conn.tebakkata : {} 3 | let id = m.chat 4 | if (!(id in conn.tebakkata)) throw false 5 | let json = conn.tebakkata[id][1] 6 | let ans = json.jawaban.trim() 7 | let clue = ans.replace(/[AIUEOaiueo]/g, '_') 8 | conn.reply(m.chat, '```' + clue + '```\nBalas soalnya, bukan pesan ini', conn.tebakkata[id][0]) 9 | } 10 | handler.command = /^teka$/i 11 | handler.limit = true 12 | module.exports = handler -------------------------------------------------------------------------------- /plugins/tebaklirik_hint.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.tebakirik = conn.tebakirik ? conn.tebakirik : {} 3 | let id = m.chat 4 | if (!(id in conn.tebakirik)) throw false 5 | let json = conn.tebakirik[id][1] 6 | m.reply('```' + json.jawaban.replace(/[AUIEOaiueo]/g, '_') + '```') 7 | } 8 | handler.command = /^teli$/i 9 | handler.limit = true 10 | module.exports = handler -------------------------------------------------------------------------------- /plugins/tebakumur.js: -------------------------------------------------------------------------------- 1 | /** 2 | * cuma mau bilang terimakasih ama https://github.com/uhdahlah 3 | **/ 4 | 5 | 6 | let axios = require("axios"); 7 | let handler = async(m, { conn, text }) => { 8 | 9 | if (!text) return conn.reply(m.chat, 'Masukan Teksnya', m) 10 | 11 | await m.reply('Searching...') 12 | axios.get(`http://lolhuman.herokuapp.com/api/tebakumur?apikey=31caf10e4a64e86c1a92bcba&name=${text}`).then ((res) => { 13 | let hasil = `Namamu : ${text}\nUmurmu : ${res.data.result.age}` 14 | 15 | conn.reply(m.chat, hasil, m) 16 | }) 17 | } 18 | handler.help = ['tebakumur'].map(v => v + ' ') 19 | handler.tags = ['internet', 'fun'] 20 | handler.command = /^(tebakumur)$/i 21 | handler.owner = false 22 | handler.mods = false 23 | handler.premium = false 24 | handler.group = false 25 | handler.private = false 26 | 27 | handler.admin = false 28 | handler.botAdmin = false 29 | 30 | handler.fail = null 31 | handler.exp = 0 32 | handler.limit = true 33 | // https://github.com/uhdahlah 34 | module.exports = handler 35 | -------------------------------------------------------------------------------- /plugins/tiktokstalk.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | 3 | let handler = async(m, { conn, text }) => { 4 | 5 | if (!text) return conn.reply(m.chat, 'Harap Masukan Username', m) 6 | 7 | await m.reply('Searching...') 8 | let res = await fetch(`https://x-restapi.herokuapp.com/api/tiktok-stalk?username=${text}&apikey=BETA`) 9 | let json = await res.json() 10 | if (res.status !== 200) throw await res.text() 11 | if (!json.status) throw json 12 | let thumb = await (await fetch(json.avatarLarger)).buffer() 13 | let hasil = `*── 「 TIK-TOK STALK 」 ──* 14 | 15 | ▢ *Nama*: ${json.username} 16 | ▢ *Follower*: ${json.followerCount} 17 | ▢ *Following*: ${json.followingCount} 18 | ▢ *Private*: ${json.isprivate} 19 | ▢ *Id*: ${json.id} 20 | ` 21 | 22 | conn.sendFile(m.chat, thumb, 'tiktokstalk.jpg', hasil, m) 23 | } 24 | handler.help = ['tiktokstalk'].map(v => v + ' ') 25 | handler.tags = ['stalk'] 26 | handler.command = /^(tiktokstalk)$/i 27 | 28 | module.exports = handler 29 | -------------------------------------------------------------------------------- /plugins/tinyurl.js: -------------------------------------------------------------------------------- 1 | let axios = require('axios') 2 | 3 | let fetch = require('node-fetch') 4 | 5 | let handler = async (m, { text, conn:fur, args }) => { 6 | if (!text) throw 'url/link nya mana?\n\n*CONTOH:*\n.tinyurl https://instagram.com' 7 | 8 | fur.reply(m.chat, await shortlink(text), m) 9 | 10 | } 11 | 12 | handler.help = ['tinyurl'].map(v => v + ' ') 13 | handler.tags = ['shortlink'] 14 | handler.command = /^tinyurl$/i 15 | 16 | module.exports = handler 17 | 18 | async function shortlink(url){ 19 | isurl = /https?:\/\//.test(url) 20 | return isurl ? (await require('axios').get('https://tinyurl.com/api-create.php?url='+encodeURIComponent(url))).data : ''} 21 | -------------------------------------------------------------------------------- /plugins/toimg2.js: -------------------------------------------------------------------------------- 1 | 2 | let { webp2png } = require('../lib/webp2mp4') 3 | let handler = async (m, { conn, usedPrefix, command }) => { 4 | if (!m.quoted) throw `balas stiker dengan caption *${usedPrefix + command}*` 5 | let mime = m.quoted.mimetype || '' 6 | if (!/webp/.test(mime)) throw `balas stiker dengan caption *${usedPrefix + command}*` 7 | let media = await m.quoted.download() 8 | let out = Buffer.alloc(0) 9 | if (/webp/.test(mime)) { 10 | out = await webp2png(media) 11 | } 12 | await conn.sendFile(m.chat, out, 'out.png', '*DONE*', m, false, { 13 | thumbnail: Buffer.alloc(0) 14 | }) 15 | } 16 | handler.help = ['toimg (reply)'] 17 | handler.tags = ['sticker'] 18 | handler.command = ['toimg'] 19 | module.exports = handler 20 | -------------------------------------------------------------------------------- /plugins/tomp3.js: -------------------------------------------------------------------------------- 1 | const { toPTT } = require('../lib/converter') 2 | const { MessageType } = require('@adiwajshing/baileys') 3 | 4 | let handler = async (m, { conn, usedPrefix, command }) => { 5 | let q = m.quoted ? m.quoted : m 6 | let mime = (m.quoted ? m.quoted : m.msg).mimetype || '' 7 | if (!/video|audio/.test(mime)) throw `Balas video atau voice note yang ingin diubah ke mp3 dengan caption *${usedPrefix + command}*` 8 | let media = await q.download() 9 | let audio = await toPTT(media, 'mp4') 10 | 11 | //conn.sendFile(m.chat, audio, 0,0,m,true, {ptt:true }) 12 | conn.sendMessage(m.chat, {audio:audio}, { 13 | quoted: m, 14 | ptt: true 15 | }) 16 | } 17 | handler.help = ['tomp3 (reply)'] 18 | handler.tags = ['tools'] 19 | 20 | handler.command = /^to(mp3|a(udio)?)$/i 21 | 22 | module.exports = handler 23 | -------------------------------------------------------------------------------- /plugins/tools-apk.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios"); 2 | let handler = async(m, { conn, text }) => { 3 | 4 | if (!text) return conn.reply(m.chat, 'Masukan Command nya', m) 5 | 6 | axios.get(`http://hujanapi.xyz/api/apkpure?query=${text}&apikey=qrQuAVo14XfmRIr`).then ((res) => { 7 | let hasil = ` 8 | Nama App : ${res.data.result.data.title} 9 | Link download : ${res.data.result.data.link} 10 | Mau langsung download? Ketik .apkdl (link tersebut)` 11 | 12 | conn.reply(m.chat, hasil, m) 13 | }) 14 | } 15 | handler.help = ['apk (kata kunci)'] 16 | handler.tags = ['tools'] 17 | handler.command = /^(apk)$/i 18 | handler.owner = false 19 | handler.mods = false 20 | handler.premium = false 21 | handler.group = false 22 | handler.private = false 23 | 24 | handler.admin = false 25 | handler.botAdmin = false 26 | 27 | handler.fail = null 28 | handler.exp = 0 29 | handler.limit = false 30 | 31 | module.exports = handler 32 | -------------------------------------------------------------------------------- /plugins/tools-apkdl.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios"); 2 | let handler = async(m, { conn, text }) => { 3 | 4 | if (!text) return conn.reply(m.chat, 'Masukan Command nya', m) 5 | 6 | axios.get(`http://hujanapi.xyz/api/apkpuredl?url=${text}&apikey=qrQuAVo14XfmRIr`).then ((res) => { 7 | let hasil = ` 8 | Nama App : ${res.data.result.title} 9 | Link download : ${res.data.result.url}` 10 | 11 | conn.reply(m.chat, hasil, m) 12 | }) 13 | } 14 | handler.help = ['apkdl (link apkpure)'] 15 | handler.tags = ['tools'] 16 | handler.command = /^(apkdl)$/i 17 | handler.owner = false 18 | handler.mods = false 19 | handler.premium = false 20 | handler.group = false 21 | handler.private = false 22 | 23 | handler.admin = false 24 | handler.botAdmin = false 25 | 26 | handler.fail = null 27 | handler.exp = 0 28 | handler.limit = false 29 | 30 | module.exports = handler 31 | -------------------------------------------------------------------------------- /plugins/tools-base64.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { command, text }) => { 2 | let txt = m.quoted ? m.quoted.text ? m.quoted.text : text ? text : m.text : m.text 3 | m.reply(Buffer.from(txt, 'utf-8').toString('base64')) 4 | } 5 | handler.help = ['base64'] 6 | handler.tags = ['tools'] 7 | handler.command = /^base64$/i 8 | 9 | module.exports = handler 10 | -------------------------------------------------------------------------------- /plugins/tools-npm.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | 3 | let handler = async (m, { text }) => { 4 | if (!text) throw 'Input Query' 5 | let res = await fetch(`http://registry.npmjs.com/-/v1/search?text=${text}`) 6 | let { objects } = await res.json() 7 | if (!objects.length) throw `Query "${text}" not found :/` 8 | let txt = objects.map(({ package: pkg }) => { 9 | return `*${pkg.name}* (v${pkg.version})\n_${pkg.links.npm}_\n_${pkg.description}_` 10 | }).join`\n\n` 11 | m.reply(txt) 12 | } 13 | handler.help = ['npmsearch'] 14 | handler.tags = ['tools'] 15 | handler.command = /^npm(js|search)?$/i 16 | //maapin hyzer 17 | module.exports = handler 18 | -------------------------------------------------------------------------------- /plugins/tools-oriurl.js: -------------------------------------------------------------------------------- 1 | let fetch = require("node-fetch") 2 | let handler = async (m, { args, usedPrefix, command }) => { 3 | 4 | if (!args[0]) throw `fitur ini berguna untuk mencari link asli dari shortlink 5 | contoh 6 | .oriurl https://tinyurl.com/` 7 | try{ 8 | let b = await fetch(args[0]) 9 | 10 | m.reply(b) 11 | } catch (e) { 12 | m.reply(`*ERROR* 13 | *PASTIKAN URL ANDA BENAR!*`)} 14 | } 15 | handler.help = ['oriurl'] 16 | handler.tags = ['tools'] 17 | handler.command = /oriurl/i 18 | 19 | handler.limit = true 20 | 21 | module.exports = handler 22 | -------------------------------------------------------------------------------- /plugins/tools-sspc.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, command, args }) => { 3 | if (args[0] === 'Nekopoi.care') { 4 | conn.reply(m.chat, '*Tobat woy*', m) 5 | reject 6 | } 7 | if (args[0] === 'Nhentai.net') { 8 | conn.reply(m.chat, '*Tobat woy*', m) 9 | reject 10 | } 11 | let full = /f$/i.test(command) 12 | if (!args[0]) return conn.reply(m.chat, 'Tidak ada url', m) 13 | let url = /https?:\/\//.test(args[0]) ? args[0] : 'https://' + args[0] 14 | let ss = await (await fetch('https://hadi-api.herokuapp.com/api/ssweb?url=' + encodeURIComponent(url) + '&device=desktop&full=on')).buffer() 15 | conn.sendFile(m.chat, ss, 'screenshot.png', url, m) 16 | } 17 | handler.help = ['sslaptop', 'sspc'].map(v => v + ' ') 18 | handler.tags = ['internet'] 19 | handler.command = /^ss(laptop)?pc?$/i 20 | handler.owner = false 21 | handler.mods = false 22 | handler.premium = false 23 | handler.group = false 24 | handler.private = false 25 | 26 | handler.admin = false 27 | handler.botAdmin = false 28 | 29 | handler.fail = null 30 | 31 | module.exports = handler -------------------------------------------------------------------------------- /plugins/tools-tomp3.js: -------------------------------------------------------------------------------- 1 | const { toPTT } = require('../lib/converter') 2 | const { MessageType } = require('@adiwajshing/baileys-md') 3 | 4 | let handler = async (m, { conn, usedPrefix, command }) => { 5 | let q = m.quoted ? m.quoted : m 6 | let mime = (m.quoted ? m.quoted : m.msg).mimetype || '' 7 | if (!/video|audio/.test(mime)) throw `Balas video atau voice note yang ingin diubah ke mp3 dengan caption *${usedPrefix + command}*` 8 | let media = await q.download() 9 | let audio = await toPTT(media, 'mp4') 10 | 11 | //conn.sendFile(m.chat, audio, 0,0,m,true, {ptt:true }) 12 | conn.sendMessage(m.chat, {audio:audio}, { 13 | quoted: m, 14 | ptt: true 15 | }) 16 | } 17 | handler.help = ['tomp3 (reply)'] 18 | handler.tags = ['tools'] 19 | 20 | handler.command = /^to(mp3|a(udio)?)$/i 21 | 22 | module.exports = handler 23 | -------------------------------------------------------------------------------- /plugins/topdf.js: -------------------------------------------------------------------------------- 1 | const uploadFile = require('../lib/uploadFile') 2 | const uploadImage = require('../lib/uploadImage') 3 | 4 | let handler = async (m) => { 5 | let q = m.quoted ? m.quoted : m 6 | let mime = (q.msg || q).mimetype || '' 7 | if (!mime) throw 'Tidak ada media yang ditemukan' 8 | let media = await q.download() 9 | let isTele = /image\/(png|jpe?g|gif)|video\/mp4/.test(mime) 10 | let link = await (isTele ? uploadImage : uploadFile)(media) 11 | conn.sendFile(m.chat, `https://api.xteam.xyz/imagetopdf?url=${link}&APIKEY=cristian9407`, 'NihKak', null, m) 12 | } 13 | handler.help = ['topdf '] 14 | handler.tags = ['tools'] 15 | handler.command = /^(topdf)$/i 16 | 17 | handler.limit = true 18 | 19 | module.exports = handler 20 | -------------------------------------------------------------------------------- /plugins/totalfitur.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | let lang = db.data.users[m.sender].lang 3 | let tot = Object.values(global.plugins).filter(p => !p.disabled).map(p => Array.isArray(p.command) ? p.command : [p.command]).length 4 | let total = await `Kurang Lebih ${tot} fitur yang ada di dalam bot` 5 | m.reply(total) 6 | } 7 | handler.help = ['totalfitur'] 8 | handler.tags = ['main'] 9 | handler.command = /^(total)?fitur$/i 10 | 11 | module.exports = handler -------------------------------------------------------------------------------- /plugins/tourl.js: -------------------------------------------------------------------------------- 1 | const uploadFile = require('../lib/uploadFile') 2 | const uploadImage = require('../lib/uploadImage') 3 | 4 | let handler = async (m) => { 5 | let q = m.quoted ? m.quoted : m 6 | let mime = (q.msg || q).mimetype || '' 7 | if (!mime) throw 'Tidak ada media yang ditemukan' 8 | let media = await q.download() 9 | let isTele = /image\/(png|jpe?g|gif)|video\/mp4/.test(mime) 10 | let link = await (isTele ? uploadImage : uploadFile)(media) 11 | m.reply(`${link} 12 | ${media.length} Byte(s) 13 | ${isTele ? '(Tidak Ada Tanggal Kedaluwarsa)' : '(Tidak diketahui)'}`) 14 | } 15 | handler.help = ['tourl '] 16 | handler.tags = ['sticker'] 17 | handler.command = /^(upload|tourl)$/i 18 | 19 | module.exports = handler 20 | -------------------------------------------------------------------------------- /plugins/tovideo.js: -------------------------------------------------------------------------------- 1 | let { webp2mp4 } = require('../lib/webp2mp4') 2 | let { ffmpeg } = require('../lib/converter') 3 | let handler = async (m, { conn }) => { 4 | if (!m.quoted) throw 'Reply sticker or audio!' 5 | let mime = m.quoted.mimetype || '' 6 | if (!/webp|audio/.test(mime)) throw 'Reply sticker or audio!' 7 | let media = await m.quoted.download() 8 | let out = Buffer.alloc(0) 9 | if (/webp/.test(mime)) { 10 | out = await webp2mp4(media) 11 | } else if (/audio/.test(mime)) { 12 | out = await ffmpeg(media, [ 13 | '-filter_complex', 'color', 14 | '-pix_fmt', 'yuv420p', 15 | '-crf', '51', 16 | '-c:a', 'copy', 17 | '-shortest' 18 | ], 'mp3', 'mp4') 19 | } 20 | await conn.sendFile(m.chat, out, 'out.mp4', null, m) 21 | } 22 | handler.help = ['tovideo (reply)'] 23 | handler.tags = ['sticker'] 24 | 25 | handler.command = ['tovideo'] 26 | 27 | module.exports = handler 28 | -------------------------------------------------------------------------------- /plugins/translate.js: -------------------------------------------------------------------------------- 1 | const defaultLang = 'en' 2 | const tld = 'auto' 3 | 4 | let handler = async (m, { args, usedPrefix, command }) => { 5 | let err = ` 6 | Contoh: 7 | ${usedPrefix + command} [text] 8 | ${usedPrefix + command} id your messages 9 | Daftar bahasa yang didukung: https://cloud.google.com/translate/docs/languages 10 | `.trim() 11 | 12 | let lang = args[0] 13 | let text = args.slice(1).join(' ') 14 | if ((args[0] || '').length !== 2) { 15 | lang = defaultLang 16 | text = args.join(' ') 17 | } 18 | if (!text && m.quoted && m.quoted.text) text = m.quoted.text 19 | 20 | let result 21 | try { 22 | result = await conn.translate(`${text}`, tld, lang 23 | ) 24 | } catch (e) { 25 | result = await conn.translate(`${text}`, tld, 26 | defaultLang, 27 | ) 28 | throw err 29 | } finally { 30 | m.reply(result) 31 | } 32 | 33 | } 34 | handler.help = ['translate'].map(v => v + ' ') 35 | handler.tags = ['tools'] 36 | handler.command = /^(tr(anslate)?)$/i 37 | handler.limit = false 38 | handler.fail = null 39 | handler.exp = 0 40 | module.exports = handler 41 | -------------------------------------------------------------------------------- /plugins/trigger.js: -------------------------------------------------------------------------------- 1 | //kok cewe gw jadi cuek yahh? daritadi pagi gw chat ga dibales cuman di read doang 2 | 3 | const { sticker } = require('../lib/sticker') 4 | const { MessageType } = require('@adiwajshing/baileys') 5 | let handler = async (m, { conn }) => { 6 | let who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender 7 | let marah = global.API('https://some-random-api.ml', '/canvas/triggered', { 8 | avatar: await conn.getProfilePicture(who).catch(_ => 'https://telegra.ph/file/24fa902ead26340f3df2c.png'), 9 | }) 10 | let stiker = await sticker(null, marah, global.packname, global.author) 11 | if (stiker) return conn.sendFile(m.chat, stiker, m, false, { asSticker: true }); 12 | else throw stiker.toString() 13 | } 14 | 15 | 16 | handler.help = ['trigger'] 17 | handler.tags = ['maker'] 18 | 19 | handler.command = /^(trigger)$/i 20 | 21 | module.exports = handler 22 | -------------------------------------------------------------------------------- /plugins/ttp.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, text }) => { 3 | if (!text) throw 'Masukkan text\nContoh: .ttp elyas ganteng' 4 | m.reply('_*Proses...*_') 5 | let res = (`https://api.xteam.xyz/ttp?file&text=${text}` || `http://leyscoders-api.herokuapp.com/api/textto-image?text=${text}`) 6 | conn.sendImageAsSticker(m.chat, res, m, {packname: global.packname, author: global.author}) 7 | } 8 | handler.help = ['ttp '] 9 | handler.tags = ['maker'] 10 | handler.command = /^(ttp)$/i 11 | handler.limit = true 12 | handler.register = false 13 | 14 | module.exports = handler 15 | -------------------------------------------------------------------------------- /plugins/unbanchat.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { isOwner, text, isAdmin }) => { 2 | let who 3 | if (m.isGroup) { 4 | if (!(isAdmin || isOwner)) { 5 | global.dfail('admin', m, conn) 6 | throw false 7 | } 8 | if (isOwner) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted ? m.quoted.sender : text ? text.replace(/[^0-9]/g, '') + '@s.whatsapp.net' : m.chat 9 | who = m.mentionedJid[0] ? m.mentionedJid[0] : text ? text.replace(/[^0-9]/g, '') + '@s.whatsapp.net' : m.chat 10 | } else { 11 | if (!isOwner) { 12 | global.dfail('owner', m, conn) 13 | throw false 14 | } 15 | who = text ? text.replace(/[^0-9]/g, '') + '@s.whatsapp.net' : m.chat 16 | } 17 | try { 18 | if (who.endsWith('g.us')) global.db.data.chats[who].isBanned = false 19 | else global.db.data.users[who].banned = false 20 | m.reply(`Done Unban! Bot aktif dichat ${await conn.getName(who) == undefined ? 'ini' : await conn.getName(who)}.`) 21 | } catch (e) { 22 | throw `nomor tidak ada didatabase!` 23 | } 24 | } 25 | handler.help = ['unban'] 26 | handler.tags = ['owner', 'group'] 27 | handler.command = /^unban(chat)?$/i 28 | 29 | module.exports = handler 30 | -------------------------------------------------------------------------------- /plugins/update.js: -------------------------------------------------------------------------------- 1 | let { execSync } = require('child_process') 2 | let handler = async (m, { conn, text, isROwner }) => { 3 | conn.sendMessage(m.chat, { 4 | react: { 5 | text: `⚠️`, 6 | key: m.key, 7 | }}) 8 | if (global.conn.user.jid == conn.user.jid) { 9 | let stdout = execSync('git remote set-url origin https://github.com/Paquito1923/ebotgw.git && git pull' + (isROwner && text ? ' ' + text : '')) 10 | if (isROwner) require('fs').readdirSync('plugins').map(v => global.reload('', v)) 11 | m.reply(wait) 12 | m.reply(stdout.toString()) 13 | } 14 | } 15 | handler.help = ['update'] 16 | handler.tags = ['owner'] 17 | handler.command = /^(upd(a|e)te|uo?p?|uoda?e?te?)$/i 18 | handler.owner = true 19 | handler.mods = false 20 | handler.premium = false 21 | handler.group = false 22 | handler.private = false 23 | 24 | handler.admin = false 25 | handler.botAdmin = false 26 | 27 | handler.fail = null 28 | handler.exp = 0 29 | 30 | module.exports = handler 31 | -------------------------------------------------------------------------------- /plugins/vote-cekvote.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix }) => { 2 | let id = m.chat 3 | conn.vote = conn.vote ? conn.vote : {} 4 | if (!(id in conn.vote)) return conn.sendBut(m.chat, `Tidak ada voting digrup ini!`, '© stikerin', 'Mulai', `${usedPrefix}+vote`, m) 5 | let [reason, upvote, devote] = conn.vote[id] 6 | let caption = ` 7 | 「 *Vote* 」 8 | *Alasan:* ${reason} 9 | *Upvote* 10 | _Total: ${upvote.length}_ 11 | ${upvote.map(u => '@' + u.split`@`[0]).join('\n')} 12 | *Devote* 13 | _Total: ${devote.length}_ 14 | ${devote.map(u => '@' + u.split`@`[0]).join('\n')} 15 | wm 16 | `.trim() 17 | await conn.send3But(m.chat, caption, wm, 'Upvote', `${usedPrefix}upvote`, 'Devote', `${usedPrefix}devote`, 'Hapus', `${usedPrefix}-vote`, m) 18 | } 19 | handler.help = ['cekvote'] 20 | handler.tags = ['vote'] 21 | handler.command = /^cekvote$/i 22 | 23 | module.exports = handler 24 | -------------------------------------------------------------------------------- /plugins/vote-hapus.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix, isAdmin, isOwner }) => { 2 | if (m.isGroup) { 3 | if (!(isAdmin || isOwner)) return dfail('admin', m, conn) 4 | } 5 | let id = m.chat 6 | conn.vote = conn.vote ? conn.vote : {} 7 | if (!(id in conn.vote)) return conn.sendBut(m.chat, `Tidak ada voting digrup ini!`, wm, 'Mulai', `${usedPrefix}+vote`, m) 8 | delete conn.vote[id] 9 | m.reply(`Berhasil!`) 10 | } 11 | handler.help = ['hapusvote'] 12 | handler.tags = ['vote'] 13 | handler.command = /^(delete|hapus|-)vote$/i 14 | 15 | module.exports = handler 16 | -------------------------------------------------------------------------------- /plugins/vote-mulai.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text, usedPrefix, isAdmin, isOwner }) => { 2 | if (m.isGroup) { 3 | if (!(isAdmin || isOwner)) return dfail('admin', m, conn) 4 | } 5 | conn.vote = conn.vote ? conn.vote : {} 6 | let id = m.chat 7 | if (id in conn.vote) return conn.sendBut(m.chat, 'Masih ada vote di chat ini!', wm, 'Hapus', `${usedPrefix}-vote`, m) 8 | conn.send2But(m.chat, `Vote dimulai! 9 | *${usedPrefix}upvote* - untuk setuju 10 | *${usedPrefix}devote* - untuk tidak setuju 11 | *${usedPrefix}cekvote* - untuk mengecek vote 12 | *${usedPrefix}hapusvote* - untuk menghapus vote`, wm, 'Upvote', `${usedPrefix}upvote`, 'Devote', `${usedPrefix}devote`, m) 13 | conn.vote[id] = [ 14 | text, 15 | [], 16 | [] 17 | ] 18 | } 19 | handler.help = ['mulaivote [alasan]'] 20 | handler.tags = ['vote'] 21 | handler.command = /^(start|mulai|\+)vote$/i 22 | 23 | module.exports = handler 24 | -------------------------------------------------------------------------------- /plugins/vote-vote.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix, command }) => { 2 | let id = m.chat 3 | conn.vote = conn.vote ? conn.vote : {} 4 | if (!(id in conn.vote)) return conn.sendBut(m.chat, `Tidak ada voting digrup ini!`, wm, 'Mulai', `${usedPrefix}+vote`, m) 5 | let isVote = conn.vote[id][1].concat(conn.vote[id][2]) 6 | const wasVote = isVote.includes(m.sender) 7 | if (wasVote) throw 'Kamu sudah vote!' 8 | if (/up/i.test(command)) { 9 | conn.vote[id][1].push(m.sender) 10 | } else if (/de/i.test(command)) { 11 | conn.vote[id][2].push(m.sender) 12 | } 13 | let [reason, upvote, devote] = conn.vote[id] 14 | let caption = ` 15 | 「 *Vote* 」 16 | *Alasan:* ${reason} 17 | *Upvote* 18 | _Total: ${upvote.length}_ 19 | ${upvote.map(u => '@' + u.split`@`[0]).join('\n')} 20 | *Devote* 21 | _Total: ${devote.length}_ 22 | ${devote.map(u => '@' + u.split`@`[0]).join('\n')} 23 | `.trim() 24 | conn.send2But(m.chat, caption, wm, 'Upvote', `${usedPrefix}upvote`, 'Devote', `${usedPrefix}devote`, m) 25 | } 26 | handler.help = ['upvote', 'devote'] 27 | handler.tags = ['vote'] 28 | handler.command = /^(up|de)vote$/i 29 | 30 | module.exports = handler 31 | -------------------------------------------------------------------------------- /plugins/waifu.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn }) => { 3 | let res = await fetch('https://api.waifu.pics/sfw/waifu') 4 | if (!res.ok) throw 'Error Website sedang down' 5 | let json = await res.json() 6 | if (!json.url) throw 'Error!' 7 | conn.sendFile(m.chat, json.url, '', 'istri gweh', m, 0, { thumbnail: Buffer.alloc(0) }) 8 | } 9 | handler.help = ['waifu'] 10 | handler.tags = ['anime'] 11 | handler.command = /^(waifu)$/i 12 | 13 | handler.limit = true 14 | 15 | module.exports = handler 16 | -------------------------------------------------------------------------------- /plugins/wallpaperAnime.js: -------------------------------------------------------------------------------- 1 | const fetch = require('node-fetch') 2 | 3 | let handler = async (m, { conn }) => { 4 | try { 5 | let res = await fetch(global.API('xteam', '/randomimage/wpmobile', {}, 'APIKEY')) 6 | if (res.status != 200) throw await res.text() 7 | let img = await res.buffer() 8 | conn.sendFile(m.chat, img, '', '*Wibu Stress*', m, false, { thumbnail: Buffer.alloc(0) }) 9 | } catch (e) { 10 | throw `Limit apikey habis atau error!` 11 | } 12 | } 13 | handler.help = ['wallpaperanime'] 14 | handler.tags = ['internet'] 15 | handler.command = /^(wallpaper|wp)anime$/i 16 | handler.limit = true 17 | 18 | module.exports = handler 19 | -------------------------------------------------------------------------------- /plugins/wallpaperq.js: -------------------------------------------------------------------------------- 1 | const fetch = require('node-fetch') 2 | 3 | let handler = async (m, { conn, text }) => { 4 | if (!text) throw 'Nyari apa?' 5 | let res = await fetch(global.API('https://wall.alphacoders.com/api2.0','/get.php', { 6 | auth: '3e7756c85df54b78f934a284c11abe4e', 7 | method: 'search', 8 | term: text 9 | })) 10 | if (!res.ok) throw await res.text() 11 | let json = await res.json() 12 | let img = json.wallpapers[Math.floor(Math.random() * json.wallpapers.length)] 13 | await conn.sendFile(m.chat, img.url_image, 'wallpaper', 'Nih wallpaper!', m) 14 | } 15 | handler.help = ['wallpaperq '] 16 | handler.tags = ['internet'] 17 | handler.command = /^wall(paper)?q?$/i 18 | handler.limit = true 19 | 20 | module.exports = handler 21 | -------------------------------------------------------------------------------- /plugins/wikipedia.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { text }) => { 3 | if (!text) throw 'cari apa?' 4 | let res = await fetch(`https://hadi-api.herokuapp.com/api/wiki?query=${text}`) 5 | let json = await res.json() 6 | if (json.status) m.reply(`*WIKIPEDIA* 7 | 8 | ${json.result}`) 9 | else throw 'not found' 10 | } 11 | handler.help = ['wiki ', 'wikipedia { 7 | let q = m.quoted ? m.quoted : m 8 | let mime = (q.msg || q).mimetype || '' 9 | if (/video/g.test(mime)) if ((q.msg || q).seconds > 11) return m.reply('Maksimal 10 detik!') 10 | try { 11 | let img = await q.download() 12 | 13 | if(!img) throw `balas gambar/video/stiker dengan perintah .stiker` 14 | conn.sendImageAsSticker(m.chat , img, m, {packname: text, author: ''}) 15 | } catch { throw 'Gagal!, Balas Gambar/video dengan caption *.stiker*'} 16 | } 17 | handler.help = ['wm', 'watermark'] 18 | handler.tags = ['sticker'] 19 | handler.command = /^wm|watermark?$/i 20 | 21 | module.exports = handler 22 | 23 | const isUrl = (text) => { 24 | return text.match(new RegExp(/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&/=]*)(jpe?g|gif|png)/, 'gi')) 25 | } 26 | -------------------------------------------------------------------------------- /plugins/wolflogo.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, args }) => { 3 | response = args.join(' ').split('|') 4 | if (!args[0]) throw 'Masukkan Parameter' 5 | m.reply('*[ ❗ ] Wait,Proses...*') 6 | let res = `https://api.zeks.xyz/api/wolflogo?apikey=apivinz&text1=${response[0]}&text2=${response[1]}` 7 | conn.sendFile(m.chat, res, 'wolflogo.jpg', `Nih kak`, m, false) 8 | } 9 | handler.help = ['wolflogo'].map(v => v + ' ') 10 | handler.tags = ['maker'] 11 | handler.command = /^(wolflogo)$/i 12 | 13 | module.exports = handler 14 | 15 | -------------------------------------------------------------------------------- /plugins/wpmobile.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, args }) => { 3 | response = args.join(' ') 4 | if (!args) throw 'Masukkan Parameter' 5 | m.reply('Sedang Diproses...') 6 | let res = `https://api.xteam.xyz/randomimage/wpmobile?apikey=beliapikey` 7 | conn.sendFile(m.chat, res, 'wpmobile.jpg', `wangy wangy wangy`, m, false) 8 | } 9 | handler.help = ['wpmobile'].map(v => v + ' ') 10 | handler.tags = ['image'] 11 | 12 | handler.command = /^(wpmobile)$/i 13 | handler.owner = false 14 | handler.mods = false 15 | handler.premium = false 16 | handler.group = false 17 | handler.private = true 18 | 19 | handler.admin = false 20 | handler.botAdmin = false 21 | 22 | handler.fail = null 23 | handler.limit = true 24 | 25 | module.exports = handler 26 | 27 | -------------------------------------------------------------------------------- /plugins/ytcomment.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | if (!text) throw 'Uhm... teksnya mana?' 3 | conn.sendFile(m.chat, global.API('https://some-random-api.ml', '/canvas/youtube-comment', { 4 | avatar: await conn.profilePictureUrl(m.sender).catch(_ => ''), 5 | comment: text, 6 | username: m.pushName 7 | }), 'yt-comment.png', 'Here is your comment', m) 8 | } 9 | 10 | handler.help = ['ytcomment '] 11 | handler.tags = ['internet'] 12 | 13 | handler.command = /^(ytcomment)$/i 14 | 15 | module.exports = handler 16 | -------------------------------------------------------------------------------- /plugins/yts.js: -------------------------------------------------------------------------------- 1 | let yts = require('yt-search') 2 | let handler = async (m, { text }) => { 3 | if (!text) throw 'Cari apa?' 4 | let results = await yts(text) 5 | let teks = results.all.map(v => { 6 | switch (v.type) { 7 | case 'video': return ` 8 | *${v.title}* (${v.url}) 9 | Duration: ${v.timestamp} 10 | Uploaded ${v.ago} 11 | ${v.views} views 12 | `.trim() 13 | case 'channel': return ` 14 | *${v.name}* (${v.url}) 15 | _${v.subCountLabel} (${v.subCount}) Subscriber_ 16 | ${v.videoCount} video 17 | `.trim() 18 | } 19 | }).filter(v => v).join('\n========================\n') 20 | m.reply(teks) 21 | } 22 | handler.help = ['', 'earch'].map(v => 'yts' + v + ' ') 23 | handler.tags = ['tools'] 24 | handler.command = /^yts(earch)?$/i 25 | 26 | module.exports = handler 27 | -------------------------------------------------------------------------------- /plugins/ytstalk.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | 3 | let handler = async(m, { conn, text }) => { 4 | 5 | if (!text) return conn.reply(m.chat, 'Harap Masukan Nama channel', m) 6 | 7 | await m.reply('Searching...') 8 | let res = await fetch(`https://x-restapi.herokuapp.com/api/yt-stalk?username=${text}&apikey=BETA`) 9 | let json = await res.json() 10 | if (res.status !== 200) throw await res.text() 11 | if (!json.status) throw json 12 | let thumb = await (await fetch(json.thumb)).buffer() 13 | let hasil = `*── 「 YOU-TUBE STALK 」 ──* 14 | 15 | ▢ *Nama*: ${json.channel} 16 | ▢ *Subscriber*: ${json.subscriberCount} 17 | ▢ *Verivikasi*: ${json.isVerified} 18 | ▢ *Link*: ${json.link} 19 | ▢ *Deskripsi*: ${json.description} 20 | ` 21 | 22 | conn.sendFile(m.chat, thumb, 'ytstalk.jpg', hasil, m) 23 | } 24 | handler.help = ['ytstalk','youtubestalk'].map(v => v + ' ') 25 | handler.tags = ['stalk'] 26 | handler.command = /^(ytstalk|youtubestalk)$/i 27 | 28 | module.exports = handler 29 | -------------------------------------------------------------------------------- /src/Aesthetic/Aesthetic_000.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/Aesthetic/Aesthetic_000.jpeg -------------------------------------------------------------------------------- /src/Aesthetic/Aesthetic_001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/Aesthetic/Aesthetic_001.jpg -------------------------------------------------------------------------------- /src/Aesthetic/Aesthetic_002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/Aesthetic/Aesthetic_002.jpg -------------------------------------------------------------------------------- /src/avatar_contact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/avatar_contact.png -------------------------------------------------------------------------------- /src/font/212BabyGirl.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/212BabyGirl.otf -------------------------------------------------------------------------------- /src/font/212LeahleeSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/212LeahleeSans.ttf -------------------------------------------------------------------------------- /src/font/99HandWritting.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/99HandWritting.ttf -------------------------------------------------------------------------------- /src/font/ACallingFontDby7NTypes.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/ACallingFontDby7NTypes.otf -------------------------------------------------------------------------------- /src/font/ACasualHandwrittenPenNoncommercial.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/ACasualHandwrittenPenNoncommercial.ttf -------------------------------------------------------------------------------- /src/font/ADayinSeptember.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/ADayinSeptember.otf -------------------------------------------------------------------------------- /src/font/ASMelanieHandwritting.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/ASMelanieHandwritting.ttf -------------------------------------------------------------------------------- /src/font/Alittlesunshine.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Alittlesunshine.ttf -------------------------------------------------------------------------------- /src/font/And-This-Happened.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/And-This-Happened.ttf -------------------------------------------------------------------------------- /src/font/AvenirCondensedHand.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/AvenirCondensedHand.ttf -------------------------------------------------------------------------------- /src/font/Avocados.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Avocados.ttf -------------------------------------------------------------------------------- /src/font/BabyDoll.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/BabyDoll.ttf -------------------------------------------------------------------------------- /src/font/BattleOfKingsRegular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/BattleOfKingsRegular.ttf -------------------------------------------------------------------------------- /src/font/BrayNotes.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/BrayNotes.ttf -------------------------------------------------------------------------------- /src/font/Convered-By-Your-Grace.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Convered-By-Your-Grace.ttf -------------------------------------------------------------------------------- /src/font/Edoms-Handwritting-Normal.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Edoms-Handwritting-Normal.ttf -------------------------------------------------------------------------------- /src/font/Futura Bold Italic font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Futura Bold Italic font.ttf -------------------------------------------------------------------------------- /src/font/Futura Bold font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Futura Bold font.ttf -------------------------------------------------------------------------------- /src/font/Futura Book Italic font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Futura Book Italic font.ttf -------------------------------------------------------------------------------- /src/font/Futura Book font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Futura Book font.ttf -------------------------------------------------------------------------------- /src/font/Futura Extra Black font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Futura Extra Black font.ttf -------------------------------------------------------------------------------- /src/font/Futura Heavy Italic font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Futura Heavy Italic font.ttf -------------------------------------------------------------------------------- /src/font/Futura Heavy font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Futura Heavy font.ttf -------------------------------------------------------------------------------- /src/font/Futura Light Italic font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Futura Light Italic font.ttf -------------------------------------------------------------------------------- /src/font/Futura Light font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Futura Light font.ttf -------------------------------------------------------------------------------- /src/font/Futura Medium Italic font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Futura Medium Italic font.ttf -------------------------------------------------------------------------------- /src/font/Futura XBlk BT.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Futura XBlk BT.ttf -------------------------------------------------------------------------------- /src/font/Futura-CondensedLight.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Futura-CondensedLight.otf -------------------------------------------------------------------------------- /src/font/GloriaHallelujah-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/GloriaHallelujah-Regular.ttf -------------------------------------------------------------------------------- /src/font/HandwritingCR-2.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/HandwritingCR-2.ttf -------------------------------------------------------------------------------- /src/font/Kempton-Demo-Handwritting.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Kempton-Demo-Handwritting.ttf -------------------------------------------------------------------------------- /src/font/MyHandsareHoldingYou.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/MyHandsareHoldingYou.ttf -------------------------------------------------------------------------------- /src/font/My_handwriting.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/My_handwriting.ttf -------------------------------------------------------------------------------- /src/font/Nadeznas-Handwritting.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Nadeznas-Handwritting.ttf -------------------------------------------------------------------------------- /src/font/Roboto-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Roboto-Black.ttf -------------------------------------------------------------------------------- /src/font/Roboto-BlackItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Roboto-BlackItalic.ttf -------------------------------------------------------------------------------- /src/font/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Roboto-Bold.ttf -------------------------------------------------------------------------------- /src/font/Roboto-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Roboto-BoldItalic.ttf -------------------------------------------------------------------------------- /src/font/Roboto-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Roboto-Italic.ttf -------------------------------------------------------------------------------- /src/font/Roboto-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Roboto-Light.ttf -------------------------------------------------------------------------------- /src/font/Roboto-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Roboto-LightItalic.ttf -------------------------------------------------------------------------------- /src/font/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Roboto-Medium.ttf -------------------------------------------------------------------------------- /src/font/Roboto-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Roboto-MediumItalic.ttf -------------------------------------------------------------------------------- /src/font/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Roboto-Regular.ttf -------------------------------------------------------------------------------- /src/font/Roboto-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Roboto-Thin.ttf -------------------------------------------------------------------------------- /src/font/Roboto-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Roboto-ThinItalic.ttf -------------------------------------------------------------------------------- /src/font/ShadowsIntoLight-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/ShadowsIntoLight-Regular.ttf -------------------------------------------------------------------------------- /src/font/Zahraaa.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/Zahraaa.ttf -------------------------------------------------------------------------------- /src/font/angelina.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/angelina.ttf -------------------------------------------------------------------------------- /src/font/futur.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/futur.ttf -------------------------------------------------------------------------------- /src/font/futura light bt.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/futura light bt.ttf -------------------------------------------------------------------------------- /src/font/futura medium bt.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/futura medium bt.ttf -------------------------------------------------------------------------------- /src/font/futura medium condensed bt.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/futura medium condensed bt.ttf -------------------------------------------------------------------------------- /src/font/michellehandwritting.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/font/michellehandwritting.ttf -------------------------------------------------------------------------------- /src/kertas/Elyas.js: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/kertas/magernulis1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/kertas/magernulis1.jpg -------------------------------------------------------------------------------- /src/premium.json: -------------------------------------------------------------------------------- 1 | [] 2 | -------------------------------------------------------------------------------- /src/squidGame_GLRL.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/squidGame_GLRL.mp3 -------------------------------------------------------------------------------- /src/squidGame_GLRL_Scan.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/squidGame_GLRL_Scan.mp3 -------------------------------------------------------------------------------- /src/squidGame_GLRL_Shoot.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/squidGame_GLRL_Shoot.mp3 -------------------------------------------------------------------------------- /src/welcome.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paquito1923/elyasmd/57dcfd305690a12ca4753423df421ab223ed81b0/src/welcome.jpg -------------------------------------------------------------------------------- /tmp/Elyas: -------------------------------------------------------------------------------- 1 | 2 | --------------------------------------------------------------------------------