diff --git a/Commands/Logohub.js b/Commands/Logohub.js new file mode 100644 index 0000000..8453d05 --- /dev/null +++ b/Commands/Logohub.js @@ -0,0 +1,78 @@ +/* + Sew Queen Whatsapp Bot + + Telegram: t.me/RavinduManoj + Facebook: https://www.facebook.com/ravindu.manoj.79 + Licensed under the GPL-3.0 License; + + Coded By Ravindu Manoj +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let {sendMessagettp} = require('sew-queen-pro/sources/dc/cmd/ttp') +let {SetUPImageInSEWQUEEN} = require('sew-queen-pro/sources/dc/cmd/setimg') +let {sendMessagelogolist} = require('sew-queen-pro/sources/dc/cmd/TextList') +let {sendMessagelogores, sendMessagepngres} = require('sew-queen-pro/sources/dc/cmd/textmaker') +let WorkType = Details.WORKTYPE == 'public' ? false : true +var { FancyText, fancyList } = require("fancy-sew-amdi") +let { MessageType, Mimetype } = require('@ravindu01manoj/sew-queen-web'); +var LOGODISC = ''; +var des = ''; +if (Details.LANG == 'SI') { + des = 'ඉමෝජි පින්තූර බවට පත් කරයි' + LOGODISC = '350 කට අදික ඌ ලෝගො සෑදීම සදහා යොදා ගන්න.අනිවාරයෙන් වචන දෙකක් යෙදිය යුතු අතර වචන දෙක / මගින් වෙන් කරන්න.\n🎲උදා:- .textlogo SEW / QUEEN' +} else { + des = "You Can Png From Any Emoji" + LOGODISC = '350+ Text To Image and Logo Maker... Need Two Words And Split Them Using /\neg : .textlogo SEW / Queen ' +} +SewQueen['IntroduceCMD']({ + pattern: 'attp ?(.*)', + fromMe: WorkType, + disc: 'ttp and 250+ sticker making command...\n*Usage:-* .attp Sew' + }, +(async (QueenSew, input) => { + await sendMessagettp(QueenSew, input) +})); +SewQueen['IntroduceCMD']({ + pattern: 'png ?(.*)', + fromMe: WorkType, + disc: des + }, +(async (QueenSew, input) => { +await sendMessagepngres(QueenSew, input) +})); +SewQueen['IntroduceCMD']({ + pattern: 'textlogo ?(.*)', + fromMe: WorkType, + disc: LOGODISC + }, +(async (QueenSew, input) => { +await sendMessagelogolist(QueenSew, input) +await sendMessagelogores(QueenSew, input) +})); +SewQueen['IntroduceCMD']({ + pattern: 'fancy ?(.*)', + fromMe: WorkType, + disc: '118+ Fancy Text Maker With Unlimited Access' + }, +(async (QueenSew, input) => { +if(input[1].includes('//--//')) { +var text = input[1].split('//--//')[1] +var type = input[1].split('//--//')[0] +var fancy = await FancyText(text) +await QueenSew.client.sendMessage(QueenSew.jid, fancy[type], MessageType.text) +} else { +var list = await fancyList(input[1]) +await QueenSew.client.sendMessage(QueenSew.jid, list, MessageType.listMessage) +} +})); + +SewQueen['IntroduceCMD']({ + pattern: 'setimg ?(.*)', + fromMe: true, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await SetUPImageInSEWQUEEN(QueenSew, input) +})); diff --git a/Commands/Main.js b/Commands/Main.js new file mode 100644 index 0000000..9bab107 --- /dev/null +++ b/Commands/Main.js @@ -0,0 +1,869 @@ +/* + Sew Queen Whatsapp Bot + + Telegram: t.me/RavinduManoj + Facebook: https://www.facebook.com/ravindu.manoj.79 + Licensed under the GPL-3.0 License; + + Coded By Ravindu Manoj +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { sendMessageUnlimtedSpam } = require('sew-queen-pro/sources/dc/cmd/spam') +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); let os = require('os'); let ffmpeg = require('fluent-ffmpeg'); let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let Language = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +const Lang = Language.dataGet('profile'); +let { sendMessageAutoReply, sendMessageWarnKick, sendMessageError} = require('sew-queen-pro/sources/dc/cmd/warn') +let { sendMessageVerification, sendMessageCheckVerify } = require('sew-queen-pro/sources/dc/cmd/verify') +let { SewQueenWebQrGenarater, checkIsGroup} = require('sew-queen-pro/sources/dc/cmd/admin') +let { sendMessageSetUp } = require('sew-queen-pro/sources/dc/cmd/setup') +let { sendMessageGrpClone } = require('sew-queen-pro/sources/dc/cmd/clone') +let SEWA = 'need word' +let SEWB = 'Successfully Changed' +let CLR_DESC = 'Chat clear' +let { ReplyMessegedelete, sendMessageResetgroup, sendMessageJoingroup, + sendMessageKickgroup, sendMessageAddgroup, sendMessagePromogroup, + sendMessageDimogroup, sendMessageMutegroup, sendMessageUnmutgroup, + sendMessageDpgroup, sendMessageGetstatus, sendMessageClearlist, sendMessageTextboom, + sendMessageMpboom, sendMessageJpboom, sendMessageStickboom, sendMessageVidboom, + sendMessagecommgrp, sendMessagediffgrp, sendMessageinbox} = require('sew-queen-pro/sources/dc/cmd/admin'); +let { sendMessagebadckickdata, sendMessageinbokickdata, sendMessagedatacopykick, BadKick} = require('sew-queen-pro/sources/dc/cmd/bad'); + +async function checkUsAdmin(message, user = message.data.participant) { + var grup = await message.client.groupMetadata(message.jid); + var sonuc = grup['participants'].map((member) => { + if (member.jid.split("@")[0] == user.split("@")[0] && member.isAdmin) return true; else; return false; + }); + return sonuc.includes(true); +} +const Heroku = require('heroku-client'); const heroku = new Heroku({ token: Details.HEROKU.API_KEY}); let baseURI = '/apps/' + Details.HEROKU.APP_NAME; +async function checkImAdmin(message, user = message.client.user.jid) { + var grup = await message.client.groupMetadata(message.jid); + var sonuc = grup['participants'].map((member) => { + + if (member.jid.split("@")[0] == user.split("@")[0] && member.isAdmin) return true; else; return false; + }); + return sonuc.includes(true); +} + + +// NOW Sew Queen Users Can Give Qr For Another Person To Make Thair Sew Queen Bot Easily +SewQueen['IntroduceCMD']({ + pattern: 'getqr ?(.*)', + fromMe: true, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +try { +await SewQueenWebQrGenarater(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); +// Automated + +// Sew Queen Verification System For Join Sew Queen Helping Groups... +SewQueen['IntroduceCMD']({ + pattern: 'verify ?(.*)', + fromMe: true, + dontAdCommandList: true, + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { +await sendMessageVerification(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); + +SewQueen['IntroduceCMD']({ + pattern: 'clone ?(.*)', + fromMe: true, + dontAdCommandList: true, + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { +await sendMessageGrpClone(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); + +SewQueen['IntroduceCMD']({ + pattern: 'r ?(.*)',// give Unlimeted Spam Attack + fromMe: true, + dontAdCommandList: true, + }, +(async (QueenSew, input) => { +await sendMessageUnlimtedSpam(QueenSew, input) +})); + +SewQueen['IntroduceCMD']({ + on: 'text', + fromMe: false, + dontAdCommandList: true, + delownsewcmd: false, + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { +await sendMessageCheckVerify(QueenSew) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})) +// End Verification + +SewQueen['IntroduceCMD']({ + pattern: 'grpcast ?(.*)', + fromMe: true, + disc: 'Brodcast A message For All Members of Any Group' + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { +await sendMessageinbox(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); + +SewQueen['IntroduceCMD']({ + pattern: 'setup ?(.*)', + fromMe: true, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +try { +await sendMessageSetUp(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); + +SewQueen['IntroduceCMD']({ + pattern: 'autoreply ?(.*)', + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +try { +await sendMessageAutoReply(QueenSew, input, 'set') +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); +SewQueen['IntroduceCMD']({ + pattern: 'replydel ?(.*)', + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +try { +await sendMessageAutoReply(QueenSew, input, 'del') +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); + +SewQueen['IntroduceCMD']({ + on: 'text', + fromMe: false, + dontAdCommandList: true, + delownsewcmd: false + }, +(async (QueenSew, input) => { +try { +await sendMessageAutoReply(QueenSew, input, 'send') +} catch (e) { +await sendMessageError(QueenSew, e) +} +})) + +SewQueen['IntroduceCMD']({ + pattern: 'warn ?(.*)', + fromMe: true, + dontAdCommandList: true, + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { +await sendMessageWarnKick(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); + +SewQueen['IntroduceCMD']({ + pattern: 'close', + fromMe: true, + dontAdCommandList: true}, +(async (QueenSew, input) => { + + await QueenSew.client.sendMessage(QueenSew.jid, 'Successful Closed Action', MessageType.text); + await heroku.delete(baseURI + '/dynos').catch(async (error) => { + await QueenSew.client.sendMessage(QueenSew.jid, error.message, MessageType.text); +}); +})); +// ===============================ᴅᴇʟᴇᴛᴇ========== +const DEL_DESC = "Deletes The Replied Message Send By The Bot" +SewQueen['IntroduceCMD']({ + pattern: 'del ?(.*)', + fromMe: WorkType, + desc: DEL_DESC}, +(async (QueenSew, input) => { +try { +await ReplyMessegedelete(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})) +//================================ʙᴏᴏᴍ========= +SewQueen['IntroduceCMD']({ + pattern: 'boomtext ?(.*)', + fromMe: true, + dontAdCommandList: true}, +(async (QueenSew, input) => { +try { +await sendMessageTextboom(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); +SewQueen['IntroduceCMD']({ + pattern: 'boomaudio$', + fromMe: true, + dontAdCommandList: true}, +(async (QueenSew, input) => { +try { +await sendMessageMpboom(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); +SewQueen['IntroduceCMD']({ + pattern: 'boomphoto$', + fromMe: true, + dontAdCommandList: true}, +(async (QueenSew, input) => { +await sendMessageJpboom(QueenSew, input) +})); +SewQueen['IntroduceCMD']({ + pattern: 'boomstic$', + fromMe: true, + dontAdCommandList: true }, +(async (QueenSew, input) => { +try { +await sendMessageStickboom(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); + +SewQueen['IntroduceCMD']({ + pattern: 'boomvid$', + fromMe: true, + dontAdCommandList: true }, +(async (QueenSew, input) => { +try { +await sendMessageVidboom(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); +//================================ᴄʟᴇᴀʀ========= +SewQueen['IntroduceCMD']({ + pattern: 'clear ?(.*)', + fromMe: true, + desc: CLR_DESC, + usage: '.clear // .clear 94718281xxx // .clear 94718281xxx-12345678@g.us'}, +(async (QueenSew, input) => { +try { + await sendMessageClearlist(QueenSew, input) + } catch (e) { +await sendMessageError(QueenSew, e) +} +})); +//================================ꜱᴛᴀᴛᴜꜱ========= +SewQueen['IntroduceCMD']({ + pattern: 'getst$', + fromMe: true, + dontAdCommandList: true}, +(async (QueenSew, input) => { +try { + await sendMessageGetstatus(QueenSew, input) + } catch (e) { +await sendMessageError(QueenSew, e) +} +})); +//================================ʙᴀᴅ ᴋɪᴄᴋ========= +SewQueen['IntroduceCMD']({on: 'text', + fromMe: false, + delownsewcmd: false}, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { +await sendMessagebadckickdata(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); +//================================ᴄᴏᴘʏ ʏᴀ ᴋɪᴄᴋ 😆========= +SewQueen['IntroduceCMD']({on: 'text', + fromMe: false, + delownsewcmd: false}, +(async (QueenSew, input) => { +try { +await sendMessagedatacopykick(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); +//================================ɪɴʙᴏx ʙʟᴏᴄᴋ========= + if (Details.INBO == 'true') { +SewQueen['IntroduceCMD']({on: 'text', + fromMe: false, + delownsewcmd: false, + onlyPm: true }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (grptest) return; +try { +await sendMessageinbokickdata(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); + +} +SewQueen['IntroduceCMD']({ + pattern: 'badkick ?(.*)', + fromMe: WorkType, + dontAdCommandList: true, + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { +await BadKick(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); +//================================ꜰᴏʀ ɢʀᴏᴜᴘ========= +SewQueen['IntroduceCMD']({ + pattern: 'comm ?(.*)', + fromMe: true, + dontAdCommandList: true, + // disc: + }, +(async (QueenSew, input) => { +try { +await sendMessagecommgrp(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); +SewQueen['IntroduceCMD']({ + pattern: 'diff ?(.*)', + fromMe: true, + dontAdCommandList: true, + // disc: + }, +(async (QueenSew, input) => { +try { +await sendMessagediffgrp(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); +SewQueen['IntroduceCMD']({ + pattern: 'join ?(.*)', + fromMe: true, + dontAdCommandList: true}, +(async (QueenSew, input) => { +try { +await sendMessageJoingroup(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} + })); +SewQueen['IntroduceCMD']({ + pattern: 'reset ?(.*)', + fromMe: true, + dontAdCommandList: true, + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { +await sendMessageResetgroup(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} + })); +SewQueen['IntroduceCMD']({ + pattern: 'kick ?(.*)', + fromMe: true, + dontAdCommandList: true, + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { +await sendMessageKickgroup(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); +SewQueen['IntroduceCMD']({ + pattern: 'add(?: |$)(.*)', + fromMe: true, + dontAdCommandList: true, + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { +await sendMessageAddgroup(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); +SewQueen['IntroduceCMD']({ + pattern: 'promote ?(.*)', + fromMe: true, + dontAdCommandList: true, + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { +await sendMessagePromogroup(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); + +SewQueen['IntroduceCMD']({ + pattern: 'demote ?(.*)', + fromMe: true, + dontAdCommandList: true, + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { +await sendMessageDimogroup(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); + +SewQueen['IntroduceCMD']({ + pattern: 'mute ?(.*)', + fromMe: true, + dontAdCommandList: true, + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { +await sendMessagesendMessageMutegroup(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); + +SewQueen['IntroduceCMD']({ + pattern: 'unmute ?(.*)', + fromMe: true, + dontAdCommandList: true, + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { +await sendMessagesendMessageUnmutgroup(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); + +SewQueen['IntroduceCMD']({ + pattern: 'invite ?(.*)', + fromMe: true, + dontAdCommandList: true, + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { + var im = await checkImAdmin(QueenSew); + if (!im) return await QueenSew.client.sendMessage(QueenSew.jid,Lang.IM_NOT_ADMIN, MessageType.text); + var invite = await QueenSew.client.groupInviteCode(QueenSew.jid); + await QueenSew.client.sendMessage(QueenSew.jid,Lang.INVITE + ' https://chat.whatsapp.com/' + invite, MessageType.text); +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); +SewQueen['IntroduceCMD']({ + pattern: 'name ?(.*)', + fromMe: true, + dontAdCommandList: true}, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; + var im = await checkImAdmin(QueenSew); + if (!im) return await QueenSew.client.sendMessage(QueenSew.jid,Lang.IM_NOT_ADMIN,MessageType.text); + if (input[1] === '') return await QueenSew.client.sendMessage(QueenSew.jid,SEWA); + await QueenSew.client.groupUpdateSubject(QueenSew.jid, input[1]); + await QueenSew.client.sendMessage(QueenSew.jid,SEWB,MessageType.text); + } +)); + +SewQueen['IntroduceCMD']({ + pattern: 'dp', + fromMe: true, + dontAdCommandList: true, + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { +await sendMessageDpgroup(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); + +if (Details.GRPMANAGE == 'true') { + +SewQueen['IntroduceCMD']({ + pattern: 'reset ?(.*)', + fromMe: false, + dontAdCommandList: true, + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { +var us = await checkUsAdmin(QueenSew) +if (!us) return; +await sendMessageResetgroup(QueenSew, input) + } catch (e) { +await sendMessageError(QueenSew, e) +} +})); +SewQueen['IntroduceCMD']({ + pattern: 'kick ?(.*)', + fromMe: false, + dontAdCommandList: true, + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { +var us = await checkUsAdmin(QueenSew) +if (!us) return; +await sendMessageKickgroup(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); +SewQueen['IntroduceCMD']({ + pattern: 'add(?: |$)(.*)', + fromMe: false, + dontAdCommandList: true, + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { +var us = await checkUsAdmin(QueenSew) +if (!us) return; +await sendMessageAddgroup(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); +SewQueen['IntroduceCMD']({ + pattern: 'promote ?(.*)', + fromMe: false, + dontAdCommandList: true, + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { +var us = await checkUsAdmin(QueenSew) +if (!us) return; +await sendMessagePromogroup(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); + +SewQueen['IntroduceCMD']({ + pattern: 'demote ?(.*)', + fromMe: false, + dontAdCommandList: true, + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { +var us = await checkUsAdmin(QueenSew) +if (!us) return; +await sendMessageDimogroup(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); + +SewQueen['IntroduceCMD']({ + pattern: 'mute ?(.*)', + fromMe: false, + dontAdCommandList: true, + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { +var us = await checkUsAdmin(QueenSew) +if (!us) return; +await sendMessageMutegroup(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); + +SewQueen['IntroduceCMD']({ + pattern: 'unmute ?(.*)', + fromMe: false, + dontAdCommandList: true, + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { +var us = await checkUsAdmin(QueenSew) +if (!us) return; +await sendMessageUnmutgroup(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); + +SewQueen['IntroduceCMD']({ + pattern: 'invite ?(.*)', + fromMe: false, + dontAdCommandList: true, + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { +var us = await checkUsAdmin(QueenSew) +if (!us) return; + var im = await checkImAdmin(QueenSew); + if (!im) return await QueenSew.client.sendMessage(QueenSew.jid,Lang.IM_NOT_ADMIN, MessageType.text); + var invite = await QueenSew.client.groupInviteCode(QueenSew.jid); + await QueenSew.client.sendMessage(QueenSew.jid,Lang.INVITE + ' https://chat.whatsapp.com/' + invite, MessageType.text); +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); +SewQueen['IntroduceCMD']({ + pattern: 'name ?(.*)', + fromMe: false, + dontAdCommandList: true}, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +var us = await checkUsAdmin(QueenSew) +if (!us) return; + var im = await checkImAdmin(QueenSew); + if (!im) return await QueenSew.client.sendMessage(QueenSew.jid,Lang.IM_NOT_ADMIN,MessageType.text); + if (input[1] === '') return await QueenSew.client.sendMessage(QueenSew.jid,SEWA); + await QueenSew.client.groupUpdateSubject(QueenSew.jid, input[1]); + await QueenSew.client.sendMessage(QueenSew.jid,SEWB,MessageType.text); + } +)); + +SewQueen['IntroduceCMD']({ + pattern: 'dp', + fromMe: false, + dontAdCommandList: true, + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; +try { +var us = await checkUsAdmin(QueenSew) +if (!us) return; +await sendMessageDpgroup(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); +SewQueen['IntroduceCMD']({ + pattern: 'warn ?(.*)', + fromMe: false, + dontAdCommandList: true, + }, +(async (QueenSew, input) => { +var grptest = await checkIsGroup(QueenSew); + if (!grptest) return; + try { +var us = await checkUsAdmin(QueenSew) +if (!us) return; +await sendMessageWarnKick(QueenSew, input) +} catch (e) { +await sendMessageError(QueenSew, e) +} +})); +} + + +SewQueen['IntroduceCMD']({pattern: 'left', fromMe: true, dontAdCommandList: true, desc: Lang.KICKME_DESC, }, (async (message, match) => { + if (Details.KICKMEMSG == 'default') { + await message.client.sendMessage(message.jid,Lang.KICKME,MessageType.text); + await message.client.groupLeave(message.jid); + } + else { + await message.client.sendMessage(message.jid,Details.KICKMEMSG,MessageType.text); + await message.client.groupLeave(message.jid); + } +})); + +SewQueen['IntroduceCMD']({pattern: 'pp', fromMe: true, dontAdCommandList: true, desc: Lang.PP_DESC}, (async (message, match) => { + if (!message.reply_message || !message.reply_message.image) return await message.client.sendMessage(message.jid,Lang.NEED_PHOTO, MessageType.text); + + var load = await message.client.sendMessage(message.jid,Lang.PPING,MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + await message.client.updateProfilePicture(message.client.user.jid, fs.readFileSync(location)); + await message.client.deleteMessage(message.jid, {id: load.key.id, remoteJid: message.jid, fromMe: true}) +})); + +SewQueen['IntroduceCMD']({pattern: 'block ?(.*)', fromMe: true, dontAdCommandList: true, desc: Lang.BLOCK_DESC}, (async (message, match) => { + if (Details.BLOCKMSG == 'default') { + if (message.reply_message !== false) { + await message.client.sendMessage(message.jid, '@' + message.reply_message.jid.split('@')[0] + '```, ' + Lang.BLOCKED + '!```', MessageType.text, { + quotedMessage: message.reply_message.data, contextInfo: {mentionedJid: [message.reply_message.jid.replace('c.us', 's.whatsapp.net')]} + }); + await message.client.blockUser(message.reply_message.jid, "add"); + } else if (message.mention !== false) { + message.mention.map(async user => { + await message.client.sendMessage(message.jid, '@' + user.split('@')[0] + '```, ' + Lang.BLOCKED + '!```', MessageType.text, { + previewType: 0, contextInfo: {mentionedJid: [user.replace('c.us', 's.whatsapp.net')]} + }); + await message.client.blockUser(user, "add"); + }); + } else if (!message.jid.includes('g.us')) { + await message.client.sendMessage(message.jid, '*' + Lang.BLOCKED_UPPER + '*', MessageType.text); + await message.client.blockUser(message.jid, "add"); + } else { + await message.client.sendMessage(message.jid, '*' + Lang.NEED_USER + '*', MessageType.text); + } + } + else { + if (message.reply_message !== false) { + await message.client.sendMessage(message.jid, '@' + message.reply_message.jid.split('@')[0] + Details.BLOCKMSG, MessageType.text, { + quotedMessage: message.reply_message.data, contextInfo: {mentionedJid: [message.reply_message.jid.replace('c.us', 's.whatsapp.net')]} + }); + await message.client.blockUser(message.reply_message.jid, "add"); + } else if (message.mention !== false) { + message.mention.map(async user => { + await message.client.sendMessage(message.jid, '@' + user.split('@')[0] + Details.BLOCKMSG, MessageType.text, { + previewType: 0, contextInfo: {mentionedJid: [user.replace('c.us', 's.whatsapp.net')]} + }); + await message.client.blockUser(user, "add"); + }); + } else if (!message.jid.includes('g.us')) { + await message.client.sendMessage(message.jid, '*' + Lang.BLOCKED_UPPER + '*', MessageType.text); + await message.client.blockUser(message.jid, "add"); + } else { + await message.client.sendMessage(message.jid, '*' + Lang.NEED_USER + '*', MessageType.text); + } + } +})); + +SewQueen['IntroduceCMD']({pattern: 'unblock ?(.*)', fromMe: true, dontAdCommandList: true, desc: Lang.UNBLOCK_DESC}, (async (message, match) => { + if (Details.UNBLOCKMSG == 'default') { + + if (message.reply_message !== false) { + await message.client.blockUser(message.reply_message.jid, "remove"); + await message.client.sendMessage(message.jid, '@' + message.reply_message.jid.split('@')[0] + '```, ' + Lang.UNBLOCKED + '!```', MessageType.text, { + quotedMessage: message.reply_message.data, contextInfo: {mentionedJid: [message.reply_message.jid.replace('c.us', 's.whatsapp.net')]} + }); + } else if (message.mention !== false) { + message.mention.map(async user => { + await message.client.blockUser(user, "remove"); + await message.client.sendMessage(message.jid, '@' + user.split('@')[0] + '```, ' + Lang.UNBLOCKED + '!```', MessageType.text, { + contextInfo: {mentionedJid: [user.replace('c.us', 's.whatsapp.net')]} + }); + }); + } else if (!message.jid.includes('g.us')) { + await message.client.blockUser(message.jid, "remove"); + await message.client.sendMessage(message.jid, '*' + Lang.UNBLOCKED_UPPER + '*', MessageType.text,); + } else { + await message.client.sendMessage(message.jid, '*' + Lang.NEED_USER + '*', MessageType.text,); + } + } + else { + if (message.reply_message !== false) { + await message.client.blockUser(message.reply_message.jid, "remove"); + await message.client.sendMessage(message.jid, '@' + message.reply_message.jid.split('@')[0] + Details.UNBLOCKMSG, MessageType.text, { + quotedMessage: message.reply_message.data, contextInfo: {mentionedJid: [message.reply_message.jid.replace('c.us', 's.whatsapp.net')]} + }); + } else if (message.mention !== false) { + message.mention.map(async user => { + await message.client.blockUser(user, "remove"); + await message.client.sendMessage(message.jid, '@' + user.split('@')[0] + Details.UNBLOCKMSG, MessageType.text, { + contextInfo: {mentionedJid: [user.replace('c.us', 's.whatsapp.net')]} + }); + }); + } else if (!message.jid.includes('g.us')) { + await message.client.blockUser(message.jid, "remove"); + await message.client.sendMessage(message.jid, '*' + Lang.UNBLOCKED_UPPER + '*', MessageType.text,); + } else { + await message.client.sendMessage(message.jid, '*' + Lang.NEED_USER + '*', MessageType.text,); + } + } +})); +SewQueen['IntroduceCMD']({pattern: 'getdp', fromMe: true, dontAdCommandList: true}, (async (message, match) => { +var ppUrl = await message.client.getProfilePicture(message.jid) +const resim = await axios.get(ppUrl, {responseType: 'arraybuffer'}) + await message.client.updateProfilePicture(message.client.user.jid, Buffer(resim.data)); + })); +SewQueen['IntroduceCMD']({pattern: 'getbio', fromMe: true, dontAdCommandList: true}, (async (message, match) => { +var status = await message.client.getStatus(message.jid) +await message.client.setStatus(status) +})); +SewQueen['IntroduceCMD']({on: 'text', fromMe: false, dontAdCommandList: true}, (async (message, match) => { +if(Details.VOICE_REPLY == 'true'){if(!!message.mention && message.mention[0] == '94785457519@s.whatsapp.net') {await message.client.sendMessage(message.jid, fs.readFileSync('./VoiceClip/mention.mp3'), MessageType.audio, { mimetype: Mimetype.mp4Audio, quoted : message.data, ptt: true})};const array = ['Bye','Hello','Helo','Hey','Hi','Hy','I love you','Marilada','bye','hello','hey','helo','hi','hy','i love you','marilada','sewmaker','bitch','sapak','Sapak','Bich','y ban','Y ban','Y bn','y bn','Why ban','why ban','uddika','Uddika','sindu','Sindu','Seen','seen','Raviya','raviya','notes','Pinnaya','Paraya','Pala','pinnaya','paraya','pala','natanna','Natanna','Natahan','natahan','Nah','nah','na na','Na na','mokek','Mokek','Mk','mk','Kohomd','kohomada','kohomd','Kohomd','hum','Hum','Hmm','hmm','Hako','hako','ha ha','Ha ha','Guti','guti','Gothaya','gothaya','Good night','good night','good morning','Good Morning','Gn','gn','Gm','gm','Gahano','gahano','Gahanawa','gahanawa','Fuck','fuck','Esawa','esawa','Ep wel','ep wel','epa wela','Epa wela','En nane','en nane','Bitch','bich','Bb ek','bb ek','balagena','Balagena','balaganin','Balaganin','baba eka','Baba eka','Adarey','adarey','Adarei','adarei','Akke','akke','Baduwa','baduwa','Balli','balli','Denawada','denawada','Hukanna','hukanna','Hukanni','hukanni','Huththa','huththa','Huththi','huththi','Kariya','kariya','Kellekda','kellekda','Love','love','Namaskaram','namaskaram','Namasthe','namasthe','Namgi','namgi','Pakaya','pakaya','Ponnaya','ponnaya','ponni','Ponni','U girl','u girl','Umma','umma','Ummah','ummah','Ummma','ummma','Vesawi','vesawi','Vesavi','vesavi','Wesi','wesi','You girl','you girl'];array.map( async (a) => {let pattern = new RegExp(`\\b${a}\\b`, 'g');if(pattern.test(message.message)){await message.client.sendMessage(message.jid, fs.readFileSync('./VoiceClip/' + a + '.mp3'), MessageType.audio, { mimetype: Mimetype.mp4Audio, quoted: message.data, ptt: true})}})}})) + diff --git a/Commands/Menu.js b/Commands/Menu.js new file mode 100644 index 0000000..19c5777 --- /dev/null +++ b/Commands/Menu.js @@ -0,0 +1,74 @@ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let {sendMessageAllMenu,sendMessageonemenu} = require('sew-queen-pro/sources/dc/cmd/menu') +let WorkType = Details.WORKTYPE == 'public' ? false : true + +SewQueen['IntroduceCMD']({ + pattern: 'help ?(.*)', + fromMe: false, + dontAdCommandList: true, + }, +(async (QueenSew,input) => { + if(Details.WORKTYPE !== 'public') return; +await sendMessageAllMenu(QueenSew,input) +})); +SewQueen['IntroduceCMD']({ + pattern: 'help ?(.*)', + fromMe: true, + dontAdCommandList: true, + }, +(async (QueenSew,input) => { +await sendMessageAllMenu(QueenSew,input) +})); +SewQueen['IntroduceCMD']({ + pattern: 'list ?(.*)', + fromMe: WorkType, + dontAdCommandList: true, + }, +(async (QueenSew,input) => { +await sendMessageAllMenu(QueenSew,input) +})); +SewQueen['IntroduceCMD']({ + pattern: 'cmd ?(.*)', + fromMe: WorkType, + dontAdCommandList: true, + }, +(async (QueenSew,input) => { +await sendMessageAllMenu(QueenSew,input) +})); + +SewQueen['IntroduceCMD']({ + pattern: 'SEW ?(.*)', + fromMe: WorkType, + dontAdCommandList: true, + }, +(async (QueenSew,input) => { +await sendMessageAllMenu(QueenSew,input) +})); +SewQueen['IntroduceCMD']({ + pattern: 'මෙනු ?(.*)', + fromMe: WorkType, + dontAdCommandList: true, + }, +(async (QueenSew,input) => { +await sendMessageAllMenu(QueenSew,input) +})); +SewQueen['IntroduceCMD']({ + pattern: 'letcmd ?(.*)', + fromMe: false, + dontAdCommandList: true, + }, +(async (QueenSew,input) => { + if(Details.WORKTYPE !== 'public') return; +await sendMessageonemenu(QueenSew,input) +})); + +SewQueen['IntroduceCMD']({ + pattern: 'letcmd ?(.*)', + fromMe: true, + dontAdCommandList: true, + }, +(async (QueenSew,input) => { +await sendMessageonemenu(QueenSew,input) +})); diff --git a/Commands/SewAiMsg.js b/Commands/SewAiMsg.js new file mode 100644 index 0000000..df79e90 --- /dev/null +++ b/Commands/SewAiMsg.js @@ -0,0 +1,205 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +let https = require('https'); +let googleTTS = require('google-translate-tts'); +let DATA = DataHelp.dataGet('voicy'); +let axiosdef = require("axios").default; +let translatte = require('translatte'); +let LanguageDetect = require('languagedetect'); +let lngDetector = new LanguageDetect(); +let Heroku = require('heroku-client'); +let heroku = new Heroku({ + token: Details.HEROKU.API_KEY +}); +let baseURI = '/apps/' + Details.HEROKU.APP_NAME; + +let recognizeAudio = () => { + let headers = new Headers({ + 'Content-Type': 'audio/wav', + "Authorization": `Bearer ${Details.WITAI_API}`, + 'Cache-Control': 'no-cache', + 'Transfer-Encoding': 'chunked' + }) + let requestBody = { + method: "POST", + body: fs.readFileSync('output.wav'), + headers: headers + } + return fetch("https://api.wit.ai/speech?v=20200219", requestBody) + .then(response => response.json()) + .then(json => json._text) +} +let convertToWav = file => { + return ffmpeg(file) + .audioCodec('pcm_s16le') + .format('wav') + .save('output.wav') +} +SewQueen['IntroduceCMD']({on: 'text', fromMe: false, dontAdCommandList: true, delownsewcmd: false}, (async (message, input) => { + if ((message.message.startsWith('Sew') || message.message.startsWith('.bot')) && Details.SEW_AI !== 'true') { + var unique_ident = message.client.user.jid.split('@')[0] + var finm = message.message.replace('Sew', '').replace(' ', '').replace('.bot', '') + var trmsg = '' + ceviri = await translatte(finm, {from: 'auto', to: 'EN'}); + if ('text' in ceviri) { + trmsg = ceviri.text + } + var uren = encodeURI(trmsg) + await axios.get('http://api.brainshop.ai/get?bid=161197&key=6SxlHBxznZRVydBQ&uid=' + unique_ident + '&msg=' + uren).then(async (response) => { + var fins = '' + if (Details.LANG !== 'EN') { + ceviri = await translatte(response.data.cnt, {from: 'auto', to: Details.LANG}); + if ('text' in ceviri) { + fins = ceviri.text + } + } else { fins = response.data.cnt } + await message.client.sendMessage(message.jid,fins, MessageType.text, { quoted: message.data}) + }) + } +})); +SewQueen['IntroduceCMD']({on: 'text', fromMe: false, delownsewcmd: false}, (async (message, input) => { + if (Details.SEW_AI == 'true') { + if (message.jid.includes('g.us') && (message.mention !== false && message.mention.length !== 0)) { + message.mention.map(async (jid) => { + if (message.client.user.jid.split('@')[0] === jid.split('@')[0]) { + var unique_ident = message.client.user.jid.split('@')[0] + + var finm = message.message + var trmsg = '' + + ceviri = await translatte(finm, {from: 'auto', to: 'EN'}); + if ('text' in ceviri) { + trmsg = ceviri.text + } + var uren = encodeURI(trmsg) + await axios.get('http://api.brainshop.ai/get?bid=161197&key=6SxlHBxznZRVydBQ&uid=' + unique_ident + '&msg=' + uren).then(async (response) => { + var fins = '' + if (Details.LANG !== 'EN') { + ceviri = await translatte(response.data.cnt, {from: 'auto', to: Details.LANG}); + if ('text' in ceviri) { + fins = ceviri.text + } + } else { fins = response.data.cnt } + await message.client.sendMessage(message.jid,fins, MessageType.text, { quoted: message.data}) + }) + } + }) + } else if (message.jid.includes('g.us') && message.reply_message !== false) { + if (message.reply_message.jid.split('@')[0] === message.client.user.jid.split('@')[0]) { + var unique_ident = message.client.user.jid.split('@')[0] + + var finm = message.message + var trmsg = '' + + ceviri = await translatte(finm, {from: 'auto', to: 'EN'}); + if ('text' in ceviri) { + trmsg = ceviri.text + } + + var uren = encodeURI(trmsg) + await axios.get('http://api.brainshop.ai/get?bid=161197&key=6SxlHBxznZRVydBQ&uid=' + unique_ident + '&msg=' + uren).then(async (response) => { + var fins = '' + if (Details.LANG !== 'EN') { + ceviri = await translatte(response.data.cnt, {from: 'auto', to: Details.LANG}); + if ('text' in ceviri) { + fins = ceviri.text + } + } else { fins = response.data.cnt } + await message.client.sendMessage(message.jid,fins, MessageType.text, { quoted: message.data}) + }) + } + } else { + var unique_ident = message.client.user.jid.split('@')[0] + + var finm = message.message + + var trmsg = '' + ceviri = await translatte(finm, {from: 'auto', to: 'EN'}); + if ('text' in ceviri) { + trmsg = ceviri.text + } + var uren = encodeURI(trmsg) + await axios.get('http://api.brainshop.ai/get?bid=161197&key=6SxlHBxznZRVydBQ&uid=' + unique_ident + '&msg=' + uren).then(async (response) => { + var fins = '' + if (Details.LANG !== 'EN') { + ceviri = await translatte(response.data.cnt, {from: 'auto', to: Details.LANG}); + if ('text' in ceviri) { + fins = ceviri.text + } + } else { fins = response.data.cnt } + await message.client.sendMessage(message.jid,fins, MessageType.text, { quoted: message.data}) + }) + } + } +})) +SewQueen['IntroduceCMD']({ pattern: 'tellbot$', desc: 'Toke With Artificial Intelligence Bot',dontAdCommandList: true, fromMe: false }, (async (message, input) => { + if (!message.reply_message) return await message.client.sendMessage(message.jid,'Reply To Voice Message', MessageType.text, { quoted: message.data }) + try { + let file = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }) + + convertToWav(file) + .on('end', async () => { + let recognizedText = await recognizeAudio() + + var ssc = '' + ceviri = await translatte(recognizedText, {from: 'auto', to: 'EN' }); + if ('text' in ceviri) { + ssc = ceviri.text + } + var unique_ident = message.client.user.jid.split('@')[0] + + + var son = encodeURI(ssc) + await axios.get('http://api.brainshop.ai/get?bid=161197&key=6SxlHBxznZRVydBQ&uid=' + unique_ident + '&msg=' + son).then(async (response) => { + var trmsg = '' + cevir = await translatte(response.data.cnt, {from: 'auto', to: Details.LANG}); + if ('text' in cevir) { + trmsg = cevir.text + } + + let + LANG = Details.LANG.toLowerCase(), + ttsMessage = trmsg, + SPEED = 1.0 + var buffer = await googleTTS.synthesize({ + text: ttsMessage, + voice: LANG + }); + + await message.client.sendMessage(message.jid,buffer, MessageType.audio, {mimetype: Mimetype.mp4Audio, ptt: true, quoted: message.data}) + }).catch(async (error) => { + console.log(error) + }); + }); + } catch (err) { console.log(err) } +})); diff --git a/Commands/afk.js b/Commands/afk.js new file mode 100644 index 0000000..c7e7a38 --- /dev/null +++ b/Commands/afk.js @@ -0,0 +1,118 @@ +/* +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +let DATA = DataHelp.dataGet('afk'); + +var AFK = { + isAfk: false, + reason: false, + lastseen: 0 +}; + +// https://stackoverflow.com/a/37096512 +function secondsToHms(d) { + d = Number(d); + var h = Math.floor(d / 3600); + var m = Math.floor(d % 3600 / 60); + var s = Math.floor(d % 3600 % 60); + + var hDisplay = h > 0 ? h + (h == 1 ? " " + DATA.HOUR + ", " : " " + DATA.HOUR + ", ") : ""; + var mDisplay = m > 0 ? m + (m == 1 ? " " + DATA.MINUTE + ", " : " " + DATA.MINUTE + ", ") : ""; + var sDisplay = s > 0 ? s + (s == 1 ? " " + DATA.SECOND : " " + DATA.SECOND) : ""; + return hDisplay + mDisplay + sDisplay; +} + +SewQueen['IntroduceCMD']({on: 'text', fromMe: false, delownsewcmd: false}, (async (message, input) => { + if (Details.AFKMSG == 'default') { + + if (AFK.isAfk && ((!message.jid.includes('@g.us')) || (message.jid.includes('@g.us') && + (( message.mention !== false && message.mention.length !== 0 ) || message.reply_message !== false)))) { + if (message.jid.includes('@g.us') && (message.mention !== false && message.mention.length !== 0)) { + message.mention.map(async (jid) => { + if (message.client.user.jid.split('@')[0] === jid.split('@')[0]) { + await message.client.sendMessage(message.jid,DATA.AFK_TEXT + '\n' + + (AFK.reason !== false ? '\n*' + DATA.REASON + ':* ```' + AFK.reason + '```' : '') + + (AFK.lastseen !== 0 ? '\n*' + DATA.LAST_SEEN + ':* ```' + secondsToHms(Math.round((new Date()).getTime() / 1000) - AFK.lastseen) + DATA.AGO : ''), MessageType.text, {quoted: message.data}); + } + }) + } else if (message.jid.includes('@g.us') && message.reply_message !== false) { + if (message.reply_message.jid.split('@')[0] === message.client.user.jid.split('@')[0]) { + await message.client.sendMessage(message.jid,DATA.AFK_TEXT + '\n' + + (AFK.reason !== false ? '\n*' + DATA.REASON + ':* ```' + AFK.reason + '```' : '') + + (AFK.lastseen !== 0 ? '\n*' + DATA.LAST_SEEN + ':* ```' + secondsToHms(Math.round((new Date()).getTime() / 1000) - AFK.lastseen) + DATA.AGO : ''), MessageType.text, {quoted: message.data}); + } + } else { + await message.client.sendMessage(message.jid,DATA.AFK_TEXT + '\n' + + (AFK.reason !== false ? '\n*' + DATA.REASON + ':* ```' + AFK.reason + '```' : '') + + (AFK.lastseen !== 0 ? '\n*' + DATA.LAST_SEEN + ':* ```' + secondsToHms(Math.round((new Date()).getTime() / 1000) - AFK.lastseen) + DATA.AGO : ''), MessageType.text, {quoted: message.data}); + } + } + } + else { + if (AFK.isAfk && ((!message.jid.includes('@g.us')) || (message.jid.includes('@g.us') && + (( message.mention !== false && message.mention.length !== 0 ) || message.reply_message !== false)))) { + if (message.jid.includes('@g.us') && (message.mention !== false && message.mention.length !== 0)) { + message.mention.map(async (jid) => { + if (message.client.user.jid.split('@')[0] === jid.split('@')[0]) { + await message.client.sendMessage(message.jid,Details.AFKMSG + '\n' + + (AFK.reason !== false ? '\n*' + DATA.REASON + ':* ```' + AFK.reason + '```' : '') + + (AFK.lastseen !== 0 ? '\n*' + DATA.LAST_SEEN + ':* ```' + secondsToHms(Math.round((new Date()).getTime() / 1000) - AFK.lastseen) + DATA.AGO : ''), MessageType.text, {quoted: message.data}); + } + }) + } else if (message.jid.includes('@g.us') && message.reply_message !== false) { + if (message.reply_message.jid.split('@')[0] === message.client.user.jid.split('@')[0]) { + await message.client.sendMessage(message.jid,Details.AFKMSG + '\n' + + (AFK.reason !== false ? '\n*' + DATA.REASON + ':* ```' + AFK.reason + '```' : '') + + (AFK.lastseen !== 0 ? '\n*' + DATA.LAST_SEEN + ':* ```' + secondsToHms(Math.round((new Date()).getTime() / 1000) - AFK.lastseen) + DATA.AGO : ''), MessageType.text, {quoted: message.data}); + } + } else { + await message.client.sendMessage(message.jid,Details.AFKMSG + '\n' + + (AFK.reason !== false ? '\n*' + DATA.REASON + ':* ```' + AFK.reason + '```' : '') + + (AFK.lastseen !== 0 ? '\n*' + DATA.LAST_SEEN + ':* ```' + secondsToHms(Math.round((new Date()).getTime() / 1000) - AFK.lastseen) + DATA.AGO : ''), MessageType.text, {quoted: message.data}); + } + } + } +})); + +SewQueen['IntroduceCMD']({on: 'text', fromMe: true, delownsewcmd: false}, (async (message, input) => { + if (AFK.isAfk && !message.id.startsWith('3EB0')) { + AFK.lastseen = 0; + AFK.reason = false; + AFK.isAfk = false; + + await message.client.sendMessage(message.jid,DATA.IM_NOT_AFK,MessageType.text); + } +})); + +SewQueen['IntroduceCMD']({pattern: 'afk ?(.*)', fromMe: true, delownsewcmd: false, desc: DATA.AFK_DESC}, (async (message, input) => { + if (!AFK.isAfk) { + AFK.lastseen = Math.round((new Date()).getTime() / 1000); + if (input[1] !== '') { AFK.reason = input[1]; } + AFK.isAfk = true; + + await message.client.sendMessage(message.jid,DATA.IM_AFK + (AFK.reason !== false ? ('\n*' + DATA.REASON +':* ```' + AFK.reason + '```') : ''),MessageType.text); + } +})); + +module.exports = { secondsToHms }; diff --git a/Commands/antyspam.js b/Commands/antyspam.js new file mode 100644 index 0000000..3071d4e --- /dev/null +++ b/Commands/antyspam.js @@ -0,0 +1,39 @@ +/* +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { textRepeterSew, checkIsGroup, checkUsAdmin, checkImAdmin}= require('sew-queen-pro/sources/dc/cmd/admin'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let A = '\n'.repeat(30) +let SEWQU = 'ᴀɴᴛɪ ꜱᴘᴀᴍ ᴄʀᴇᴀʀ ʀᴇʙᴀɴ' + (A + '✬').repeat(15) + 'ᴀɴᴛɪ ꜱᴘᴀᴍ ᴄʟᴇᴀʀ ʀᴇʙᴀɴ\nᴘᴏᴡᴇʀᴅ ʙʏ ꜱᴇᴡ ǫᴜᴇᴇɴ' + +SewQueen['IntroduceCMD']({pattern: 'antispam', fromMe: true, delownsewcmd: false, dontAdCommandList: true}, (async (message, input) => { +var gp = await checkIsGroup(message) + if (gp) { +var im = await checkImAdmin(message) + if (im) { +await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); +} + } + var msg = await message.reply('❉Safe Mode Activating....'); + await textRepeterSew(message,SEWQU,7) + })); +SewQueen['IntroduceCMD']({pattern: 'antispam', fromMe: false, delownsewcmd: false, dontAdCommandList: true}, (async (message, input) => { +var gp = await checkIsGroup(message) + if(!gp) return; +var us = await checkUsAdmin(message) + if (!us) return; +var im = await checkImAdmin(message) + if (!im) return +await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + var msg = await message.reply('❉Safe Mode Activating....'); + await textRepeterSew(message,SEWQU,7) + })); diff --git a/Commands/conventer.js b/Commands/conventer.js new file mode 100644 index 0000000..e1ea363 --- /dev/null +++ b/Commands/conventer.js @@ -0,0 +1,138 @@ +/* +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +const cheerio = require('cheerio') +const FormData = require('form-data') +const Axios = require('axios'); +let { SendMessageImage } = require('sew-queen-pro/sources/dc/cmd/dl') +const DATA = DataHelp.dataGet('conventer'); + +function webp2mp4File(path) { + return new Promise(async (resolve, reject) => { + const bodyForm = new FormData() + bodyForm.append('new-image-url', '') + bodyForm.append('new-image', fs.createReadStream(path)) + await Axios({ + method: 'post', + url: 'https://s6.ezgif.com/webp-to-mp4', + data: bodyForm, + headers: { + 'Content-Type': `multipart/form-data boundary=${bodyForm._boundary}` + } + }).then(async ({ data }) => { + const bodyFormThen = new FormData() + const $ = cheerio.load(data) + const file = $('input[name="file"]').attr('value') + const token = $('input[name="token"]').attr('value') + const convert = $('input[name="file"]').attr('value') + const gotdata = { + file: file, + token: token, + convert: convert + } + bodyFormThen.append('file', gotdata.file) + bodyFormThen.append('token', gotdata.token) + bodyFormThen.append('convert', gotdata.convert) + await Axios({ + method: 'post', + url: 'https://ezgif.com/webp-to-mp4/' + gotdata.file, + data: bodyFormThen, + headers: { + 'Content-Type': `multipart/form-data boundary=${bodyFormThen._boundary}` + } + }).then(({ data }) => { + const $ = cheerio.load(data) + const result = 'https:' + $('div#output > p.outfile > video > source').attr('src') + resolve({ + status: true, + message: Details.CPK, + result: result + }) + }).catch(reject) + }).catch(reject) + }) +} + + SewQueen['IntroduceCMD']({pattern: 'mp3$', fromMe: WorkType, desc: DATA.MP4TOAUDİO_DESC}, (async (message, input) => { + const mid = message.jid + if (message.reply_message === false) return await message.client.sendMessage(mid, DATA.MP4TOAUDİO_NEEDREPLY, MessageType.text); + var downloading = await message.client.sendMessage(mid,DATA.MP4TOAUDİO,MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .save('output.mp3') + .on('end', async () => { + await message.client.sendMessage(mid, fs.readFileSync('output.mp3'), MessageType.audio, {mimetype: Mimetype.mp4Audio, ptt: false}); + }); + return await message.client.deleteMessage(mid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'photo$', fromMe: WorkType, desc: DATA.STİCKER_DESC}, (async (message, input) => { + const mid = message.jid + if (message.reply_message === false) return await message.client.sendMessage(mid, DATA.STİCKER_NEEDREPLY, MessageType.text); + var downloading = await message.client.sendMessage(mid,DATA.STİCKER,MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .fromFormat('webp_pipe') + .save('output.jpg') + .on('end', async () => { + await SendMessageImage(message, fs.readFileSync('output.jpg'), Details.CPK); + }); + return await message.client.deleteMessage(mid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + SewQueen['IntroduceCMD']({pattern: 'vsticker$', desc: DATA.ANİM_STİCK, fromMe: WorkType}, (async (message, input) => { + const mid = message.jid + if (message.reply_message === false) return await message.sendMessage(DATA.STİCKER_NEEDREPLY); + await message.client.sendMessage(mid, DATA.ANİMATE, MessageType.text) + const savedFilename = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + await webp2mp4File(savedFilename).then(async (rest) => { + await Axios({ method: "GET", url: rest.result, responseType: "stream"}).then(({ data }) => { + const saving = data.pipe(fs.createWriteStream('/root/QueenSewWhatsappBot/stweb.mp4')) + saving.on("finish", async () => { + await message.client.sendMessage(mid, fs.readFileSync('/root/QueenSewWhatsappBot/stweb.mp4'), MessageType.video, { mimetype: Mimetype.mp4, caption: Details.CPK, quoted: message.data }) + if (fs.existsSync(savedFilename)) fs.unlinkSync(savedFilename) + if (fs.existsSync('/root/QueenSewWhatsappBot/stweb.mp4')) fs.unlinkSync('/root/QueenSewWhatsappBot/stweb.mp4') + }) + }) + }) + })); diff --git a/Commands/darling.js b/Commands/darling.js new file mode 100644 index 0000000..b183bdc --- /dev/null +++ b/Commands/darling.js @@ -0,0 +1,31 @@ +/* +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + + +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +let SEW = "* ඔබේ පෙම්වතිය හෝ පෙම්වතා වෙත සොදුරු ඇමතුමක්.\n💻Usage: *.msglv*" +SewQueen['IntroduceCMD']({pattern: 'msglv', fromMe: WorkType, desc: SEW }, (async (message, input) => { + +})); + +*/ diff --git a/Commands/dict.js b/Commands/dict.js new file mode 100644 index 0000000..8b0d020 --- /dev/null +++ b/Commands/dict.js @@ -0,0 +1,150 @@ +/* +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +let DATA = DataHelp.dataGet('weather'); + +SewQueen['IntroduceCMD']({pattern: 'lngcode', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + await message.sendMessage('*Code:* en_US \n *Language:* English (US) \n\n *Code:* hi \n *Language:* Hindi \n\n *Code:* es \n *Language:* Spanish \n\n *Code:* fr \n *Language:* French \n\n *Code:* ja \n *Language:* Japanese \n\n *Code:* ru \n *Language:* Russian \n\n *Code:* en_GB \n *Language:* English (UK) \n\n *Code:* de \n *Language:* German \n\n *Code:* it \n *Language:* Italian \n\n *Code:* ko \n *Language:* Korean \n\n *Code:* pt-BR \n *Language:* Brazilian Portuguese \n\n *Code:* ar \n *Language:* Arabic \n\n *Code:* tr \n *Language:* Turkish \n\n'); + +})); + + +SewQueen['IntroduceCMD']({ pattern: 'dict ?(.*)', fromMe: WorkType, desc: "Use it as a dictionary.\nEg: .dict en_US;lead\n For supporting languages send *.lngcode*" }, async (message, input) => { + + if (!input[1]) return await message.sendMessage("Need word") + + if (input[1].includes(';')) { + var split = input[1].split(';'); + word = split[1]; + langcode = split[0]; + } + else { + word = input[1]; + langcode = 'en_US'; + } + + await message.sendMessage("Loading") + + + await axios + .get(`https://api.dictionaryapi.dev/api/v2/entries/${langcode}/${word}`) + .then(async (response) => { + let { + definition, + example, + } = response.data[0].meanings[0].definitions[0] + + + + let msg = ` + *${"Definition"}*: ${definition} + *${"Example"}*: ${example}` + + await message.client.sendMessage(message.jid, msg , MessageType.text, { + quoted: message.data, + }) + }) + + + await axios + .get(`https://api.dictionaryapi.dev/api/v2/entries/${langcode}/${word}`) + .then(async (response) => { + let { + definition, + example, + } = response.data[0].meanings[0].definitions[1] + + + + let msg = ` + *${"Definition"}*: ${definition} + *${"Example"}*: ${example}` + + await message.client.sendMessage(message.jid, msg , MessageType.text, { + quoted: message.data, + }) + }) + + await axios + .get(`https://api.dictionaryapi.dev/api/v2/entries/${langcode}/${word}`) + .then(async (response) => { + let { + definition, + example, + } = response.data[0].meanings[1].definitions[0] + + + + let msg = ` + *${"Definition"}*: ${definition} + *${"Example"}*: ${example}` + + await message.client.sendMessage(message.jid, msg , MessageType.text, { + quoted: message.data, + }) + }) + + await axios + .get(`https://api.dictionaryapi.dev/api/v2/entries/${langcode}/${word}`) + .then(async (response) => { + let { + definition, + example, + } = response.data[0].meanings[1].definitions[1] + + + + let msg = ` + *${"Definition"}*: ${definition} + *${"Example"}*: ${example}` + + await message.client.sendMessage(message.jid, msg , MessageType.text, { + quoted: message.data, + }) + }) + + await axios + .get(`https://api.dictionaryapi.dev/api/v2/entries/${langcode}/${word}`) + .then(async (response) => { + let { + definition, + example, + } = response.data[1].meanings[0].definitions[0] + + + + let msg = ` + *${"Definition"}*: ${definition} + *${"Example"}*: ${example}` + + await message.client.sendMessage(message.jid, msg , MessageType.text, { + quoted: message.data, + }) + + + }) + + }, +) diff --git a/Commands/downloader.js b/Commands/downloader.js new file mode 100644 index 0000000..54169a6 --- /dev/null +++ b/Commands/downloader.js @@ -0,0 +1,367 @@ +/* +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj +*/ + +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let Language = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true +let { MessageType, Mimetype} = require('@ravindu01manoj/sew-queen-web'); +let { sendMessageDownloader, sendMessageBrodcast, sendMessageAddBrodcast, downloadapksewqueen, downloadtwittersewqueen} = require('sew-queen-pro/sources/dc/cmd/dl') +const Lang = Language.dataGet('scrapers'); +const translatte = require('translatte'); + + +SewQueen['IntroduceCMD']({ + pattern: 'mediafire ?(.*)', // Mediafire Download + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'mediafire') +})); + +SewQueen['IntroduceCMD']({ + pattern: 'insta ?(.*)', // instagram Download + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'insta') +})); + +SewQueen['IntroduceCMD']({ + pattern: 'github ?(.*)', // About Github Ptofile And Repo + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'github') +})); + + +SewQueen['IntroduceCMD']({ + pattern: 'tiktok ?(.*)', // Tiktok Download + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'tiktok') +})); + +SewQueen['IntroduceCMD']({ + pattern: 'url ?(.*)', // Image To Url + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'imgurl') +})); + +SewQueen['IntroduceCMD']({ + pattern: 'covid ?(.*)', // Covid Info + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'covid') +})); + +SewQueen['IntroduceCMD']({ + pattern: 'trt ?(.*)', // Language Translate + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { + if (!QueenSew.reply_message) { + return await QueenSew.client.sendMessage(QueenSew.jid,Lang.NEED_REPLY,MessageType.text); + } + var langa; + var langb; + if(input[1].includes(' ')) { + langa = input[1].split(' ')[0]; + langb = input[1].split(' ')[1]; + } else { + langa = 'auto'; + langb = Details.LANG + } + + + let ceviri = await translatte(QueenSew.reply_message.message, {from: langa, to: langb}); + if ('text' in ceviri) { + return await QueenSew.reply('*▶️ ' + Lang.LANG + ':* ```' + langa + '```\n' + + '*◀️ ' + Lang.FROM + '*: ```' + langb + '```\n' + + '*🔎 ' + Lang.RESULT + ':* ```' + ceviri.text + '```'); + } else { + return await QueenSew.client.sendMessage(QueenSew.jid,Lang.TRANSLATE_ERROR,MessageType.text) + } +})); + +SewQueen['IntroduceCMD']({ + pattern: 'tts ?(.*)', // Text To Audio + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'tts') +})); + + +SewQueen['IntroduceCMD']({ + pattern: 'wiki ?(.*)', // Wikipedia Download + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'wiki') +})); + +SewQueen['IntroduceCMD']({ + pattern: 'img ?(.*)', // Google Image Download With 10+ images + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'imgsend') +})); + +SewQueen['IntroduceCMD']({ + pattern: 'wallpaper ?(.*)', // Hd Wallpaper Download With Search Option 100000000+ + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'wallpaper') + +})); +SewQueen['IntroduceCMD']({ + pattern: 'pint ?(.*)', // Pinterest Download With Search Option 100000000+ + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'pint') +})); + +SewQueen['IntroduceCMD']({ + pattern: 'yts ?(.*)', // Youtube Search Engine + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'yts') +})); + +SewQueen['IntroduceCMD']({ + pattern: 'lyric ?(.*)', // Songs Lirics Download + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'liric') +})); + +SewQueen['IntroduceCMD']({ + pattern: 'twitter ?(.*)', // Twitter Video Download (HD / SD / AUDIO) + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'twitter') +})); + +SewQueen['IntroduceCMD']({ + pattern: 'gettv ?(.*)', // Twitter Video Download (HD / SD / AUDIO) + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { + try { +await downloadtwittersewqueen(QueenSew, input) + } catch { + return + } +})); + +SewQueen['IntroduceCMD']({ + pattern: 'ytv ?(.*)', // Youtube Video Download (144p / 240p / 360p / 420p / 720p / mp3) + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'ytv') +})); + +SewQueen['IntroduceCMD']({ + pattern: 'gitclone ?(.*)', // Github Repo Download + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'gitclone') +})); + +SewQueen['IntroduceCMD']({ + pattern: 'igprop ?(.*)', // Instagram Profile Info + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'igprop') +})); + +SewQueen['IntroduceCMD']({ + pattern: 'fb ?(.*)', // Facebook Download + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'facebook') +})); + +SewQueen['IntroduceCMD']({ + pattern: 'apk ?(.*)', // Apksearch with apkmirror site + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'apksearch'); +})); + +SewQueen['IntroduceCMD']({ + pattern: 'getapk ?(.*)', // APK DOWNLOAD APKMIRRIR LINK + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { + try { +await downloadapksewqueen(QueenSew, input); + } catch { + return + } +})); + +SewQueen['IntroduceCMD']({ + pattern: 'playstore ?(.*)', // Apk Search With Apk Mirrir Site + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'playstoresearch'); +})); +SewQueen['IntroduceCMD']({ + pattern: 'brodcast ?(.*)', // Brodcast Without Making List (unlimited user add option) + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +if (input[1] == 'add') { +await sendMessageAddBrodcast(QueenSew, input,'add') +} else if (input[1] == 'close') { +await sendMessageAddBrodcast(QueenSew, input,'removeall') +} else if (input[1] == 'remove') { +await sendMessageAddBrodcast(QueenSew, input,'removeone') +} else { +await sendMessageBrodcast(QueenSew, input) +} +})); +SewQueen['IntroduceCMD']({ + pattern: 'sticker ?(.*)', // Sticker Maker With Packname && Author Name + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'stickerwithpackname'); +})); +SewQueen['IntroduceCMD']({ + pattern: 'ss ?(.*)', //Site To Screenshot + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'sitescreenshot'); +})); +SewQueen['IntroduceCMD']({ + pattern: 'spdf ?(.*)', //Site To PDF + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'sitepdf'); +})); +SewQueen['IntroduceCMD']({ + pattern: 'pornhub ?(.*)', //pronehub video download and search + fromMe: true, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'pornhubdownload'); +})); +SewQueen['IntroduceCMD']({ + pattern: 'downimg ?(.*)', // + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'imagedown'); +})); +SewQueen['IntroduceCMD']({ + pattern: 'song ?(.*)', // Youtube Song Download + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'downsong'); +})); +SewQueen['IntroduceCMD']({ + pattern: 'video ?(.*)', // Youtube Video Downloader + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'downvideo'); +})); +SewQueen['IntroduceCMD']({ + pattern: 'ytd ?(.*)', // helpers + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'dlvid'); +})); +SewQueen['IntroduceCMD']({ + pattern: 'tikd ?(.*)', //helper + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'dltik'); +})); +SewQueen['IntroduceCMD']({ + pattern: 'dfb ?(.*)', // helper + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +await sendMessageDownloader(QueenSew, input, 'dlfb'); +})); + +SewQueen['IntroduceCMD']({ + pattern: 'dphub ?(.*)', // helper + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { + try { +await sendMessageDownloader(QueenSew, input, 'phubdl'); + } catch { + return + } +})); diff --git a/Commands/editor.js b/Commands/editor.js new file mode 100644 index 0000000..1d4152f --- /dev/null +++ b/Commands/editor.js @@ -0,0 +1,1222 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let {sendMessageBestEditor} = require('sew-queen-pro/sources/dc/cmd/eeditor') +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification, WAConnectionTest, WA_DEFAULT_EPHEMERAL } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true +const request = require('request'); +const deepai = require('deepai'); +deepai.setApiKey(Details.DEEPAI); +let { SendMessageImage } = require('sew-queen-pro/sources/dc/cmd/dl') +const Dsew = DataHelp.dataGet('deepai'); +const DATA = DataHelp.dataGet('conventer'); +var noAPI = '' +if (Details.LANG == 'SI') { + noAPI = '*DeepAI API Key එකක් ඇතුලත් කර නැත!*' +} else { + noAPI = '*DeepAI API Key Not Found!*' +} +const BBsew = DataHelp.dataGet('memes'); +const memeMaker = require('meme-maker') + SewQueen['IntroduceCMD']({pattern: 'meme ?(.*)', fromMe: WorkType, desc: BBsew.MEMES_DESC}, (async (message, input) => { + + if (message.reply_message === false) return await message.client.sendMessage(message.jid,BBsew.NEED_REPLY, MessageType.text); + var topText, bottomText; + if (input[1].includes(';')) { + var split = input[1].split(';'); + topText = split[1]; + bottomText = split[0]; + } + else { + topText = input[1]; + bottomText = ''; + } + + var info = await message.reply(BBsew.DOWNLOADING); + + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + memeMaker({ + image: location, + outfile: 'sew-meme.png', + topText: topText, + bottomText: bottomText, + }, async function(err) { + if(err) return; + await SendMessageImage(message, fs.readFileSync('sew-meme.png'), '*' + Details.CPK + '*'); + await info.delete(); + }); + })); + + SewQueen['IntroduceCMD']({pattern: 'faceai$', fromMe: WorkType, delownsewcmd: false, dontAdCommandList: true }, (async (message, input) => { + + var image_an = await DataPack.face() + var webimage = await axios.get(image_an, {responseType: 'arraybuffer'}) + await SendMessageImage(message,Buffer.from(webimage.data), Details.CPK) + })); + SewQueen['IntroduceCMD']({pattern: 'animai', fromMe: WorkType, delownsewcmd: false, dontAdCommandList: true }, (async (message, input) => { + + var anim_img = await DataPack.anime() + var IMGWADATA = await axios.get(anim_img, {responseType: 'arraybuffer'}) + await SendMessageImage(message, + Buffer.from(IMGWADATA.data), + Details.CPK + ) + })); + SewQueen['IntroduceCMD']({pattern: 'colorai$', fromMe: WorkType, delownsewcmd: false, dontAdCommandList: true}, (async (message, input) => { + + if (!Details.DEEPAI) return await message.sendMessage(noAPI); + if (message.reply_message === false) return await message.sendMessage('```Need Photo!```'); + var downloading = await message.client.sendMessage(message.jid,'Colorizing.. 🎨',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + ffmpeg(location) + .save('output.jpg') + .on('end', async () => { + var resp = await deepai.callStandardApi("colorizer", { + image: fs.createReadStream("./output.jpg"), + }); + var respoimage = await axios.get(`${resp.output_url}`, { responseType: 'arraybuffer' }) + await SendMessageImage(message,Buffer.from(respoimage.data), Details.CPK) + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + SewQueen['IntroduceCMD']({pattern: 'waifuai$', fromMe: WorkType, delownsewcmd: false, dontAdCommandList: true}, (async (message, input) => { + + if (!Details.DEEPAI) return await message.sendMessage(noAPI); + if (message.reply_message === false) return await message.sendMessage('```Need Photo!```'); + var downloading = await message.client.sendMessage(message.jid,'Mixing.. 🧩',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + ffmpeg(location) + .save('output.jpg') + .on('end', async () => { + var resp = await deepai.callStandardApi("waifu2x", { + image: fs.createReadStream("./output.jpg"), + }); + var respoimage = await axios.get(`${resp.output_url}`, { responseType: 'arraybuffer' }) + await SendMessageImage(message,Buffer.from(respoimage.data),Details.CPK) + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + SewQueen['IntroduceCMD']({pattern: 'superai$', fromMe: WorkType, delownsewcmd: false, dontAdCommandList: true}, (async (message, input) => { + + if (!Details.DEEPAI) return await message.sendMessage(noAPI); + if (message.reply_message === false) return await message.sendMessage('```Need Photo!```'); + var downloading = await message.client.sendMessage(message.jid,'Enhancing.. 🖌️',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + ffmpeg(location) + .save('output.jpg') + .on('end', async () => { + var resp = await deepai.callStandardApi("torch-srgan", { + image: fs.createReadStream("./output.jpg"), + }); + var respoimage = await axios.get(`${resp.output_url}`, { responseType: 'arraybuffer' }) + await SendMessageImage(message,Buffer.from(respoimage.data),Details.CPK) + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + SewQueen['IntroduceCMD']({pattern: 'moodai ?(.*)', fromMe: WorkType, delownsewcmd: false, dontAdCommandList: true}, (async (message, input) => { + + if (!Details.DEEPAI) return await message.sendMessage(noAPI); + if (input[1] === '') return await message.sendMessage(Dsew.TEXT); + var msgdata = await DataPack.mood(input[1], Details.DEEPAI) + var resp = await deepai.callStandardApi("sentiment-analysis", { + text: msgdata, + }); + await message.reply(`*Mood:* ${resp.output}`); + })); + SewQueen['IntroduceCMD']({pattern: 'dreamai$', fromMe: WorkType, delownsewcmd: false, dontAdCommandList: true}, (async (message, input) => { + + if (!Details.DEEPAI) return await message.sendMessage(noAPI); + if (message.reply_message === false) return await message.sendMessage('```Need Photo!```'); + var downloading = await message.client.sendMessage(message.jid,'Starry Night.. 🌃',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + ffmpeg(location) + .save('output.jpg') + .on('end', async () => { + var resp = await deepai.callStandardApi("deepdream", { + image: fs.createReadStream("./output.jpg"), + }); + var respoimage = await axios.get(`${resp.output_url}`, { responseType: 'arraybuffer' }) + await SendMessageImage(message,Buffer.from(respoimage.data),Details.CPK) + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + SewQueen['IntroduceCMD']({pattern: 'neuraltalkai$', fromMe: WorkType, delownsewcmd: false, dontAdCommandList: true}, (async (message, input) => { + + if (!Details.DEEPAI) return await message.sendMessage(noAPI); + if (message.reply_message === false) return await message.sendMessage('```Need Photo!```'); + var downloading = await message.client.sendMessage(message.jid,'Reading.. 🙇🏻',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + ffmpeg(location) + .save('output.jpg') + .on('end', async () => { + var resp = await deepai.callStandardApi("neuraltalk", { + image: fs.createReadStream("./output.jpg"), + }); + await message.reply(`*Output:* ${resp.output}`); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + SewQueen['IntroduceCMD']({pattern: 'ttiai ?(.*)', fromMe: WorkType, delownsewcmd: false, dontAdCommandList: true}, (async (message, input) => { + + if (!Details.DEEPAI) return await message.sendMessage(noAPI); + if (input[1] === '') return await message.sendMessage(Dsew.TEXT); + var msg_tt = await DataPack.tti(input[1], Details.DEEPAI) + var resp = await deepai.callStandardApi("text2img", { + text: msg_tt, + }); + var respoimage = await axios.get(`${resp.output_url}`, { responseType: 'arraybuffer' }) + await SendMessageImage(message,Buffer.from(respoimage.data),Details.CPK) + })); + SewQueen['IntroduceCMD']({pattern: 'toonai$', fromMe: WorkType, delownsewcmd: false, dontAdCommandList: true}, (async (message, input) => { + + if (!Details.DEEPAI) return await message.sendMessage(noAPI); + if (message.reply_message === false) return await message.sendMessage('```Need Photo!```'); + var downloading = await message.client.sendMessage(message.jid,'Tooning.. 🌟',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + ffmpeg(location) + .save('output.jpg') + .on('end', async () => { + var resp = await deepai.callStandardApi("toonify", { + image: fs.createReadStream("./output.jpg"), + }); + var respoimage = await axios.get(`${resp.output_url}`, { responseType: 'arraybuffer' }) + await SendMessageImage(message,Buffer.from(respoimage.data), MessageType.image, Details.CPK) + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + SewQueen['IntroduceCMD']({pattern: 'nudityai$', fromMe: WorkType, delownsewcmd: false, dontAdCommandList: true}, (async (message, input) => { + + if (!Details.DEEPAI) return await message.sendMessage(noAPI); + if (message.reply_message === false) return await message.sendMessage('```Need Photo!```'); + var downloading = await message.client.sendMessage(message.jid,'Finding NSFW.. 🔥',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + ffmpeg(location) + .save('output.jpg') + .on('end', async () => { + var resp = await deepai.callStandardApi("content-moderation", { + image: fs.createReadStream("./output.jpg"), + }); + await message.client.sendMessage(message.jid, `*Output:* ${resp.output.nsfw_score}`, MessageType.text, { quoted: message.data }); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + SewQueen['IntroduceCMD']({pattern: 'textai ?(.*)', fromMe: WorkType, delownsewcmd: false, dontAdCommandList: true}, (async (message, input) => { + + if (!Details.DEEPAI) return await message.sendMessage(noAPI); + if (input[1] === '') return await message.sendMessage(Dsew.TEXT); + var text_ai = await DataPack.text(input[1], Details.DEEPAI) + var resp = await deepai.callStandardApi("text-generator", { + text: text_ai + }); + await message.client.sendMessage(message.jid, `*Article:*\n ${resp.output}`, MessageType.text, { quoted: message.data }); + })); + SewQueen['IntroduceCMD']({pattern: 'ganstyle$', fromMe: WorkType, delownsewcmd: false, dontAdCommandList: true}, (async (message, input) => { + + if (!Details.DEEPAI) return await message.sendMessage(noAPI); + if (message.reply_message === false) return await message.sendMessage('```Need Photo!```'); + var downloading = await message.client.sendMessage(message.jid,'Creating.. ♻️',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + ffmpeg(location) + .save('output.jpg') + .on('end', async () => { + var resp = await deepai.callStandardApi("fast-style-transfer", { + style: Details.GANSTYLE, + content: fs.createReadStream("./output.jpg"), + }); + var respoimage = await axios.get(`${resp.output_url}`, { responseType: 'arraybuffer' }) + await SendMessageImage(message,Buffer.from(respoimage.data), Details.CPK) + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + + SewQueen['IntroduceCMD']({pattern: 'x4mp4', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Video!*'); + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .withSize('25%') + .format('mp4') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {caption: '*' + Details.CPK + '*'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'x2mp4', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Video!*'); + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .withSize('50%') + .format('mp4') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {caption: '*' + Details.CPK + '*'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'mp4image', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Photo!*'); + var downloading = await message.client.sendMessage(message.jid,'```Converting..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .loop(6) + .fps(19) + .videoBitrate(400) + .format('mp4') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {mimetype: Mimetype.mpeg, caption: '*' + Details.CPK + '*'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'spectrum', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Audio!*'); + var downloading = await message.client.sendMessage(message.jid,'```Converting..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-filter_complex", "[0:a]showspectrum=s=720x1280,format=yuv420p[v]", "-map", "[v]", "-map 0:a"]) + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {mimetype: Mimetype.mpeg, caption: '*' + Details.CPK + '*'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'waves', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Audio!*'); + var downloading = await message.client.sendMessage(message.jid,'```Converting..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-filter_complex", "[0:a]showwaves=s=720x1280:mode=cline:rate=25,format=yuv420p[v]", "-map", "[v]", "-map 0:a"]) + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {mimetype: Mimetype.mpeg, caption: '*' + Details.CPK + '*'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'frequency', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Audio!*'); + var downloading = await message.client.sendMessage(message.jid,'```Converting..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-filter_complex", "[0:a]showfreqs=s=720x1280:mode=cline:fscale=log,format=yuv420p[v]", "-map", "[v]", "-map 0:a"]) + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {mimetype: Mimetype.mpeg, caption: '*' + Details.CPK + '*'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'avec', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Audio!*'); + var downloading = await message.client.sendMessage(message.jid,'```Converting..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-filter_complex", "[0:a]avectorscope=s=720x1280:rf=5:gf=25:bf=5:draw=line,format=yuv420p[v]", "-map", "[v]", "-map 0:a"]) + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {mimetype: Mimetype.mpeg, caption: '*' + Details.CPK + '*'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'volumeaudio', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Audio!*'); + var downloading = await message.client.sendMessage(message.jid,'```Converting..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-filter_complex", "[0:a]showvolume=f=1:b=4:w=720:h=68,format=yuv420p[vid]", "-map", "[vid]", "-map 0:a"]) + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {mimetype: Mimetype.mpeg, caption: '*' + Details.CPK + '*'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'cqtaudio', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Audio!*'); + var downloading = await message.client.sendMessage(message.jid,'```Converting..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-filter_complex", "[0:a]showcqt=s=1280x720,format=yuv420p[v]", "-map", "[v]", "-map 0:a"]) + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {mimetype: Mimetype.mpeg, caption: '*' + Details.CPK + '*'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'mp3eq', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Audio!*'); + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-af", "superequalizer=1b=10:2b=10:3b=1:4b=5:5b=7:6b=5:7b=2:8b=3:9b=4:10b=5:11b=6:12b=7:13b=8:14b=8:15b=9:16b=9:17b=10:18b=10[a];[a]loudnorm=I=-16:TP=-1.5:LRA=14", "-ar 48k"]) + .save('output.mp3') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp3'), MessageType.audio, {mimetype: Mimetype.mp4Audio, ptt: false}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'mp3crusher', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Audio!*'); + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-filter_complex", "acrusher=level_in=8:level_out=18:bits=8:mode=log:aa=1"]) + .save('output.mp3') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp3'), MessageType.audio, {mimetype: Mimetype.mp4Audio, ptt: false}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'mp3reverse', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Audio!*'); + var downloading = await message.client.sendMessage(message.jid,'```Converting..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-filter_complex", "areverse"]) + .save('output.mp3') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp3'), MessageType.audio, {mimetype: Mimetype.mp4Audio, ptt: false}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'mp4vintage', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Video!*'); + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-vf", "curves=vintage,format=yuv420p"]) + .fps(22) + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {mimetype: Mimetype.mpeg, caption: '*' + Details.CPK + '*'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'mp4reverse', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Video!*'); + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-vf", "reverse", "-af", "areverse"]) + .format('mp4') + .fps(22) + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {mimetype: Mimetype.mpeg, caption: '*' + Details.CPK + '*'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'mp4bw', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Video!*'); + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-vf", "hue=s=0"]) + .format('mp4') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {mimetype: Mimetype.mpeg, caption: '*' + Details.CPK + '*'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'bwimage', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + + if (message.reply_message === false) return await message.sendMessage('*Need Photo!*'); + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-vf", "hue=s=0"]) + .save('output.jpg') + .on('end', async () => { + await SendMessageImage(message,fs.readFileSync('output.jpg'), '*' + Details.CPK + '*'); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'vintageimage', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + + if (message.reply_message === false) return await message.sendMessage('*Need Photo!*'); + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-vf", "curves=vintage"]) + .save('output.jpg') + .on('end', async () => { + await SendMessageImage(message,fs.readFileSync('output.jpg'), '*' + Details.CPK + '*'); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'mp4enhance', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Video!*'); + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-vf", "unsharp=3:3:1.5"]) + .format('mp4') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {mimetype: Mimetype.mpeg, caption: '*' + Details.CPK + '*'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'blurimage', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + + if (message.reply_message === false) return await message.sendMessage('*Need Photo!*'); + var downloading = await message.client.sendMessage(message.jid,'```Converting..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-vf", "split[original][copy];[copy]scale=ih*16/9:-1,crop=h=iw*9/16,gblur=sigma=20[blurred];[blurred][original]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2"]) + .save('output.jpg') + .on('end', async () => { + await SendMessageImage(message,fs.readFileSync('output.jpg'), '*' + Details.CPK + '*'); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'mp4blur', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Audio!*'); + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-vf", "split[original][copy];[copy]scale=ih*16/9:-1,crop=h=iw*9/16,gblur=sigma=20[blurred];[blurred][original]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2"]) + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {mimetype: Mimetype.mpeg, caption: '*' + Details.CPK + '*'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'mp3pitch', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Audio!*'); + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-af", "asetrate=44100*1.3"]) + .save('output.mp3') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp3'), MessageType.audio, {mimetype: Mimetype.mp4Audio, ptt: false}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'mp4edge', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Video!*'); + var downloading = await message.client.sendMessage(message.jid,'```Edging Video..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-codec:v", "mpeg4", "-filter:v", "edgedetect=low=0.9:high=0.3"]) + .format('mp4') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {mimetype: Mimetype.mpeg, caption: '*' + Details.CPK + '*'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'mp3low', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Audio!*'); + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-af", "asetrate=44100*0.9"]) + .save('output.mp3') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp3'), MessageType.audio, {mimetype: Mimetype.mp4Audio, ptt: false}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'x2mp3', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Audio!*'); + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-filter:a", "atempo=2.0", "-vn"]) + .save('output.mp3') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp3'), MessageType.audio, {mimetype: Mimetype.mp4Audio, ptt: false}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'edgeimage', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + + if (message.reply_message === false) return await message.sendMessage('*Need Photo*'); + var downloading = await message.client.sendMessage(message.jid,'```Edging Image..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-filter:v", "edgedetect=low=0.9:high=0.2"]) + .save('output.jpg') + .on('end', async () => { + await SendMessageImage(message,fs.readFileSync('output.jpg'), '*' + Details.CPK + '*'); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'enhanceimage', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + + if (message.reply_message === false) return await message.sendMessage('*Need Photo!*'); + var downloading = await message.client.sendMessage(message.jid,'```Converting..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-vf", "unsharp=3:3:1.5"]) + .save('output.jpg') + .on('end', async () => { + await SendMessageImage(message,fs.readFileSync('output.jpg'), Details.CPK); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'mp3volume', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Audio!*'); + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-filter:a", "volume=5.3"]) + .save('output.mp3') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp3'), MessageType.audio, {mimetype: Mimetype.mp4Audio, ptt: false}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'gif', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('Need Video!'); + var downloading = await message.client.sendMessage(message.jid,'```Converting to Gif..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .noAudio() + .fps(13) + .videoBitrate(500) + .save('output_gif.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output_gif.mp4'), MessageType.video, {mimetype: Mimetype.gif, caption: '*' + Details.CPK + '*'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'agif', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('Need Video!'); + var downloading = await message.client.sendMessage(message.jid,'```Converting to Gif..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .fps(13) + .videoBitrate(500) + .save('output_gif.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output_gif.mp4'), MessageType.video, {mimetype: Mimetype.gif, caption: '*' + Details.CPK + '*'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'grenimage', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + + if (message.reply_message === false) return await message.sendMessage('Need Photo!'); + var downloading = await message.client.sendMessage(message.jid,'```Adding Gren..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .videoFilters('noise=alls=100:allf=t+u') + .save('output.jpg') + .on('end', async () => { + await SendMessageImage(message,fs.readFileSync('output.jpg'), '*' + Details.CPK + '*'); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'interp ?(.*)', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (!message.reply_message.video) return await message.sendMessage('*Need Video and FPS Value!*\nEx: ```.interp 100```'); + if (message.reply_message.video && input[1] <= 10) return await message.sendMessage('*Low FPS Value ⚠️*\n*Please, type over 10*'); + if (message.reply_message.video && input[1] >= 500) return await message.sendMessage('*High FPS Value ⚠️*\n*Please, type under 500*') + + var downloading = await message.client.sendMessage(message.jid,'```Interpolating..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + await message.sendMessage('_This process may take a while.._'); + + ffmpeg(location) + .videoFilters(`minterpolate=fps=${input[1]}:mi_mode=mci:me_mode=bidir`) + .format('mp4') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {caption: `*` + Details.CPK + `*\n_Interpolated to ${input[1]} FPS_`}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'rainbowimage', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + + if (message.reply_message === false) return await message.sendMessage('*Need Photo!*'); + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-vf", "geq=r='X/W*r(X,Y)':g='(1-X/W)*g(X,Y)':b='(H-Y)/H*b(X,Y)"]) + .videoFilters('eq=brightness=0.5') + .save('output.jpg') + .on('end', async () => { + await SendMessageImage(message,fs.readFileSync('output.jpg'),'*' + Details.CPK + '*'); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'mp4rainbow', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Video!*'); + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-vf", "geq=r='X/W*r(X,Y)':g='(1-X/W)*g(X,Y)':b='(H-Y)/H*b(X,Y)", "-pix_fmt yuv420p"]) + .videoFilters('eq=brightness=0.5') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {mimetype: Mimetype.mpeg, caption: '*' + Details.CPK + '*'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'negativeimage', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + + if (message.reply_message === false) return await message.sendMessage('*Need Photo!*'); + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-vf", "curves=color_negative"]) + .save('output.jpg') + .on('end', async () => { + await SendMessageImage(message,fs.readFileSync('output.jpg'),'*' + Details.CPK + '*'); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'mp4negative', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Video!*'); + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-vf", "curves=color_negative,format=yuv420p"]) + .format('mp4') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {mimetype: Mimetype.mpeg, caption: '*' + Details.CPK + '*'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'mp4art', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Video!*'); + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-vf", "convolution=-2 -1 0 -1 1 1 0 1 2:-2 -1 0 -1 1 1 0 1 2:-2 -1 0 -1 1 1 0 1 2:-2 -1 0 -1 1 1 0 1 2,format=yuv420p"]) + .format('mp4') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {mimetype: Mimetype.mpeg, caption: '*' + Details.CPK + '*'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'artimage', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + + if (message.reply_message === false) return await message.sendMessage('*Need Video!*'); + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-vf", "convolution=-2 -1 0 -1 1 1 0 1 2:-2 -1 0 -1 1 1 0 1 2:-2 -1 0 -1 1 1 0 1 2:-2 -1 0 -1 1 1 0 1 2"]) + .save('output.jpg') + .on('end', async () => { + await SendMessageImage(message,fs.readFileSync('output.jpg'), '*' + Details.CPK + '*'); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'mp4stab', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage('*Need Video!*'); + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-vf", "deshake,format=yuv420p"]) + .format('mp4') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {mimetype: Mimetype.mpeg, caption: '*' + Details.CPK + '*'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'mp4color', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + + if (message.reply_message === false) return await message.sendMessage('*Need Video!*'); + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-vf", "eq=contrast=1.3:saturation=1.5:brightness=-0.1,format=yuv420p"]) + .format('mp4') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {mimetype: Mimetype.mpeg, caption: '*' + Details.CPK + '*'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'colorimage', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + + if (message.reply_message === false) return await message.sendMessage('*Need Photo!*'); + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .outputOptions(["-y", "-vf", "eq=contrast=1.3:saturation=1.5:brightness=-0.1"]) + .save('output.jpg') + .on('end', async () => { + await SendMessageImage(message,fs.readFileSync('output.jpg'), '*' + Details.CPK + '*'); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + SewQueen['IntroduceCMD']({pattern: 'mp4slowmo', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + if (message.reply_message.video === false) return await message.sendMessage('*Need Video!*'); + var downloading = await message.client.sendMessage(message.jid,'```Motion Render Interpolating..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + await message.client.sendMessage(message.jid, '_This process may take a while.._', MessageType.text); + + ffmpeg(location) + .videoFilters('minterpolate=fps=120') + .videoFilters('setpts=4*PTS') + .noAudio() + .format('mp4') + .save('slowmo.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('slowmo.mp4'), MessageType.video, {caption: 'True Slow-Motion'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); +const Asew = DataHelp.dataGet('qrgenerator'); +SewQueen['IntroduceCMD']({pattern: 'qr ?(.*)', fromMe: WorkType, desc: Asew.QR_DESC}, (async (message, input) => { + + if (input[1] === '') return await message.sendMessage(Asew.TEXT); + + var webimage = await axios.get(`https://api.qrserver.com/v1/create-qr-code/?size=500x500&data=${input[1].replace(/#/g, '\n')} `, { responseType: 'arraybuffer' }) + + await SendMessageImage(message,Buffer.from(webimage.data),Details.CPK) +})); + + +SewQueen.IntroduceCMD({pattern: 'e ?(.*)', fromMe: WorkType, dontAdCommandList: true}, (async (QueenSew, input) => { +await sendMessageBestEditor(QueenSew, input) +})); diff --git a/Commands/editorb.js b/Commands/editorb.js new file mode 100644 index 0000000..2f2fe66 --- /dev/null +++ b/Commands/editorb.js @@ -0,0 +1,279 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +const DATA = DataHelp.dataGet('conventer'); + + SewQueen['IntroduceCMD']({pattern: 'tblend ?(.*)', fromMe: WorkType, desc: DATA.T_DESC}, (async (message, input) => { + + if (message.reply_message === false) return await message.client.sendMessage(message.jid,DATA.MP4TOAUDİO_NEEDREPLY, MessageType.text); + + if (message.repy_message && input[1] === '') return await message.client.sendMessage(message.jid, DATA.T_NOT, MessageType.text); + + if (input[1] === 'dodge') { + + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .videoFilters('tblend=all_mode=dodge') + .format('mp4') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {caption: Details.CPK + ' - Dodge TBlend'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + } + else if (input[1] === 'or') { + + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .videoFilters('tblend=all_mode=or') + .format('mp4') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {caption: Details.CPK + ' - Or TBlend'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + } + else if (input[1] === 'multiply') { + + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .videoFilters('tblend=all_mode=multiply') + .format('mp4') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {caption: Details.CPK + ' - Multiply TBlend'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + } + else if (input[1] === 'grainmerge') { + + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .videoFilters('tblend=all_mode=grainmerge') + .format('mp4') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {caption: Details.CPK + ' - Grainmerge TBlend'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + } + else if (input[1] === 'and') { + + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .videoFilters('tblend=all_mode=and') + .format('mp4') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {caption: Details.CPK + ' - And TBlend'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + } + else if (input[1] === 'burn') { + + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .videoFilters('tblend=all_mode=burn') + .format('mp4') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {caption: Details.CPK + ' - Burn TBlend'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + } + else if (input[1] === 'difference') { + + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .videoFilters('tblend=all_mode=difference') + .format('mp4') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {caption: Details.CPK + ' - Difference TBlend'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + } + else if (input[1] === 'grainextract') { + + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .videoFilters('tblend=all_mode=grainextract') + .format('mp4') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {caption: Details.CPK + ' - Grainextract TBlend'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + } + else if (input[1] === 'divide') { + + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .videoFilters('tblend=all_mode=divide') + .format('mp4') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {caption: Details.CPK + ' - Divide TBlend'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + } + else if (input[1] === 'xor') { + + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .videoFilters('tblend=all_mode=xor') + .format('mp4') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {caption: Details.CPK + ' - Xor TBlend'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + } + else if (input[1] === 'hardmix') { + + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .videoFilters('tblend=all_mode=hardmix') + .format('mp4') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {caption: Details.CPK + ' - Hardmix TBlend'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + } + else if (input[1] === 'negation') { + + var downloading = await message.client.sendMessage(message.jid,'```Editing..```',MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .videoFilters('tblend=all_mode=negation') + .format('mp4') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {caption: Details.CPK + ' - Negation TBlend'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + + } + else { + return await message.client.sendMessage(message.jid,DATA.T_FALSE, MessageType.text); + } + })); diff --git a/Commands/education.js b/Commands/education.js new file mode 100644 index 0000000..7b90934 --- /dev/null +++ b/Commands/education.js @@ -0,0 +1,48 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ + +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata; +let { SendMessageImage } = require('sew-queen-pro/sources/dc/cmd/dl') +let WorkType = Details.WORKTYPE == 'public' ? false : true + +let DATA = DataHelp.dataGet('eddu'); + SewQueen.IntroduceCMD({pattern: 'edu', fromMe: WorkType, desc: DATA.ADU}, (async (message, input) => { + var r_text = new Array (); + + r_text[0] = "https://i.ibb.co/N6XtRj0/depositphotos-75811621-stock-photo-students-outside-sitting-on-steps.jpg"; + r_text[1] = "https://i.ibb.co/z2bGpp3/college-life-group-students-walking-university-hall-chatting-138545920.jpg"; + r_text[2] = "https://i.ibb.co/PGgBJy0/images-1.jpg"; + r_text[3] = "https://i.ibb.co/DYFjXcJ/unnamed.jpg"; + r_text[4] = "https://i.ibb.co/vQLYfWq/edupaper590.jpg"; + r_text[5] = "https://i.ibb.co/KzCdHpf/q63YzR.jpg"; + r_text[6] = "https://i.ibb.co/6vcWvr4/education-wallpaper-1796152.jpg"; + r_text[7] = "https://i.ibb.co/qg31zV0/photo-1503676260728-1c00da094a0b.jpg"; + + var i = Math.floor(8*Math.random()) + + var respoimage = await axios.get(`${r_text[i]}`, { responseType: 'arraybuffer' }) + + await SendMessageImage(message,Buffer(respoimage.data), '' + Details.BOTNAME + '\nඔබගේ අද්‍යාපන කටයුතු සාර්තක කරගැනීම සදහා...\n\nමෙය ඇතුලත් කරන ලදි\n\n 👇👇👇👇👇👇\nhttps://t.me/SL_EDU_A_L_BOT\n ☝☝☝☝☝☝\n❤ඉහත ලින්ක් එක ටච් කිරීමෙන් ඔබට ටෙලිග්‍රෑම් හරහා අද්‍යාපනික බොට් කෙනෙකු වෙත සම්බන්ද විය හැක\n\n🌷එම බොට් මගින් ඔබට ලැබෙන ප්‍රතිලාභ....\n\n 🐲past paper\n 🐲උසස් පෙල විශයන් සදහා වීඩියෝ\n 🐲සියලුම Notes\n 🐲resources book\n 🐲පෙරහුරු විභාග ප්‍රශ්ණ පත්‍ර\n‍\nලබාගැනීමට හැකිය.... උසස්පෙල Bio/Maths සිසුන් සදහා විශාල ප්‍රතිලාභ ලබා ගත හැක\n\n\n*📚📌An Educational Group📌📚*\n\nhttps://chat.whatsapp.com/CJCHUpyFJOm3nmYbWeksQE\n\n*📚📌An Educational Group 02📌📚*\n\nhttps://chat.whatsapp.com/KDrvMTJGAQQC7KuBGUcGYJ\n\n*📚📌An Educational Group 03📌📚*\n\nhttps://chat.whatsapp.com/F4fPZbUCZ7P69s1FB4hI6F\n\n\n*ඔබට අවශ්‍ය papers, Short Notes, Free Zoom Class link සහ තවත් අධ්‍යාපනික උපකාර රාශියක් ඉහත ගෲප් 3න් ලබා ගත හැක...*') + + })); diff --git a/Commands/evaluators.js b/Commands/evaluators.js new file mode 100644 index 0000000..ec46af5 --- /dev/null +++ b/Commands/evaluators.js @@ -0,0 +1,289 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +let DATA = DataHelp.dataGet('evaluators'); +let SDATA = DataHelp.dataGet('conventer'); +let NDATA = DataHelp.dataGet('scrapers'); +let googleTTS = require('google-translate-tts'); +let Heroku = require('heroku-client'); +let heroku = new Heroku({ + token: Details.HEROKU.API_KEY +}); +let baseURI = '/apps/' + Details.HEROKU.APP_NAME; + +var dd = '' +var errmsg = '' +if (Details.LANG == 'SI') dd = 'සර්වර් එකෙහි ප්‍රින්ට් වේ.', errmsg = '*ඔබ ඇතුලත් කල ෆයිල් එක සර්වර් එක තුල නොමැත!*' +if (Details.LANG == 'EN') dd = 'Prints the inside of the file on the server.', errmsg = '*The file you are looking for is not available on the server!*' + +SewQueen['IntroduceCMD']({pattern: 'print ?(.*)', fromMe: true, desc: dd}, (async (message, input) => { + exec('cat ' + input[1], async (err, stdout, stderr) => { + if (err) { + return await message.client.sendMessage(message.jid,errmsg, MessageType.text) + } + await message.client.sendMessage(message.jid, `Root ~# ${input[1]} \n\n` + stdout, MessageType.text) + }); +})); +var bdesc = '' +var berr = '' +var need_way = '' +if (Details.LANG == 'SI') bdesc = 'සර්වර් එක තුලට audio , video , photo ඇතුලත් කරයි.', berr = '*ඔබගේ ෆයිල් එක අප්ලෝඩ් කල නොහැක!*', need_way = '*ෆයිල් පාත් එකක් අවශ්‍යයි!*' +if (Details.LANG == 'EN') bdesc = 'Sends audio, video and photos inside the server.', berr = '*The file you are looking for is not available on the server!*', need_way = '*File Path Required!*' +let wk_q = Details.WORKTYPE == 'public' ? false : true +SewQueen['IntroduceCMD']({pattern: 'bashmedia ?(.*)', fromMe: wk_q, desc: bdesc, usage: 'video.mp4 && media/gif/pic.mp4'}, (async (message, input) => { + var id = message.jid + try { + if (input[1].includes('jpg') || input[1].includes('tiff') || input[1].includes('raw') || input[1].includes('dng') || input[1].includes('png') || input[1].includes('jpeg')) { + await message.client.sendMessage(id,fs.readFileSync(`/root/QueenSewWhatsappBot/${input[1]}`), MessageType.image, {caption: Details.CPK }) + } + else if (input[1].includes('mp4') || input[1].includes('avi') || input[1].includes('webm') || input[1].includes('mkv') || input[1].includes('mpeg')) { + await message.client.sendMessage(id,fs.readFileSync(`/root/QueenSewWhatsappBot/${input[1]}`), MessageType.video, {caption: Details.CPK }); + } + else if (input[1].includes('mp3') || input[1].includes('waw') || input[1].includes('flac') || input[1].includes('weba') || input[1].includes('ogg') || input[1].includes('m4a')) { + await message.client.sendMessage(id,fs.readFileSync(`/root/QueenSewWhatsappBot/${input[1]}`), MessageType.audio); + } + else { + await message.client.sendMessage(id,need_way, MessageType.text) + } + } catch (err) { + await message.client.sendMessage(id,berr, MessageType.text) + } +})); +let wk_ad = Details.WORKTYPE == 'public' ? false : true +var addsdesc = '' +var rep_add = '' +var suc_add = '' +if (Details.LANG == 'SI') addsdesc = 'සර්වර් එක තුලට audio , video , photo ඇතුලත් කරයි.', rep_add = '*ඕනම ෆයිප් එකකට රිප්ලයි එකක් යොදන්න*', suc_add = '*මීඩියා සර්වර් එකට ඇතුලත් කලා ✅*' +if (Details.LANG == 'EN') addsdesc = 'Uploads image, audio or video to the server.', rep_add = '*Reply to Any Media Message!*', suc_add = '*Media Added to Server! ✅*' + +SewQueen['IntroduceCMD']({pattern: 'addserver$', fromMe: wk_ad, desc: addsdesc}, (async (message, input) => { + if (message.reply_message.image) { + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + var fin = location.split('.')[1] + exec('mv ' + location + ' /root/QueenSewWhatsappBot/server-image.' + fin) + await message.client.sendMessage(message.jid,suc_add, MessageType.text) + } + else if (message.reply_message.video) { + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + + }); + var fin = location.split('.')[1] + exec('mv ' + location + ' /root/QueenSewWhatsappBot/server-video.' + fin) + await message.client.sendMessage(message.jid,suc_add, MessageType.text) + } + else if (message.reply_message.audio) { + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + + }); + var fin = location.split('.')[1] + exec('mv ' + location + ' /root/QueenSewWhatsappBot/server-audio.' + fin) + await message.client.sendMessage(message.jid,suc_add, MessageType.text) + } + else { await message.client.sendMessage(message.jid,rep_add, MessageType.text) + } +})); +async function checkUsAdmin(message, user = message.data.participant) { + var grup = await message.client.groupMetadata(message.jid); + var sonuc = grup['participants'].map((member) => { + if (member.jid.split("@")[0] == user.split("@")[0] && member.isAdmin) return true; else; return false; + }); + return sonuc.includes(true); +} +async function checkImAdmin(message, user = message.client.user.jid) { + var grup = await message.client.groupMetadata(message.jid); + var sonuc = grup['participants'].map((member) => { + if (member.jid.split("@")[0] == user.split("@")[0] && member.isAdmin) return true; else; return false; + }); + return sonuc.includes(true); +} +var antilink_var = '' +async function antlch() { + await heroku.get(baseURI + '/config-vars').then(async (vars) => { + antilink_var = vars.ANTI_LINK + }); +} +antlch() +var ldc = '' + +if (Details.LANG == 'SI') ldc = '*‎ලින්ක් එකක් හමුවිය!*' +if (Details.LANG == 'EN') ldc = '*Link Detected!*' + +SewQueen['IntroduceCMD']({on: 'text', fromMe: false, delownsewcmd: false}, (async (message, input) => { + if (antilink_var == 'true') { + let regex1 = new RegExp('http://') + let regex2 = new RegExp('https://') + if (regex1.test(message.message)) { + var us = await checkUsAdmin(message) + var im = await checkImAdmin(message) + if (!im) return; + if (us) return; + await message.client.groupRemove(message.jid, [message.data.participant]); + if (Details.ANTILINKMSG == 'default') { + await message.client.sendMessage(message.jid,ldc, MessageType.text, {quoted: message.data }) + } else { + await message.client.sendMessage(message.jid,Details.ANTILINKMSG, MessageType.text, {quoted: message.data }) + } + } + else if (regex2.test(message.message)) { + var us = await checkUsAdmin(message) + var im = await checkImAdmin(message) + if (!im) return; + if (us) return; + await message.client.groupRemove(message.jid, [message.data.participant]); + if (Details.ANTILINKMSG == 'default') { + await message.client.sendMessage(message.jid,ldc, MessageType.text, {quoted: message.data }) + } else { + await message.client.sendMessage(message.jid,Details.ANTILINKMSG, MessageType.text, {quoted: message.data }) + } + } + else if (message.message.match(/((?:[.]com)\b)/i)) { + var us = await checkUsAdmin(message) + var im = await checkImAdmin(message) + if (!im) return; + if (us) return; + await message.client.groupRemove(message.jid, [message.data.participant]); + if (Details.ANTILINKMSG == 'default') { + await message.client.sendMessage(message.jid,ldc, MessageType.text, {quoted: message.data }) + } else { + await message.client.sendMessage(message.jid,Details.ANTILINKMSG, MessageType.text, {quoted: message.data }) + } + } + } +})); +SewQueen['IntroduceCMD']({pattern: 'term ?(.*)', fromMe: true, desc: DATA.TERM_DESC}, (async (message, input) => { + var user = message.client.user.name + var id = message.jid + if (input[1] === '') return await message.client.sendMessage(id,DATA.GIVE_ME_CODE,MessageType.text); + + exec(input[1], async (err, stdout, stderr) => { + if (err) { + return await message.client.sendMessage(id,'```' + user + ':~# ' + input[1] + '\n' + err + '```',MessageType.text); + } + + return await message.client.sendMessage(id,'```' + user + ':~# ' + input[1] + '\n' + stdout + '```',MessageType.text); + }); +})); +let wk = Details.WORKTYPE == 'public' ? false : true +var medinfo = '' +if (Details.LANG == 'SI') medinfo = 'රිප්ලයි කල වීඩියෝවේ තාක්ශනික තොරතුරු පෙන්වයි.' +if (Details.LANG == 'EN') medinfo = 'Shows the technical information of the replied video.' + +SewQueen['IntroduceCMD']({pattern: 'mediainfo$', fromMe: wk, desc: medinfo}, (async (message, input) => { + var id = message.jid + if (message.reply_message.video) { + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + exec('mv ' + location + ' /root/QueenSewWhatsappBot/vid.mp4') + exec('ffprobe -hide_banner -loglevel fatal -show_error -show_format -show_streams -show_programs -show_chapters -show_private_data -print_format json /root/QueenSewWhatsappBot/vid.mp4', async (err, st, stderr) => { + if (err) { + return await message.client.sendMessage(id,'*Error:* \n\n' + err,MessageType.text); + } + var stdout = JSON.parse(st) + let + vsize = '*Video Size:* ' + vlength = '\n*Video Length:* ' + second = ' Second' + vrvalue = '\n*Video Resolution Value:* ' + vpvalue = '\n*Video Pixel Value:* ' + vpformat = '\n*Video Pixel Format:* ' + vcprofile = '\n*Video Codec Profile:* ' + vctag = '\n*Video Codec Tag:* ' + srvalue = '\n*Example Aspect Ratio:* ' + vrvalue = '\n*Viewable Aspect Ratio:* ' + vfps = '\n*Video FPS Value:* ' + vavgfps = '\n*Video Average FPS Value:* ' + sctip = '\n*Audio Codec Type:* ' + sctag = '\n*Audio Codec Tag:* ' + shzvalue = '\n*Audio KHz Rate:* ' + schannel = '\n*Audio Channels:* ' + schome = '\n*Audio Channel Layout:* ' + var msgi = vsize + stdout.format.size / 1000000 + 'MB' + vlength + stdout.streams[0].duration + second + vrvalue + stdout.streams[0].width + 'p' + vpvalue + stdout.streams[0].width + 'x' + stdout.streams[0].height + vpformat + stdout.streams[0].pix_fmt + vcprofile + stdout.streams[0].codec_name + vctag + stdout.streams[0].codec_tag_string + srvalue + stdout.streams[0].sample_aspect_ratio + vrvalue + stdout.streams[0].display_aspect_ratio + vfps + stdout.streams[0].r_frame_rate.split('/')[0] + vavgfps + stdout.streams[0].avg_frame_rate.split('/')[0] + sctip + stdout.streams[1].codec_name + sctag + stdout.streams[1].codec_tag_string + shzvalue + stdout.streams[1].sample_rate + schannel + stdout.streams[1].channels + schome + stdout.streams[1].channel_layout + return await message.client.sendMessage(id,msgi,MessageType.text); + }); + } else { return await message.client.sendMessage(id,SDATA.MP4TOAUDİO_NEEDREPLY, MessageType.text) + } +})); +var sucmsg = '' +var pmmm = '' +var psmm = '' +if (Details.LANG == 'SI') sucmsg = '*මැසේජ් එක යැවීම සාර්තකයි ✅*', pmmm = 'රිප්ලයි කල කෙනා වෙත ප්‍රයිවට් මැසේජ් එකක් යොමුකල හැක.', psmm = 'රිප්ලයි කල කෙනා හට ප්‍රයිවට් වොයිස් මැසේජ් එකක් යොමුකල හැක.' +if (Details.LANG == 'EN') sucmsg = '*Message Sent Successfully ✅*', pmmm = 'Sends a private message to the replied person.', psmm = 'Sends a private voice message to the respondent.' +SewQueen['IntroduceCMD']({pattern: 'pm ?(.*)', fromMe: true, desc: pmmm, onlyGrpSew: true }, (async (message, input) => { + if (!message.reply_message) return await message.client.sendMessage(message.jid,NDATA.NEED_REPLY, MessageType.text); + if (message.reply_message && input[1] == '') return await message.client.sendMessage(message.jid, NDATA.NEED_WORDS, MessageType.text); + let uspm = message.reply_message.jid + await message.client.sendMessage(uspm, `${input[1]}`, MessageType.text); + await message.client.sendMessage(message.jid, sucmsg, MessageType.text); +})); +SewQueen['IntroduceCMD']({pattern: 'pmtts ?(.*)', fromMe: true, desc: psmm, onlyGrpSew: true}, (async (message, input) => { + if (!message.reply_message) return await message.client.sendMessage(message.jid,NDATA.NEED_REPLY, MessageType.text); + if (message.reply_message && input[1] == '') return await message.client.sendMessage(message.jid, NDATA.NEED_WORDS, MessageType.text); + let + LANG = Details.LANG.toLowerCase(), + ttsMessage = input[1], + SPEED = 1.0 + + if(langMatch = input[1].match("\\{([a-z]{2})\\}")) { + LANG = langMatch[1] + ttsMessage = ttsMessage.replace(langMatch[0], "") + } + if(speedMatch = input[1].match("\\{([0].[0-9]+)\\}")) { + SPEED = parseFloat(speedMatch[1]) + ttsMessage = ttsMessage.replace(speedMatch[0], "") + } + + var buffer = await googleTTS.synthesize({ + text: ttsMessage, + voice: LANG + }); + fs.writeFileSync('tts.mp3', buffer); + + await message.client.sendMessage(message.reply_message.jid, fs.readFileSync('tts.mp3'), MessageType.audio, {mimetype: Mimetype.mp4Audio, ptt: true}); + await message.client.sendMessage(message.jid,sucmsg, MessageType.text); + +})); + diff --git a/Commands/ffmpeg.js b/Commands/ffmpeg.js new file mode 100644 index 0000000..2a8cfb5 --- /dev/null +++ b/Commands/ffmpeg.js @@ -0,0 +1,90 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let { SendMessageImage } = require('sew-queen-pro/sources/dc/cmd/dl') +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +const DATA = DataHelp.dataGet('ffmpeg'); + + SewQueen['IntroduceCMD']({pattern: 'ffmpeg ?(.*)', fromMe: WorkType, desc: DATA.FF_DESC, dontAdCommandList: true}, (async (message, input) => { + + if (input[1] === '') return await message.client.sendMessage(message.jid,'Need Media and Filter Name!\nℹ️ Ex: ```.ffmpeg fade=in:0:30```\nℹ️ Ex: ```.ffmpeg curves=vintage, fps=fps=25```', MessageType.text); + if (message.reply_message.video) { + + var downloading = await message.client.sendMessage(message.jid,DATA.FF_PROC,MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .videoFilters(`${input[1]}`) + .format('mp4') + .save('output.mp4') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp4'), MessageType.video, {mimetype: Mimetype.mpeg, caption: '*' + Details.CPK + '*'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + } + else if (message.reply_message.video === false && message.reply_message.image) { + + var downloading = await message.client.sendMessage(message.jid,DATA.FF_PROC,MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .videoFilters(`${input[1]}`) + .save('output.jpg') + .on('end', async () => { + await SendMessageImage(message,fs.readFileSync('output.jpg'),'*' + Details.CPK + '*'); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + } + else { + var downloading = await message.client.sendMessage(message.jid,DATA.FF_PROC,MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .audioFilters(`${input[1]}`) + .save('output.mp3') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp3'), MessageType.audio, {mimetype: Mimetype.mp4Audio}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + } + })); diff --git a/Commands/filter.js b/Commands/filter.js new file mode 100644 index 0000000..c843714 --- /dev/null +++ b/Commands/filter.js @@ -0,0 +1,65 @@ +let DataPack = require('sew-queen-pro'); +let SewQueen = DataPack.handler +let Details = DataPack.details +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@adiwajshing/baileys'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let Language = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true +const FilterDb = require('../DataBase/filters'); +const Lang = Language.dataGet('filters'); +SewQueen['IntroduceCMD']({pattern: 'filter ?(.*)', fromMe: true, desc: Lang.FILTER_DESC, dontAddCommandList: true}, (async (message, match) => { + match = match[1].match(/[\'\"\“](.*?)[\'\"\“]/gsm); + + if (match === null) { + filtreler = await FilterDb.getFilter(message.jid); + if (filtreler === false) { + await message.client.sendMessage(message.jid,Lang.NO_FILTER,MessageType.text) + } else { + var mesaj = Lang.FILTERS + '\n'; + filtreler.map((filter) => mesaj += '```' + filter.dataValues.pattern + '```\n'); + await message.client.sendMessage(message.jid,mesaj,MessageType.text); + } + } else { + if (match.length < 2) { + return await message.client.sendMessage(message.jid,Lang.NEED_REPLY + ' ```.filter "sa" "as"',MessageType.text); + } + await FilterDb.setFilter(message.jid, match[0].replace(/['"“]+/g, ''), match[1].replace(/['"“]+/g, '').replace(/[#]+/g, '\n'), match[0][0] === "'" ? true : false); + await message.client.sendMessage(message.jid,Lang.FILTERED.format(match[0].replace(/['"]+/g, '')),MessageType.text); + } +})); + +SewQueen['IntroduceCMD']({pattern: 'stop ?(.*)', fromMe: true, desc: Lang.STOP_DESC, dontAddCommandList: true}, (async (message, match) => { + match = match[1].match(/[\'\"\“](.*?)[\'\"\“]/gsm); + if (match === null) { + return await message.client.sendMessage(message.jid,Lang.NEED_REPLY + '\n*Example:* ```.stop "hello"```',MessageType.text) + } + + del = await FilterDb.deleteFilter(message.jid, match[0].replace(/['"“]+/g, '')); + + if (!del) { + await message.client.sendMessage(message.jid,Lang.ALREADY_NO_FILTER, MessageType.text) + } else { + await message.client.sendMessage(message.jid,Lang.DELETED, MessageType.text) + } +})); + + +SewQueen['IntroduceCMD']({on: 'text', fromMe: false}, (async (message, match) => { + var filtreler = await FilterDb.getFilter(message.jid); + if (!filtreler) return; + filtreler.map( + async (filter) => { + pattern = new RegExp(filter.dataValues.regex ? filter.dataValues.pattern : ('\\b(' + filter.dataValues.pattern + ')\\b'), 'gm'); + if (pattern.test(message.message)) { + await message.client.sendMessage(message.jid,filter.dataValues.text, MessageType.text, {quoted: message.data}); + } + } + ); +})); diff --git a/Commands/greetings.js b/Commands/greetings.js new file mode 100644 index 0000000..e8d02de --- /dev/null +++ b/Commands/greetings.js @@ -0,0 +1,69 @@ +/* +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj +*/ + +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +let DataB = require('../DataBase/greetings'); +let DATA = DataHelp.dataGet('greetings'); + + +SewQueen['IntroduceCMD']({pattern: 'welcome (.*)', fromMe: true, dontAdCommandList: true}, (async (message, input) => { +if (message.reply_message) { + textsew = message.reply_message.text +} else { + if (input[1] === '') { +var hg = await DataB.getMessage(message.jid); + if (hg === false) { + return await message.client.sendMessage(message.jid,DATA.NOT_SET_WELCOME,MessageType.text); + } else { + return await message.client.sendMessage(message.jid,DATA.WELCOME_ALREADY_SETTED + hg.message + '```',MessageType.text); + } + +} + textsew = input[1] + } + if (textsew === 'delete') { await message.client.sendMessage(message.jid,DATA.WELCOME_DELETED,MessageType.text); return await DataB.deleteMessage(message.jid, 'welcome'); } + await DataB.setMessage(message.jid, 'welcome', textsew.replace(/#/g, '\n')); + return await message.client.sendMessage(message.jid,DATA.WELCOME_SETTED,MessageType.text) +})); + +SewQueen['IntroduceCMD']({pattern: 'goodbye (.*)', fromMe: true, dontAdCommandList: true}, (async (message, input) => { + if (message.reply_message) { + textsew = message.reply_message.text +} else { + if (input[1] === '') { +var hg = await DataB.getMessage(message.jid, 'goodbye'); + if (hg === false) { + return await message.client.sendMessage(message.jid,DATA.NOT_SET_WELCOME,MessageType.text); + } else { + return await message.client.sendMessage(message.jid,DATA.GOODBYE_ALREADY_SETTED + hg.message + '```',MessageType.text); + } + +} + textsew = input[1] + } + if (textsew === 'delete') { await message.client.sendMessage(message.jid,DATA.GOODBYE_DELETED,MessageType.text); return await DataB.deleteMessage(message.jid, 'goodbye'); } + await DataB.setMessage(message.jid, 'goodbye', textsew.replace(/#/g, '\n')); + return await message.client.sendMessage(message.jid,DATA.GOODBYE_SETTED,MessageType.text) + +})); diff --git a/Commands/heroku.js b/Commands/heroku.js new file mode 100644 index 0000000..5146560 --- /dev/null +++ b/Commands/heroku.js @@ -0,0 +1,289 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +let Heroku = require('heroku-client'); +let {secondsToHms} = require('./afk'); +let sql = require('../DataBase/greetings'); +let DATA = DataHelp.dataGet('heroku'); +let Langr = DataHelp.dataGet('lydia'); + +let heroku = new Heroku({ + token: Details.HEROKU.API_KEY +}); + + +let baseURI = '/apps/' + Details.HEROKU.APP_NAME; + +SewQueen['IntroduceCMD']({pattern: 'restart$', fromMe: true, desc: DATA.RESTART_DESC}, (async (message, input) => { + + await message.client.sendMessage(message.jid,DATA.RESTART_MSG, MessageType.text); + console.log(baseURI); + await heroku.delete(baseURI + '/dynos').catch(async (error) => { + await message.client.sendMessage(message.jid,error.message, MessageType.text); + }); +})); + +SewQueen['IntroduceCMD']({pattern: 'shutdown$', fromMe: true, desc: DATA.SHUTDOWN_DESC}, (async(message, input) => { + + await heroku.get(baseURI + '/formation').then(async (formation) => { + forID = formation[0].id; + await message.client.sendMessage(message.jid,DATA.SHUTDOWN_MSG, MessageType.text); + await heroku.patch(baseURI + '/formation/' + forID, { + body: { + quantity: 0 + } + }); + }).catch(async (err) => { + await message.client.sendMessage(message.jid,error.message, MessageType.text); + }); +})); + + SewQueen['IntroduceCMD']({pattern: 'dyno$', fromMe: true, desc: DATA.DYNO_DESC}, (async (message, input) => { + + heroku.get('/account').then(async (account) => { + // have encountered some issues while calling this API via heroku-client + // so let's do it manually + url = "https://api.heroku.com/accounts/" + account.id + "/actions/get-quota" + headers = { + "User-Agent": "Chrome/80.0.3987.149 Mobile Safari/537.36", + "Authorization": "Bearer " + Details.HEROKU.API_KEY, + "Accept": "application/vnd.heroku+json; version=3.account-quotas", + } + await got(url, {headers: headers}).then(async (res) => { + let resp = JSON.parse(res.body); + total_quota = Math.floor(resp.account_quota); + quota_used = Math.floor(resp.quota_used); + percentage = Math.round((quota_used / total_quota) * 100); + remaining = total_quota - quota_used; + await message.client.sendMessage( + message.jid, + DATA.DYNO_TOTAL + ": ```{}```\n\n".format(secondsToHms(total_quota)) + + DATA.DYNO_USED + ": ```{}```\n".format(secondsToHms(quota_used)) + + DATA.PERCENTAGE + ": ```{}```\n\n".format(percentage) + + DATA.DYNO_LEFT + ": ```{}```\n".format(secondsToHms(remaining)), + MessageType.text + ); + }).catch(async (err) => { + await message.client.sendMessage(message.jid,err.message, MessageType.text); + }); + }); + })); + +SewQueen['IntroduceCMD']({pattern: 'setvar ?(.*)', fromMe: true, desc: DATA.SETVAR_DESC}, (async(message, input) => { + + if (input[1] === '') return await message.client.sendMessage(message.jid,DATA.KEY_VAL_MISSING, MessageType.text); + + + // ================================================== END CONFIG SCANNER ================================================== + + if ((varKey = input[1].split(':')[0]) && (varValue = input[1].split(':')[1])) { + await heroku.patch(baseURI + '/config-vars', { + body: { + [varKey]: varValue + } + }).then(async (app) => { + await message.client.sendMessage(message.jid,DATA.SET_SUCCESS.format(varKey, varValue), MessageType.text); + }); + } else { + await message.client.sendMessage(message.jid,DATA.INVALID, MessageType.text); + } +})); +SewQueen['IntroduceCMD']({pattern: 'var ?(.*)', fromMe: true, desc: DATA.SETVAR_DESC}, (async(message, input) => { + + if (input[1] === '') return await message.client.sendMessage(message.jid,DATA.KEY_VAL_MISSING, MessageType.text); + +if ((varKey = input[1].split(':')[0]) && (varValue = input[1].split(':')[1])) { + await heroku.patch(baseURI + '/config-vars', { + body: { + [varKey]: varValue + } + }).then(async (app) => { + await message.client.sendMessage(message.jid,DATA.SET_SUCCESS.format(varKey, varValue), MessageType.text); + }); + } else { + await message.client.sendMessage(message.jid,DATA.INVALID, MessageType.text); + } +})); + + +SewQueen['IntroduceCMD']({pattern: 'delvar ?(.*)', fromMe: true, desc: DATA.DELVAR_DESC}, (async (message, input) => { + + if (input[1] === '') return await message.client.sendMessage(message.jid,DATA.KEY_VAL_MISSING, MessageType.text); + await heroku.get(baseURI + '/config-vars').then(async (vars) => { + key = input[1].trim(); + for (vr in vars) { + if (key == vr) { + await heroku.patch(baseURI + '/config-vars', { + body: { + [key]: null + } + }); + return await message.client.sendMessage(message.jid,DATA.DEL_SUCCESS.format(key), MessageType.text); + } + } + await message.client.sendMessage(message.jid,DATA.NOT_FOUND, MessageType.text); + }).catch(async (error) => { + await message.client.sendMessage(message.jid,error.message, MessageType.text); + }); + +})); + +SewQueen['IntroduceCMD']({pattern: 'getvar ?(.*)', fromMe: true, desc: DATA.GETVAR_DESC}, (async (message, input) => { + + if (input[1] === '') return await message.client.sendMessage(message.jid,DATA.KEY_VAL_MISSING, MessageType.text); + await heroku.get(baseURI + '/config-vars').then(async (vars) => { + for (vr in vars) { + if (input[1].trim() == vr) return await message.sendMessage("```{} - {}```".format(vr, vars[vr])); + } + await message.client.sendMessage(message.jid,DATA.NOT_FOUND, MessageType.text); + }).catch(async (error) => { + await message.client.sendMessage(message.jid,error.message, MessageType.text); + }); +})); + +SewQueen['IntroduceCMD']({pattern: 'conimg ?(.*)', fromMe: true, dontAdCommandList: true}, (async(message, input) => { + if (input[1] === '') return +if (input[1].includes('/-/')) { +let gggs = input[1].split('/-/')[0] +let gggr = input[1].split('/-/')[1] + if(gggr == 'alive') { +const varKey = 'ALIVE_LOGO' +const varValue = gggs + await heroku.patch(baseURI + '/config-vars', { + body: { + [varKey]: varValue + } + }).then(async (app) => { + await message.client.sendMessage(message.jid,'Image Successful Changed Please Wait 30 sec For Restart', MessageType.text); + }); + + } + + if(gggr == 'main') { +const varKey = 'MAIN_LOGO' +const varValue = gggs + await heroku.patch(baseURI + '/config-vars', { + body: { + [varKey]: varValue + } + }).then(async (app) => { + await message.client.sendMessage(message.jid,'Image Successful Changed Please Wait 30 sec For Restart', MessageType.text); + }); + + } + + + if(gggr == 'well') { +const varKey = 'Y_WELLCOME' +const varValue = gggs + await heroku.patch(baseURI + '/config-vars', { + body: { + [varKey]: varValue + } + }).then(async (app) => { + await message.client.sendMessage(message.jid,'Image Successful Changed Please Wait 30 sec For Restart', MessageType.text); + }); + + } + if(gggr == 'gbye') { +const varKey = 'Y_GOODBYE' +const varValue = gggs + await heroku.patch(baseURI + '/config-vars', { + body: { + [varKey]: varValue + } + }).then(async (app) => { + await message.client.sendMessage(message.jid,'Image Successful Changed Please Wait 30 sec For Restart', MessageType.text); + }); + + } + + if(gggr == 'video') { +const varKey = 'IMAGE_YTV' +const varValue = gggs + await heroku.patch(baseURI + '/config-vars', { + body: { + [varKey]: varValue + } + }).then(async (app) => { + await message.client.sendMessage(message.jid,'Image Successful Changed Please Wait 30 sec For Restart', MessageType.text); + }); + + } + + if(gggr == 'song') { +const varKey = 'IMAGE_SONG' +const varValue = gggs + await heroku.patch(baseURI + '/config-vars', { + body: { + [varKey]: varValue + } + }).then(async (app) => { + await message.client.sendMessage(message.jid,'Image Successful Changed Please Wait 30 sec For Restart', MessageType.text); + }); + + } + + if(gggr == 'fb') { +const varKey = 'IMAGE_FB' +const varValue = gggs + await heroku.patch(baseURI + '/config-vars', { + body: { + [varKey]: varValue + } + }).then(async (app) => { + await message.client.sendMessage(message.jid,'Image Successful Changed Please Wait 30 sec For Restart', MessageType.text); + }); + + } + + + if(gggr == 'tiktok') { +const varKey = 'IMAGE_TIKTOK' +const varValue = gggs + await heroku.patch(baseURI + '/config-vars', { + body: { + [varKey]: varValue + } + }).then(async (app) => { + await message.client.sendMessage(message.jid,'Image Successful Changed Please Wait 30 sec For Restart', MessageType.text); + }); + + } + + if(gggr == 'warn') { +const varKey = 'IMAGE_WARN' +const varValue = gggs + await heroku.patch(baseURI + '/config-vars', { + body: { + [varKey]: varValue + } + }).then(async (app) => { + await message.client.sendMessage(message.jid,'Image Successful Changed Please Wait 30 sec For Restart', MessageType.text); + }); + + }} +})); diff --git a/Commands/info.js b/Commands/info.js new file mode 100644 index 0000000..b7bc4b3 --- /dev/null +++ b/Commands/info.js @@ -0,0 +1,152 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let { SendMessageImage } = require('sew-queen-pro/sources/dc/cmd/dl') +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true +let {spawnSync} = require('child_process'); +let chalk = require('chalk'); +let DATA = DataHelp.dataGet('system_stats'); +let SSSD = DataHelp.dataGet('rrsew'); +let SSSA = DataHelp.dataGet('sewrr'); +let INFOD ="✧✧✧✧✧✧✧✧✧✧✧\n *Infomation Command*\n\n👑 *.sysd*\n ✨system information\n\n👑 *.whois*\n ✨basic whois\n\n👑 *.info*\n ✨advance information\n\n👑 *.id*\n ✨user id\n\nᴘᴏᴡᴇʀᴅ ʙʏ ꜱᴇᴡ ǫᴜᴇᴇɴ" +let I_DESC = "Get infomations with smart bot" +let DD = " *Group Description:* " +var ADMİN_USER = '' +var USER_USER = '' +var TR_USER = '' +var Hİ_USER = '' +var AZ_USER = '' +var SRİ_USER = '' +var RU_USER = '' +var USA_USER = '' +var OTHER = '' +if (Details.LANG == 'EN') ADMİN_USER = '✪\n✨ ➢ *Admins:* ', USER_USER = '✨ ➢ *All members:* ', SRİ_USER = '✨ ➢ *SL Members:* ', TR_USER = '✨ ➢ *Tr Members:* ', Hİ_USER = '✨ ➢ *In Members:* ', AZ_USER = '✨ ➢ *Az Members:* ', RU_USER = '✨ ➢ *Ru Members:* ', USA_USER = '✨ ➢ *USA Members:* ', OTHER = '✨ ➢ *Other members:* ' +if (Details.LANG == 'SI') ADMİN_USER = '✪\n✨➢ *පරිපාලකවරුන්:* ', USER_USER = '✨➢ *මුළු සාමාජීකයින්:* ', TR_USER = '✨➢ *තුර්කි අංක:* ', Hİ_USER = '✨➢ *ඉන්දියානු අංක:* ', AZ_USER = '✨➢ *Az අංක:* ', SRİ_USER = '✨➢ *ශ්‍රී ලාංකික අංක:* ', RU_USER = '✨➢ *රුසියානු අංක:* ', USA_USER = '✨➢ *USA අංක :* ', OTHER = '✨➢ *වෙනත් අංක:* ' + + + SewQueen['IntroduceCMD']({ pattern: 'info$', fromMe: WorkType, desc: SSSA.PL_DESC, dontAddCMDList: true }, async (message, input) => { + + if (message.jid.includes('@g.us')) { + var kingjson = await message.client.groupMetadataMinimal(message.jid) + var code = ''; + try { + code = await message.client.groupInviteCode(message.jid) + } catch (e) { + code = 'Not Permission' + } + var nwjson = await message.client.groupMetadata(message.jid) + let region = await message.client.groupMetadata(message.jid); + let grup = await message.client.groupMetadata(message.jid); + var jids = []; + mesaj = ''; + var users1 = []; + grup['participants'].map(async (uye) => { + if (uye.isAdmin) { + mesaj += '@' + uye.id.split('@')[0] + ' '; + jids.push(uye.id.replace('c.us', 's.whatsapp.net')); + } + users1.push(uye.id.replace('c.us', 's.whatsapp.net')); + }); + var admin_count = jids.length + '\n' + var user_count = users1.length + '\n' + var tr_user = []; + var hi_user = []; + var az_user = []; + var sri_user = []; + var ru_user = []; + var usa_user = []; + var other_user = []; + region['participants'].map(async (reg) => { + if (reg.jid.startsWith('90')) { tr_user.push(reg.id.replace('c.us', 's.whatsapp.net')); + } if (reg.jid.startsWith('994')) { az_user.push(reg.id.replace('c.us', 's.whatsapp.net')); + } if (reg.jid.startsWith('91')) { hi_user.push(reg.id.replace('c.us', 's.whatsapp.net')); + } if (reg.jid.startsWith('94')) { sri_user.push(reg.id.replace('c.us', 's.whatsapp.net')); + } if (reg.jid.startsWith('7')) { ru_user.push(reg.id.replace('c.us', 's.whatsapp.net')); + } if (reg.jid.startsWith('1')) { usa_user.push(reg.id.replace('c.us', 's.whatsapp.net')); + } + }); + var trus = ' ' + tr_user.length + '\n' + var hius = ' ' + hi_user.length + '\n' + var azus = ' ' + az_user.length + '\n' + var srius = ' ' + sri_user.length + '\n' + var ruus = ' ' + ru_user.length + '\n' + var usaus = ' ' + usa_user.length + '\n' + var oth = ' ' + user_count - trus - hius - azus - srius - ruus - usaus + let user_count_msg = ADMİN_USER + admin_count + USER_USER + user_count + TR_USER + trus + Hİ_USER + hius + AZ_USER + azus + SRİ_USER + srius + RU_USER + ruus + USA_USER + usaus + OTHER + oth + '\n✪ ' + let msg = `*Group ID:* ${kingjson.id} \n` + SSSA.SUB + `${nwjson.subject} \n` + SSSA.OWN + `${kingjson.owner} \n` + SSSA.COD + `${code} \n` + user_count_msg + DD + `\n\n${nwjson.desc}` + var ppUrl = await message.client.getProfilePicture(message.jid) + let resim = await axios.get(ppUrl, {responseType: 'arraybuffer'}) + await SendMessageImage(message, + Buffer.from(resim.data), + msg + ); + } + else { + var status = await message.client.getStatus(message.jid) + var usppUrl = await message.client.getProfilePicture(message.jid) + var usexists = await message.client.isOnWhatsApp(message.jid) + let nwmsg = SSSA.JİD + `${usexists.jid} \n` + SSSA.ST + `${status.status}` + let resimnw = await axios.get(usppUrl, {responseType: 'arraybuffer'}) + await SendMessageImage(message, + Buffer.from(resimnw.data), + nwmsg + ); + } + }); + + SewQueen['IntroduceCMD']({pattern: 'jid ?(.*)', fromMe: WorkType, desc: DATA.JID_DESC, dontAddCMDList: true}, (async (message, input) => { + if (message.reply_message !== false) { + await message.client.sendMessage(message.jid, message.reply_message.jid, MessageType.text); + } else if (message.mention !== false) { + message.mention.map(async user => { + await message.client.sendMessage(message.jid, user, MessageType.text) + }); + } else { + await message.client.sendMessage(message.jid,message.jid, MessageType.text); + } + })); + +let WAME_DESC = "Get a link to the user chat." +let WAME = "```Chat link from```@{}: https://wa.me/{}" +let NEED_UWONG = "*Give me a user!*" + SewQueen['IntroduceCMD']({pattern: 'wame ?(.*)', fromMe: WorkType, desc: WAME_DESC}, (async (message, input) => { + if (message.reply_message !== false) { + await message.client.sendMessage(message.jid, WAME.format(message.reply_message.jid.split('@')[0], message.reply_message.jid.replace('@s.whatsapp.net', ' ')), MessageType.text, { + quotedMessage: message.reply_message.data, contextInfo: {mentionedJid: [message.reply_message.jid.replace('c.us', 's.whatsapp.net')]} + }); + } else if (message.mention !== false) { + message.mention.map(async user => { + await message.client.sendMessage(message.jid, WAME.format(user.split('@')[0], user.replace('@s.whatsapp.net', ' ')), MessageType.text, { + contextInfo: {mentionedJid: [user.replace('c.us', 's.whatsapp.net')]} + }); + }); + } else if (!message.jid.includes('@g.us')) { +await message.client.sendMessage(message.jid, WAME.format(message.jid.split('@')[0], message.jid.replace('@s.whatsapp.net', ' ')), MessageType.text, { + contextInfo: {mentionedJid: [message.jid]} + }); + } else { + await message.client.sendMessage(message.jid, NEED_UWONG, MessageType.text); + } + })); + diff --git a/Commands/joke.js b/Commands/joke.js new file mode 100644 index 0000000..b5f3dbf --- /dev/null +++ b/Commands/joke.js @@ -0,0 +1,55 @@ +/* Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +let DATA = DataHelp.dataGet('weather'); + +SewQueen['IntroduceCMD']({pattern: 'joke ?(.*)', fromMe: WorkType, desc: DATA.JOKE_DESC}, async (message, input) => { + if (input[1] === 'xx') return await message.reply(DATA.NEED_LOCATIONA); + let url = `https://official-joke-api.appspot.com/random_joke`; + try { + let response = await got(url); + let json = JSON.parse(response.body); + if (response.statusCode === 200) return await message.client.sendMessage(message.jid, '*🗣️ ' + DATA.JOKE +'* ```' + json.setup + '```\n\n' + + '*😆' + DATA.PUNCHLINE +'* ```' + json.punchline+ '```\n', MessageType.text); + } catch { + return await message.client.sendMessage(message.jid, DATA.NOT_FOUNDAC, MessageType.text); + } +}); +let QUOTE_DESC = "It Sends Random Quote" +let NEED_LOCATIONA = "*Invalid Request*" +let QUOTE = "Quote :" +let AUTHOR = "Author :" +let NOT_FOUNDA = "```Sorry,I could not find a quote. 😖```" + +SewQueen['IntroduceCMD']({pattern: 'quote ?(.*)', fromMe: WorkType, desc: QUOTE_DESC}, async (message, input) => { + if (input[1] === 'xx') return await message.reply(NEED_LOCATIONA); + let url = `https://api.quotable.io/random`; + try { + let response = await got(url); + let json = JSON.parse(response.body); + if (response.statusCode === 200) return await message.client.sendMessage(message.jid, '*📌 ' + QUOTE +'* ```' + json.content + '```\n\n' + + '*✒️' + AUTHOR +'* ```' + json.author+ '```\n', MessageType.text); + } catch { + return await message.client.sendMessage(message.jid, NOT_FOUNDA, MessageType.text); + } +}); diff --git a/Commands/location.js b/Commands/location.js new file mode 100644 index 0000000..a98d88b --- /dev/null +++ b/Commands/location.js @@ -0,0 +1,34 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +let DATA = DataHelp.dataGet('locate'); +SewQueen['IntroduceCMD']({pattern: 'locate', fromMe: true, desc: DATA.L_DESC, warn: DATA.L_WARN}, (async (message, input) => { + var r_text = new Array (); + r_text[0] = "degreesLatitude: 24.121231, degreesLongitude: 55.1121221"; + r_text[1] = "degreesLatitude: 8.838637, degreesLongitude: -13.721434"; + var i = Math.floor(2*Math.random()) + await message.sendMessage(`My Location! ${r_text[i]}`, MessageType.location); +})); diff --git a/Commands/log.js b/Commands/log.js new file mode 100644 index 0000000..bcb7cdb --- /dev/null +++ b/Commands/log.js @@ -0,0 +1,164 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +let DATA = DataHelp.dataGet('log'); + +SewQueen['IntroduceCMD']({ pattern: 'log', fromMe: true, desc: DATA.LOG, warn: DATA.ANIM, onlyGrpSew: true}, (async (message, input) => { + + let meta = await message.client.groupMetadata(message.jid) + let usmeta = message.client.isOnWhatsApp(message.jid) + + if (message.jid.includes('g.us')) { + if (!message.reply_message) { + return await message.client.sendMessage( + message.jid, + DATA.REPLY, + MessageType.text + ); + } + else if (message.reply_message.text) { + await message.client.sendMessage( + message.client.user.jid, + DATA.HEAD + meta.id + DATA.FROM + 'wa.me/' + message.reply_message.jid.split('@')[0] + DATA.USER + DATA.MSG + message.reply_message.text, + MessageType.text + ); + await message.client.sendMessage( + message.jid, + DATA.SUC, + MessageType.text, + ); + } + else if (message.reply_message.image) { + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + ffmpeg(location) + .save('im.jpg') + .on('end', async () => { + await message.client.sendMessage( + message.client.user.jid, + fs.readFileSync('im.jpg'), + MessageType.image, + { caption: DATA.HEAD + meta.id + DATA.FROM + 'wa.me/' + message.reply_message.jid.split('@')[0] + DATA.USER } + ); + await message.client.sendMessage( + message.jid, + DATA.SUC, + MessageType.text, + ); + }); + } + else if (message.reply_message.video) { + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + ffmpeg(location) + .save('vid.mp4') + .on('end', async () => { + await message.client.sendMessage( + message.client.user.jid, + fs.readFileSync('vid.mp4'), + MessageType.video, + { mimetype: Mimetype.mpeg, caption: DATA.HEAD + meta.id + DATA.FROM + 'wa.me/' + message.reply_message.jid.split('@')[0] + DATA.USER } + ); + await message.client.sendMessage( + message.jid, + DATA.SUC, + MessageType.text, + ); + }); + } + else if (!message.reply_message.text && !message.reply_message.video && !message.reply_message.sticker && !message.reply_message.image) { + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + ffmpeg(location) + .save('ad.mp3') + .on('end', async () => { + await message.client.sendMessage( + message.client.user.jid, + fs.readFileSync('ad.mp3'), + MessageType.audio, + { mimetype: Mimetype.mp4Audio} + ); + await message.client.sendMessage( + message.client.user.jid, + DATA.HEAD + meta.id + DATA.FROM + 'wa.me/' + message.reply_message.jid.split('@')[0] + DATA.USER, + MessageType.text + ); + await message.client.sendMessage( + message.jid, + DATA.SUC, + MessageType.text, + ); + }); + } + else { + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + ffmpeg(location) + .save('log.webp') + .on('end', async () => { + await message.client.sendMessage( + message.client.user.jid, + fs.readFileSync('log.webp'), + MessageType.sticker + ); + await message.client.sendMessage( + message.client.user.jid, + DATA.HEAD + meta.id + DATA.FROM + 'wa.me/' + message.reply_message.jid.split('@')[0] + DATA.USER, + MessageType.text + ); + await message.client.sendMessage( + message.jid, + DATA.SUC, + MessageType.text, + ); + }); + } + } + else if (!message.jid.includes('g.us')) { + return; + } +})); + diff --git a/Commands/mycmd.js b/Commands/mycmd.js new file mode 100644 index 0000000..622ada5 --- /dev/null +++ b/Commands/mycmd.js @@ -0,0 +1,104 @@ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true +let DATA = DataHelp.dataGet('_plugin'); +let NDATA = DataHelp.dataGet('updater'); +let Heroku = require('heroku-client'); +let Db = require('../DataBase/cmd'); + + +let heroku = new Heroku({ + token: Details.HEROKU.API_KEY +}); + + +let baseURI = '/apps/' + Details.HEROKU.APP_NAME; + +let msg = Details.LANG == 'SI' || Details.LANG == 'EN' ? 'මෙම කමාන්ඩ් ස්තාපිත කළ හැක ' : '*This cmd is Approved!* ✅' +let unmsg = Details.LANG == 'SI' || Details.LANG == 'EN' ? 'මෙම කමාන්ඩ් ස්තාපිත කල නොහැක ' : '*This cmd is not Approved!* ❌' + + +SewQueen['IntroduceCMD']({pattern: 'install ?(.*)', fromMe: true, delownsewcmd: false, desc: Lang.INSTALL_DESC, dontAdCommandList: true}, (async (message, match) => { + if (match[1] === '') return await message.sendMessage(Lang.NEED_URL + '.install url') + try { + var url = new URL(match[1]); + } catch { + return await message.sendMessage(Lang.INVALID_URL); + } + if (url.host === 'gist.github.com') { + url.host = 'gist.githubusercontent.com'; + url = url.toString() + '/raw' + } else { + url = url.toString() + } + var response = await got(url); + if (response.statusCode == 200) { + var new_commnad = response.body.match(/IntroduceCMD\({.*pattern: ["'](.*)["'].*}/); + if (new_commnad.length >= 1) { + new_commnad = "_____" + new_commnad[1]; + } else { + new_commnad = "_____" + Math.random().toString(36).substring(8); + } + + fs.writeFileSync('./Commands/' + new_commnad + '.js', response.body); + try { + require('./' + new_commnad); + } catch (e) { + fs.unlinkSync('./' + new_commnad); + return await message.sendMessage('This Cmd has Some Error' + ' ```' + e + '```'); + } + + await Db.installPlugin(url, new_commnad); + await message.client.sendMessage(message.jid, Lang.INSTALLED, MessageType.text); + } +})); + +SewQueen['IntroduceCMD']({pattern: 'mycmd', fromMe: true, delownsewcmd: false, desc: Lang.PLUGIN_DESC, dontAdCommandList: true}, (async (message, match) => { + var mesaj = Lang.INSTALLED_FROM_REMOTE; + var commandss = await Db.PluginDB.findAll(); + if (commandss.length < 1) { + return await message.sendMessage('No Any Author Extra Cmd'); + } else { + commandss.map( + (command) => { + mesaj += command.dataValues.name + ': ' + command.dataValues.url + '\n'; + } + ); + return await message.client.sendMessage(message.jid, mesaj, MessageType.text); + } +})); +SewQueen['IntroduceCMD']({pattern: 'remove(?: |$)(.*)', fromMe: true, delownsewcmd: false, desc: Lang.REMOVE_DESC, dontAdCommandList: true}, (async (message, match) => { + if (match[1] === '') return await message.sendMessage(Lang.NEED_PLUGIN); + if (!match[1].startsWith('_____')) match[1] = '_____' + match[1]; + var command = await Db.PluginDB.findAll({ where: {name: match[1]} }); + if (command.length < 1) { + return await message.sendMessage(message.jid, Lang.NOT_FOUND_PLUGIN, MessageType.text); + } else { + await command[0].destroy(); + delete require.cache[require.resolve('./' + match[1] + '.js')] + fs.unlinkSync('./Commands/' + match[1] + '.js'); + await message.client.sendMessage(message.jid, Lang.DELETED, MessageType.text); + + await new Promise(r => setTimeout(r, 1000)); + + await message.sendMessage(NLang.AFTER_UPDATE); + + console.log(baseURI); + await heroku.delete(baseURI + '/dynos').catch(async (error) => { + await message.sendMessage(error.message); + + }); + } + +})); diff --git a/Commands/neko.js b/Commands/neko.js new file mode 100644 index 0000000..7d5efdd --- /dev/null +++ b/Commands/neko.js @@ -0,0 +1,43 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +let DATA = DataHelp.dataGet('nekobin'); + SewQueen['IntroduceCMD']({pattern: 'neko', fromMe: WorkType, desc: DATA.NEKO_DESC}, (async (message, input) => { + + if (!message.reply_message) return await message.sendMessage(DATA.NEED_REPLY); + if (!message.reply_message.text) return await message.sendMessage(DATA.MUST_TEXT); + let base_URI = "https://nekobin.com/api/documents"; + try { + let response = await got.post(base_URI, {json : {content : message.reply_message.text}}); + json = JSON.parse(response.body); + neko_url = 'https://nekobin.com/' + json.result.key; + await message.reply(neko_url); + } catch (err) { + await message.reply(err.message, MessageType.text); + } + + })); + diff --git a/Commands/news.js b/Commands/news.js new file mode 100644 index 0000000..5d7e728 --- /dev/null +++ b/Commands/news.js @@ -0,0 +1,169 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +let DATA = DataHelp.dataGet('weather'); +SewQueen['IntroduceCMD']({pattern: 'news ?(.*)', fromMe: WorkType, desc: DATA.NEWS_DESC}, async (message, input) => { + if (input[1] === '') return await message.reply(DATA.NEED_CATEGORY); + let url = `https://inshortsapi.vercel.app/news?category=${input[1]}`; + try { + let response = await got(url); + let json = JSON.parse(response.body); + if (response.statusCode === 200) return await message.client.sendMessage(message.jid, '*📁 ' + DATA.CATEGORY +':* ```' + input[1] + '```\n\n\n' + + '*💠 ' + DATA.NEWST +':* ```' + json.data[0].title + '```\n' + + '*📰 ' + DATA.NEWS +':* ```' + json.data[0].content + '```\n' + + '*✨ ' + DATA.RMLINK +':* ```' + json.data[0].readMoreUrl + '```\n\n' + + '*💠 ' + DATA.NEWST +':* ```' + json.data[1].title + '```\n' + + '*📰 ' + DATA.NEWS +':* ```' + json.data[1].content + '```\n' + + '*✨ ' + DATA.RMLINK +':* ```' + json.data[1].readMoreUrl + '```\n\n' + + '*💠 ' + DATA.NEWST +':* ```' + json.data[2].title + '```\n' + + '*📰 ' + DATA.NEWS +':* ```' + json.data[2].content + '```\n' + + '*✨ ' + DATA.RMLINK +':* ```' + json.data[2].readMoreUrl + '```\n\n' + + '*💠 ' + DATA.NEWST +':* ```' + json.data[3].title + '```\n' + + '*📰 ' + DATA.NEWS +':* ```' + json.data[3].content + '```\n' + + '*✨ ' + DATA.RMLINK +':* ```' + json.data[3].readMoreUrl + '```\n\n' + + '*💠 ' + DATA.NEWST +':* ```' + json.data[4].title + '```\n' + + '*📰 ' + DATA.NEWS +':* ```' + json.data[4].content + '```\n' + + '*✨ ' + DATA.RMLINK +':* ```' + json.data[4].readMoreUrl + '```\n\n'+ + '*💠 ' + DATA.NEWST +':* ```' + json.data[5].title + '```\n' + + '*📰 ' + DATA.NEWS +':* ```' + json.data[5].content + '```\n' + + '*✨ ' + DATA.RMLINK +':* ```' + json.data[5].readMoreUrl + '```\n\n'+ + '*💠 ' + DATA.NEWST +':* ```' + json.data[6].title + '```\n' + + '*📰 ' + DATA.NEWS +':* ```' + json.data[6].content + '```\n' + + '*✨ ' + DATA.RMLINK +':* ```' + json.data[6].readMoreUrl + '```\n\n'+ + '*💠 ' + DATA.NEWST +':* ```' + json.data[7].title + '```\n' + + '*📰 ' + DATA.NEWS +':* ```' + json.data[7].content + '```\n' + + '*✨ ' + DATA.RMLINK +':* ```' + json.data[7].readMoreUrl + '```\n\n'+ + '*💠 ' + DATA.NEWST +':* ```' + json.data[8].title + '```\n' + + '*📰 ' + DATA.NEWS +':* ```' + json.data[8].content + '```\n' + + '*✨ ' + DATA.RMLINK +':* ```' + json.data[8].readMoreUrl + '```\n\n'+ + '*💠 ' + DATA.NEWST +':* ```' + json.data[9].title + '```\n' + + '*📰 ' + DATA.NEWS +':* ```' + json.data[9].content + '```\n' + + '*✨ ' + DATA.RMLINK +':* ```' + json.data[9].readMoreUrl + '```\n\n'+ + '*💠 ' + DATA.NEWST +':* ```' + json.data[10].title + '```\n' + + '*📰 ' + DATA.NEWS +':* ```' + json.data[10].content + '```\n' + + '*✨ ' + DATA.RMLINK +':* ```' + json.data[10].readMoreUrl + '```\n\n', MessageType.text); + } catch { + return await message.client.sendMessage(message.jid, DATA.NOT_FOUNDC, MessageType.text); + } +}); + +SewQueen['IntroduceCMD']({ pattern: 'show ?(.*)', fromMe: WorkType , desc: "Get info related to tv series and shows"}, async (message, input) => { + + let userName = input[1] + + if (!userName) return await message.sendMessage("give me the show name") + + await message.sendMessage(infoMessage("Loading...")) + + await axios + .get(`http://api.tvmaze.com/search/shows?q=${userName}`) + .then(async (response) => { + let { + name, + type, + language, + status, + officialSite, + summary, + } = response.data[0].show + + + let msg = `*${"Name"}*: ${name}\n*${"Type"}*: ${type}\n*${"Type"}*: ${status}\n*${"Summary"}*: ${summary}\n*${"Official Site"}*: ${officialSite}` + + await message.client.sendMessage(message.jid, msg + '\n\nᴘᴏᴡᴇʀᴅ ʙʏ ꜱᴇᴡ ǫᴘᴇᴇɴ' , MessageType.text); + }) + .catch( + async (err) => await message.sendMessage("Not Found" ), + ) + }, +) +SewQueen['IntroduceCMD']({ pattern: 'movie ?(.*)', fromMe: WorkType, desc: "Shows movie info." }, (async (message, input) => { + if (input[1] === '') return await message.client.sendMessage(message.jid, '```Give me a name.```', MessageType.text, { quoted: message.data }); + let url = `http://www.omdbapi.com/?i=tt3896198&apikey=a6ad5056&t=${input[1]}&plot=full` + let response = await got(url); + let json = JSON.parse(response.body); + if (json.Response != 'True') return await message.client.sendMessage(message.jid, '*Not found.*', MessageType.text, { quoted: message.data }); + let msg = '```'; + msg += 'Title : ' + json.Title + '\n\n'; + msg += 'Year : ' + json.Year + '\n\n'; + msg += 'Rated : ' + json.Rated + '\n\n'; + msg += 'Released : ' + json.Released + '\n\n'; + msg += 'Runtime : ' + json.Runtime + '\n\n'; + msg += 'Genre : ' + json.Genre + '\n\n'; + msg += 'Director : ' + json.Director + '\n\n'; + msg += 'Writer : ' + json.Writer + '\n\n'; + msg += 'Actors : ' + json.Actors + '\n\n'; + msg += 'Plot : ' + json.Plot + '\n\n'; + msg += 'Language : ' + json.Language + '\n\n'; + msg += 'Country : ' + json.Country + '\n\n'; + msg += 'Awards : ' + json.Awards + '\n\n'; + msg += 'BoxOffice : ' + json.BoxOffice + '\n\n'; + msg += 'Production : ' + json.Production + '\n\n'; + msg += 'imdbRating : ' + json.imdbRating + '\n\n'; + msg += 'imdbVotes : ' + json.imdbVotes + '```'; + await message.client.sendMessage(message.jid, msg, MessageType.text, { quoted: message.data }); +})); + + +let IPSTATUS_DESC = "It Sends Your IP details" +let NEED_IP = "*Enter Your IP Address..!*" +let IP = "IP :" +let ST = "STATUS :" +let CONTINENT = "CONTINENT :" +let COUNTRY = "COUNTRY :" +let COUNTRYCODE = "COUNTRYCODE :" +let REGIONNAME = "REGIONNAME :" +let CITY = "CITY :" +let ZIP = "ZIP :" +let CURRENCY = "CURRENCY :" +let ISP = "ISP :" +let MOBILE = "MOBILE :" +let PROXY = "PROXY :" +let NOT_FOUNDIP = "```Sorry,I could not your IP 😖```" + + SewQueen['IntroduceCMD']({pattern: 'ip ?(.*)', desc: 'gives you the detail of your IP' ,fromMe: WorkType}, async (message, input) => { + if (input[1] === '') return await message.reply(NEED_IP); + let url = `https://api.techniknews.net/ipgeo/${input[1]}`; + try { + let response = await got(url); + let ipjson = JSON.parse(response.body); + if (response.statusCode === 200) return await message.client.sendMessage(message.jid, '*🔴 ' + IP +'* ```' + input[1] + '```\n\n' + + '*🤡' + ST +'* ```' + ipjson.status+ '```\n' + + '*🌐' + CONTINENT +'* ```' + ipjson.continent+ '```\n' + + '*🗺' + COUNTRY +'* ```' + ipjson.country+ '```\n' + + '*🔢' + COUNTRYCODE +'* ```' + ipjson.countryCode+ '```\n' + + '*🌍' + REGIONNAME +'* ```' + ipjson.regionName+ '```\n' + + '*🚩' + CITY +'* ```' + ipjson.city+ '```\n' + + '*🏛' + ZIP +'* ```' + ipjson.zip+ '```\n' + + '*💸' + CURRENCY +'* ```' + ipjson.currency+ '```\n\n' + + '*📡' + ISP +'* ```' + ipjson.isp+ '```\n' + + '*🛡' + PROXY +'* ```' + ipjson.proxy+ '```\n' + + '*📱' + MOBILE +'* ```' + ipjson.mobile+ '```\n', MessageType.text); + } + catch { + return await message.client.sendMessage(message.jid, NOT_FOUNDIP, MessageType.text); + } + }); diff --git a/Commands/notes.js b/Commands/notes.js new file mode 100644 index 0000000..07f909f --- /dev/null +++ b/Commands/notes.js @@ -0,0 +1,120 @@ +/* +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +let fs = require('fs/promises') +let path = require('path') +let NotesDB = require('../DataBase/notes'); +let DATA = DataHelp.dataGet('notes') +let SAVED = " *The Owner MSG👇*" +SewQueen['IntroduceCMD']({ pattern: 'notes', fromMe: WorkType, desc: DATA.NOTES_USAGE }, async (message, input) => { + + + let _notes = await NotesDB.getNotes() + let notes = [] + _notes.map(note => { + if (!note.note.includes('IMG;;;')) { + notes.push('✧' + note.note) + } + }) + + if (notes.length < 1) { + return await message.sendMessage(DATA.NO_SAVED) + } + + await message.sendMessage(SAVED) + + await message.sendMessage(notes.join('\n\n')) + _notes.filter(note => note.note.includes('IMG;;;')).forEach(async (note) => { + let imageName = note.note.replace('IMG;;;', '') + let image = await fs.readFile(path.resolve('media', imageName)) + await message.sendMessage(image, MessageType.image) + }) + + +}) + + + +SewQueen['IntroduceCMD']({ pattern: 'save ?(.*)', fromMe: true, desc: DATA.SAVE_USAGE }, async (message, input) => { + + let userNote = input[1] + + if (!userNote && !message.reply_message) { + await message.sendMessage(DATA.REPLY) + + return + } + + if (userNote) { + await NotesDB.saveNote(userNote) + await message.sendMessage(DATA.SUCCESSFULLY_ADDED, MessageType.text) + + return + + } else if (!userNote && message.reply_message) { + if (!message.reply_message.video) { + + if (message.reply_message.image) { + let savedFileName = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }) + + let randomFileName = savedFileName.split('.')[0] + Math.floor(Math.random() * 50) + path.extname(savedFileName) + await fs.copyFile(savedFileName, path.resolve('media', randomFileName)) + await NotesDB.saveNote("IMG;;;" + randomFileName) + await message.sendMessage(DATA.SUCCESSFULLY_ADDED, MessageType.text) + + + } + + await NotesDB.saveNote(message.reply_message.text) + await message.sendMessage(DATA.SUCCESSFULLY_ADDED, MessageType.text) + + return + } + } else { + await message.sendMessage(DATA.UNSUCCESSFUL) + + return + } +}) + +SewQueen['IntroduceCMD']({ pattern: 'deleteNotes', fromMe: true, desc: DATA.DELETE_USAGE }, async (message, input) => { + + await NotesDB.deleteAllNotes() + + let mediaFolder = await fs.readdir(path.resolve('media')) + + mediaFolder.forEach(async (file) => { + await fs.unlink(path.resolve('media', file)) + }) + + return await message.sendMessage(DATA.SUCCESSFULLY_DELETED) +}) + + + diff --git a/Commands/ocr.js b/Commands/ocr.js new file mode 100644 index 0000000..6780607 --- /dev/null +++ b/Commands/ocr.js @@ -0,0 +1,64 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +let tesseract = require("node-tesseract-ocr") +let langs = require('langs'); +let DATA = DataHelp.dataGet('ocr'); + SewQueen['IntroduceCMD']({pattern: 'ocr ?(.*)', fromMe: WorkType, desc: DATA.OCR_DESC}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage(DATA.NEED_REPLY); + var info = await message.reply(DATA.DOWNLOADING); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + var dil; + if (input[1] !== '') { + dil = langs.where("1", input[1]); + } else { + dil = langs.where("1", Details.LANG.toLowerCase()); + } + + try { + var result = await tesseract.recognize(location, { + lang: dil[2] + }); + } catch (e) { + return await message.reply(DATA.ERROR.format(e)); + } + + await info.delete(); + if ( result === ' ' || result.length == 1 ) { + return await message.reply(DATA.ERROR.format(' Empty text')); + } + + return await message.reply(DATA.RESULT.format(dil[2], result)); + })); + \ No newline at end of file diff --git a/Commands/removebg.js b/Commands/removebg.js new file mode 100644 index 0000000..dc32766 --- /dev/null +++ b/Commands/removebg.js @@ -0,0 +1,64 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +const FormData = require('form-data'); +const stream = require('stream'); +const {promisify} = require('util'); +const pipeline = promisify(stream.pipeline); +const DATA = DataHelp.dataGet('removebg'); + + SewQueen['IntroduceCMD']({pattern: 'removebg ?(.*)', fromMe: WorkType, desc: DATA.REMOVEBG_DESC}, (async (message, input) => { + if (message.reply_message === false || message.reply_message.image === false) return await message.client.sendMessage(message.jid,DATA.NEED_PHOTO,MessageType.text); + if (Details.RBG_API_KEY === false) return await message.client.sendMessage(message.jid,DATA.NO_API_KEY,MessageType.text); + + var load = await message.reply(DATA.RBGING); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + var form = new FormData(); + form.append('image_file', fs.createReadStream(location)); + form.append('size', 'auto'); + + var rbg = await got.stream.post('https://api.remove.bg/v1.0/removebg', { + body: form, + headers: { + 'X-Api-Key': Details.RBG_API_KEY + } + }); + + await pipeline( + rbg, + fs.createWriteStream('rbg.png') + ); + + await message.client.sendMessage(message.jid,fs.readFileSync('rbg.png'), MessageType.document, {filename: Details.BOTNAME + '.png', mimetype: Mimetype.png}); + await load.delete(); + })); diff --git a/Commands/scam.js b/Commands/scam.js new file mode 100644 index 0000000..097c5de --- /dev/null +++ b/Commands/scam.js @@ -0,0 +1,61 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + + +let DATA = DataHelp.dataGet('scam'); +var data = { + action: true +} +SewQueen['IntroduceCMD']({pattern: 'scam ?(.*)', fromMe: true, desc: DATA.SCAM_DESC}, (async (message, input) => { + if (input[1] === '') { + return await message.sendMessage(DATA.SCAM_NOTFOUND); + } else if (input[1] === 'typing') { + if (data.action) { + setInterval(async () => { + await message.client.updatePresence(message.jid,Presence.composing) + }, 10000) + } + } else if (input[1] === 'online') { + if (data.action) { + setInterval(async () => { + await message.client.updatePresence(message.jid,Presence.available) + }, 10000) + } + } else if (input[1] === 'recording') { + if (data.action) { + setInterval(async () => { + await message.client.updatePresence(message.jid,Presence.recording) + }, 10000) + } + } else if (input[1] === 'stop') { + data.action = false + await message.client.updatePresence(message.jid,Presence.paused) + await new Promise(r => setTimeout(r, 500)); + data.action = true + } else { + await message.client.sendMessage(message.jid, DATA.SCAM_NULL, MessageType.text); + } +})); diff --git a/Commands/sewnovel.js b/Commands/sewnovel.js new file mode 100644 index 0000000..1f3dc44 --- /dev/null +++ b/Commands/sewnovel.js @@ -0,0 +1,105 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let { SendMessageImage } = require('sew-queen-pro/sources/dc/cmd/dl') +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification, WAConnectionTest, WA_DEFAULT_EPHEMERAL } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true +let {spawnSync} = require('child_process'); +let DATA = DataHelp.dataGet('nnvl'); +var r_text = new Array (); + r_text[0] = "https://i.ibb.co/hWMT88G/IMG-20210709-160347.png"; + r_text[1] = "https://i.ibb.co/hWMT88G/IMG-20210709-160347.png"; +var i = Math.floor(2*Math.random()) + + SewQueen['IntroduceCMD']({pattern: 'novel', fromMe: WorkType, desc: DATA.NNVL}, (async (message, input) => { + await message.sendMessage(' _*👑 NOVELS/SHORT STORY 👑*_\n ***************************\n\n\n*1.😍 මීන නුවන් 😍 (wrote by Sewwandi)*\n_( අසීමාන්තික ආදරයේ උත්තරීතර ආමන්ත්‍රණය....)_\n\n ✨ Episode 1\n .1meena\n\n ✨ Episode 2\n .2meena\n\n ✨ Episode 3\n .3meena\n\n ✨ Episode 4\n .4meena\n\n ✨ Episode 5\n .5meena\n\n ✨ Episode 6\n .6meena\n\n ✨ Episode 7\n .7meena\n\n ✨ Episode 8\n .8meena\n\n ✨ Episode 9\n .9meena\n\n ✨ Episode 10\n .10meena\n\n\n2.😍හමුවෙමු මතු බවයේ😍(wrote by Asanjana Sumangi)\n_කෙටිකතාවකි_\n\n ✨ .hamuwemu\n\n\n*************************************'); + })); + + SewQueen['IntroduceCMD']({pattern: '1meena', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + var respoimage = await axios.get(`${r_text[i]}`, { responseType: 'arraybuffer' }) + await SendMessageImage(message,Buffer(respoimage.data),'*මීන නුවන් 01*\n 🧎🏻‍♀️❤️🧎\n★✼☆。☆✼⁀➷★✼☆。\n\n\n🧍"චූටී😲😲😲.....ඒයි මේ....තමුසෙ අද ක්ලාස් යන්නෙ නැද්ද ඕයි?......\n\nයනවනම් එනව ඉක්මනට සදළුතලෙන් බිමට බැහැල... මට ඔෆිස් යන්නත් පරක්කු වෙලා"....\n\n"අවදිවන්න අවදිවන්න දීප්තිමත් දිනකි උදා වෙලා තියෙන්නේ...."ඕ ඕ ......යේ"💃\n\nඔන්න ඉතිම් සින්දුවකුත් කියාගෙන ටවල් එක කරේ දාගෙන බාත්රූම් එකට දුවන්න හැදුවා විතරයි.\n\nබෑනෙ මේ මෝඩ සහෝදරයා එක්ක😤😒\n\n\n"ඔහොම ඉන්නව මෝඩස් ...\n\nමේ ලෑස්ති වෙලා ඉවරායි"...😒\n\n"මොකද දෝණි හැමදාම පරක්කු වෙන්නෙ. අයියට ඔෆිස් යන්නත් පරක්කු වෙනව"...\n\nඒ මගෙ ආදරණීය මව්තුමිය🙈 මිසිස් සන්ද්‍යා වික්‍රමසිංහ ....ඒ කියන්නේ මිස්ට යොහාන් වික්‍රමසිංහ ගෙ ප්‍රිය බිරිද🤭 \nඅම්මෝ එයා නම්....තනිකරම බෙලිකටු මල්ලක් ඔහොම හිටියට ..බ්ලා බ්ලා බ්ලා👻👻👻👻\n\n(ආ....හෝව් හෝව් හෝව්.....😬😬🤭🤭ඉන්න ටිකක් මං ගැන කියන්න...\n\nමමද.....ම්ම්ම්...මම ඇවිල්ලා එකෙන්ම මොංගල් සීන් එකේ ඉන්නෙ🙈කොයි වෙලේ බැලුවත් කාට හරි බාල්දියක් පෙල්ලන්නමයි බලන්නෙ🤓🤓🤓නෑහ්....ඉතිම්ම්ම්.....ටිකයි ටිකයි...ස්පෙශලි මගෙ අයියණ්ඩිය වෙච්චි මිස්ට\nඅවිලාශ් දෙව්නක වික්‍රමසිංහට ....😘මම ඉතිම් එයාළගෙ සූටි ගෙදර ඉන්න එකම සූට්ටන් දෝණි🙈🙈නේහා....😋)\n\nඉක්මනට අතට අහුවෙච්ච ඩෙනිම් එකට ටී එකකුත් දාගෙන බෑග් එකත් උස්සන් දිව්වා ඉතිම් පහළට තත්පරේට කිලෝමීටර් විසි පහක විතර වේගෙන්...😌\n\n"අයියෝ ....සන්ද්‍යා ....මේහ්.. බලන්නකො...දෝණි ඔයා නම්😡😡 ".....\n\nමිල්ක් ෆාදර්ට ඩෝග්ස්ලා බාකිං කිව්වලු😱😟\nහප්පට සිරි ඇනුනා නේද ආපු පාරට තාත්තිගෙ ඇගේ😫😫😫(😂)\n\nඇදුම පුරාම අපෙ මිසිස් සන්ද්‍යා මැඩම් අපේ තාත්‍තිට හදන කුක්කු එක...😫\n\nදැන් ඉතිම් මොන ක්ලාස්ද අෆ්ෆා....😤\n\n"අයියේ....ඔයා යන්න..මම අද ක්ලාස් යන්නෑ..."කියාගෙනම කාමරේට ගිහිම් තිබ්බ කේන්තියට දොරත් වැහුවා හයියෙන්ම😒\n\nංං දඩාස්.....ංං\n\nක්ලාසුත් නැති එකේ දැම්මා මගෙ අතිජාත මිතුරිය වෙච්ච දිනිතියට මැගක්🤓...\n\n📲 ado gs gembi.koheda inne.\n\n📲mkd yko me ude pandara baliyanne.inna diymko\n\nපුහ්😒😒මේකිගෙ ගනං...\nඅපි සැලෙයි ඕවට😹\n\n📲 eka nevei bm anna ubage raja kumaraya ada library enawalu.\n\nඔන්න ඉතිම් මම අතෑරියෙ නෑ🙈කෙලියා ටොම් පචයක්...\n\n📲 eh adoo ..sirada kiyanne bm.ane bm api ymko ...plz mnika....plzzz....\n\n\nඔන්න ආවා මන් හිතපු රිප්ලයි එක ඒ විදියටම🙈🙈😂 \n\n........................................\n\nඉතුරු ටික ඉතිම් හෙට😉මොකෝ කියන්නෙ කතාව අවුල් වගේද..අවුල් වගේ නම් ඉස්සරහට ලියන්නෙ නැහැ...comment එකක් දාගෙන යන්න කස්ටිය අනිවා...😊❤️\n\n\nසෙව්...😊❤\n\nWrote By Sewwandi️') + + })); + SewQueen['IntroduceCMD']({pattern: '2meena', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + var respoimage = await axios.get(`${r_text[i]}`, { responseType: 'arraybuffer' }) + + await SendMessageImage(message,Buffer(respoimage.data),'*මීන නුවන් 02*\n 🧎🏻‍♀️❤️🧎\n( අසීමාන්තික ආදරයේ උත්තරීර ආමන්ත්‍රණය ....)\n\n★✼☆。☆⁀➷★✼☆。\n\nඔන්න ඉතිම් උදේ පාන්දරම ක්ලාස් එකත් මිස් උන එකේ මගේ සෝමාලියාවටත් එහා ගිය සයිබීරියානු බන්ඩියට අපෙ අම්මියගෙ අතින් හදන සස... කෑමත්🍝 බන්ඩි ෆුල් වෙන්නම දාගෙන සෙට් උනා දිනිතියත් එක්ක ලයිබ්‍රි එකට යන්න....📚 \n\n\nඇදුමක් දාගෙන පහළට ආවා විතරයි මෙන්න යකෝ අම්මා පටන් ගත්තා ඉතිම්😕\n\n\n"ඒයි.....මේ බලන්නකො...ක්ලාස් එකත් කට් කරන් උදේ පාන්දරම කුමාරිහාමි රස්තියාදුවෙ යන්නයි ලෑස්තිය"😤.....\n\n\nඅප්පච්චිනම් ඇහුන්නෑ වගේ හිටියෙ එයා දන්නව මං එහෙම නරක වැඩ කරන්නැති සූටි බබෙක් කියලා🙄🤭🤭\n\n\n"අනේ ඇත්තටම ඒයි ඔයාටත් මං කියන දේවල් තමා"............😲😲(මෙයා සූටියට බතලයක් වගේ හිටියට කට.....අම්ම්මෝ😱අපි ඔක්කොම ඉතිම් බයයි ...මං හිතන්නෙ තාත්තිත් අම්මිගෙ කට නිසාම තමා මෙච්චර සයිලන්ට්🤭)\n\n\nඅම්මා තව මොන මොනවාද ටිකක් කියල තාත්තිටත් බනිනවා වගේ කියල යාන්තම් ඇහුනා ගේට් එකෙන් එළියට යද්දිම....සින් ගාල මාරු උනේ එතන වැඩි වෙලා හිටියනම් මටත් ඉතිම් සොරි.කොම් වෙන නිසා 🙁\n\n\nකොහොමින් කොහොමහරි දිනිතියයි තව බටු මීච්චියො දෙන්නෙකුයි එක්ක ලයිබ්‍රියට ගියාට මොකද ,අර පිස්සු හෝන්තුව හොයන්නෙම \nඒකිගෙ පරම පිවිතුරු පූජනීය ආදරවන්තයා...සමීර අයියව 😒\n\n\n"ඒහ්....මොකෝ බන් ...හතර වටේටම ඇන්ටනාව කරකවන්නෙ..කාවද හොයන්නෙ"?\n\n\n"ආ....නෑහ් බං...පිස්සුද \nමං මේ නිකම් බැලුවේ...හී...."\n\n\nපුහ්...යකෝ මේකි..මටත් බෝලෙ බස්සන්න කල්පනාව😏\nමං මේකිට බොරු කිව්වෙ කියල දන්නවනම්....😢😢හපෝයි සාන්ත...\n\nඔහොම හිතල ඕනි මගුලක් කර ගනිම් කියල පිටිපස්ස හැරිලා බැලුවා විතරයි😥හප්පට යකෝ....\n\nසමීර අයිය ඇත්තටම ඇවිත් කියාම්කො🤓\nඒ ඔක්කොම හරි කියමුකො.ඒත් සමීර අයියත් එක්ක හිටපු අනිත් එකා දැක්කමනම් ...😮\n\nලයිබ්‍රියෙ ඉන්නෙ කියන එකත් අමතක වෙලා තප්පරේට කිලෝමීටර් සීයක විතර වේගෙන් දුවන්න.......🏃‍♀🏃‍♀🏃‍♀\n\n\n(හෝව් .....හෝව් හෝව්....දිව්වෙ නෑ...හිතුව විතරයි ඉතිම්)🤓\n\n\nනේහා මෙච්චරටම බයවෙන්න එයා කාවද දැක්කෙ🤔 \n\nගෙස් කරන්න බලන්න කස්ටිය☺️\n\n\n\n\n\nඔන්න ඉතිම් චූටි ✨ Episode එකක් දුන්නා....හෙට දෙන්නම් දිග එකක් ...😜❤️\n\n\n\nමොකෝ කියන්නෙ අවුල් වගේද😉 කස්ටිය ගොඩක් කිව්වා ලස්සනයි දිගටම ලියන්න කියලා 🥰🥰\n\n\nකමෙන්ට් කරන අයටයි කතාව කියවන අයටයි තෑන්ක්ස් හරිද❤️ \n\nහැබැයි ඉතිම් සූටි කමෙන්ට් එකක් හරි දාගෙන යන්න...ඉස්සරහට ඔයාලගෙ අදහසුත් එක්ක කතාව ලියන්න පුලුවන්නේ😉❤️\n\n\n\nසෙව්😊❤\n\nWrote By Sewwandi') + })); + SewQueen['IntroduceCMD']({pattern: '3meena', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + var respoimage = await axios.get(`${r_text[i]}`, { responseType: 'arraybuffer' }) + await SendMessageImage(message,Buffer(respoimage.data),'*මීන නුවන් 03*\n 🧎🏻‍♀️❤️🧎\n( අසීමාන්තික ආදරයේ උත්තරීතර ආමන්ත්‍රණය....)\n\n★✼☆。☆✼⁀➷★✼☆。\n\n\nඅම්මෝ කොහෙන්දෝ ආපු වස ලැජ්ජාවකින් මාව කේෂාන්තයේ සිට පාදාන්තය දක්වාම දියවිලා යනව වගේ හැගීමක් එද්දි දිනිතියවත් ඇදගෙන ලයිබ්‍රි එකෙන් එළියට ආවා නෙවෙයි දිව්වා....\n\n"හම්මෝහ්"😢\n\n"මොකක් වෙලාද බං උබට මාවත් ඇදගෙන දිව්වේ.පිස්සු කෙලින්නැතුව යමං" ....\n\nඒකි එහෙම කියද්දි මට ආයෙත් මැවි මැවි පෙවුනා එදා ක්ලාස් එකේ කැන්‍ටින් එකේදි වෙච්ච දේ😟😟\n\n\nක්ලාස් ඉන්ටවල් දුන්නා විතරයි සෙට් එකත් එක්කම කැන්ටින් එකට ගියේ අපේ සයිබීරියානු හිගන්නන්ගේ බන්ඩිය පුරව ගන්න ඉතිම්🤭🤭🤭\nකොච්චර අම්මිගෙ කෑම කෑවත් යාලුවො එක්ක සෙට් වෙලා කන කෑම එක තරම් සෙට් නෑනෙ .....🙊(හෙට ඉදම් ගෙදරින් කෑමත් නැතිවෙයිද දන්නෑ😟)\nකන්න කන්න කියල ගියාට මොකද හිටගෙන තමා කන්න වෙන්නෙ😕ශිට්\nදන්නවනෙ ඉතිම් ක්ලාස් එකක දෙන ඉන්ටවල් එකකදි කැන්ටින් එක නිකම් පොල් පටවපු CTB බස් එක වගේ කියල🙁\n\nඔන්න ඉතිම් යන්තම් ටේබල් එකක් හිස් වෙද්දිම ඒකට සෙට් වෙලා කස්ටියම තෝසෙ කන්න තමා ලෑස්තිය😌😌😌\n\n"අඩෝ....යකෝ ඕක මගෙ.....දියම්.....අනේහ්.....නේහා මේ ..... කෝ බන් මට ඔය සොදි එක දියම්කො....අඩෝ එපා බන්.....ඒ කෑල්ලක් දියම්කො....අනේ මෙන්න මේකී"......\n\nදන්නවනෙ ඉතිම් යාලුවො සෙට් එකත් එක්ක කෑමක් කද්දි ඇහෙන ඒවා😜\n\nමෙතන ඉදම් මේකුන් එක්ක මගෙ කෑම එක කන්න වෙන්නෑ වගේ නිසා සින් ගාලා නැගිටල වෙන ටේබල් එකකට මාරු වෙන්න හැදුවා විතරයි........\n\n\nචාස්........😰😰😰😰😰\n\n"අයියෝ ....මොකක්ද ඕයි මේ කළේ....පිස්සුද තමුසෙට ආ....සිහියෙන් යනව ඕයි යන මගුලක...ඕහ්...ශිට්..මගෙ ඇදුම...."🤬🤬🤬😡\n\nඔය වගේ ටකරමට ගල් ගැහුවා වගේ ළග හිටපු මෑන්ස් මට බැනගෙන බැනගෙන ගියා..\n😣😣😣😣මෑන්ස්ගෙ ඇදුම පුරාම ඇන්ටියගෙ සොදි එක😟(😂😂😂😂)\n\nඅපෝ වස ලැජ්ජාවයි..\nඔක්කොම නිකම් බලන් හිටියෙ අගහරු වලින් කුරුමිට්ටෙක් පාත් වෙලා වගේනෙ යකෝ😒😒😤\n\n\nඅර මෑන්ස් තව මොනවාද මොනවාද ටිකක් කිය කිය බැනලා රැව්වා රැවිල්ලක් ආයෙ මගෙ සර්වාංගෙම දැවිලා අලු වෙලා යන්නම😟😟....\n\nනේහා....මොනාද තවත් බලන් ඉන්නෙ...ඉක්මනට මාරු වෙයම්....කියල මගේ හිත මටම කියද්දි ලැජ්ජාවට ඇස් දෙකේ කදුලුත් පුරවගෙන ආයෙ ක්ලාස් එකට දිව්වෙ ආයෙනම් හැරිලවත් බලන්නෑ කියල හිතාගෙන😰😰\n\nහම්මෝ....එදා ඔය මගෙන් සොදි පාරක් නාපු මෑන්ස් තමා අද සමීර අයියත් එක්ක හිටියේ😤😢😢\n\n\n"නේහා...යකෝ මොනාද බං කල්පනා කරන්නෙ??"\n\nඔන්න ඉතිම් දිනිතිගෙ ඝාන්ඨාර පූජාව පටන් ගන්න හදනකොට තමයි පියවි සිහියට ආවෙ😶😩\n\n"මොකුත් නැහැ බන්...අද...ම්ම්ම්...අද ලයිබ්‍රි ඕනි නැහැ..වෙන දවසක එමු බං...දැන් යමන්."😟\n\n"යකෝ තොට පිස්සුද බං"....\n\n\n"අනේහ් බං...දැන් යමන්...ප්ලීස්..."\n\n\nඔහොම කියල දිනිතියවත් ඇදගෙන ගෙදර ආවෙ අද දවසනම් එපාම කරපු දවසක් කියල හිතාගෙන...ශිට්😕\n\n\nකස්ටිය ගොඩක් ආසාවෙන් කියවන නිසා ඔන්න ඉතිම් 3rd ✨ Episode එකත් දුන්නා...☺️\n\nකතාව ඉවර වෙනකන්ම මාත් එක්ක ඉන්න...\n\nකියවන කමෙන්ට් කරන හැමෝටම ආදරෙයි...😘 ❤️\n\nහෙට ඉදම් නම් ඉතිම් දවසට එක ගානෙ තමා හරිද❤️ තරහ වෙන්නෙපෝ...කවුරුත් 😊🙈\n\n\nසෙව්😊❤️️\n\nWrote By Sewwandi') + })); + SewQueen['IntroduceCMD']({pattern: '4meena', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + var respoimage = await axios.get(`${r_text[i]}`, { responseType: 'arraybuffer' }) + + await SendMessageImage(message,Buffer(respoimage.data),'*මීන නුවන් 04*\n 🧎‍♀❤️🧎\n\nඅසීමාන්තික ආදරයේ උත්තරීතර ආමන්ත්‍රණය....\n\n☆✼⋆⁀➷★✼☆。★✼☆\n\n\nමේ දවස් වල නම් ඉතිම් මං සෑහෙන්න බිසී..මොකද මගෙ A/L එක්සෑම් එකට හරියටම තව සති දෙකක් වගේ පොඩි කාලයක් තිබ්බේ...📚 \n\nගෙදර අයත් ගොඩාක් උදව් කළා...මොකද එයාලගෙත් එකම හීනෙ උනේ මාව කොහොමහරි ජ"පුර කැම්පස් එකේ management student කෙනෙක් කරන එක😊😊😊\n\n\nඅයියත් මගෙ ළගින්ම ඉදගෙන පාඩම් වැඩ වලට උදව් කලා..සමහර විට රෑ දෙක තුන වෙනකම් මාත් එක්ක ඇහැරගෙන හිටියා....❤️\n\n..............................................\n\nඔය විදියට හැමෝගෙම උදව්වත් එක්ක මගෙ එක්සෑම් එකත් ඉවර උණා...පාඩම් වැඩ හොදට කරපු නිසා එක්සෑම් එකත් ලොකු අව්ලක් නැතුව ගොඩ දා ගත්තා ඉතිම්🙈❤️\n\n"ඒයි බතලී ....දැන් ඉතිම් රිසාල්ට් එනකන්ම කකා බිබී සැතපිලා ඉන්නද කල්පනාව"....😒\n\n\nඔන්න ඉතිම් අයියා පටන් ගන්නයි හදන්නෙ😕පුදුම වෙන්න දෙයක් නෑ..අයියත් අම්මි වගේම තමා ඉතිම්....🙈\n\n"අනේහ් යනවා මෝඩස්...😫හැමතිස්සෙම බතලි බතලි කියන්නෙ 😡සෙද්ද...."\n\n\n"ඉතිම් ඇත්තනෙ දෝණි...🤭බලනවා තමුසෙ බටු ඇට දෙකක් තරම්වත් උස නෑ...බතල අලයක් වගේ"...\n\n"ඔව් ඉතිම් අනූ අක්කි තරම්නම් උස නෑනෙ අයියෙ මං"😮😮\n\nඅම්මටත් ඇහෙන්න හයියෙන්ම ඒක කියලා අයියගෙ කොන්ඩෙනුත් ඇදගෙන උඩට ආවෙ එක්සෑම් එකත් ඉවර නිසා මගෙ අතිජාත පාප මිත්‍රයොත් එක්ක පොඩ්ඩක් සෙට් වෙමුද අහන්න🤓.....\n\n\n📲 yko exam walim passe ublt apiva amtk welama gihinda\n\nගෲප් එකට මැසේජ් එකක් දැම්මා....හම්මෝ මේන් ඒ පාර එක එකා මැසේජ් එවනෝ😒මුන්ට දැන් තමා මාව මතක් වෙලා තියෙන්නෙ😒😡\n\n📲ado neha mk?\n📲e oii heta kohe hri ymuda\n📲neha ayyawa mtk kla kiym😉\n\nඒ අස්සෙ තව එකෙක්,\n📲 meka 10 denekta ywnna.suba deyk ahnna labei.....\n\nබ්ලා බ්ලා බ්ලා..😒\n\nහෙට උදේ 10ට කස්ටියම සෙට් වෙමු කියාගෙන ඇදට පැන්නෙ සැප නින්දක් දාන්න ....😴😴?😴\n\n\n\nඔන්න ඉතිම් හෙට ඉදන් තමා හරියටම කතාව පටන් ගන්නෙ😊❤️\n\nටිකක් ඉන්ටකෝ.....😉\n\nකියවන අයටයි කමෙන්ට් කරන අයටයි තෑන්ක්ස් හරිද❤️\n\nසෙව්😊❤\n\nWrote By Sewwandi') + })); + SewQueen['IntroduceCMD']({pattern: '5meena', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + var respoimage = await axios.get(`${r_text[i]}`, { responseType: 'arraybuffer' }) + await SendMessageImage(message,Buffer(respoimage.data), '*මීන නුවන්...05*\n 🧎🏻‍♀️❤️🧎\n\nඅසීමාන්තික ආදරයේ උත්තරීතර ආමන්ත්‍රණය......\n\n★✼☆。☆✼⁀➷★✼☆。\n\n\nඅප්පට තිලි සදේ මල් කාන්ති ළිදේ කිව්වලු...😯\nකිව්ව විදියටම සෙට් එකම දහය වෙද්දි ඇවිත් හිටියා🤓....\n\nනිමා,අකියා,දිනිතියා,තරූ කෙල්ලහ්,රවියා,භාශි,සරා,එතකොට අපේ සෙහාන් කොල්ලා....\n\nසෙහාන් කිව්වට මේකගෙ නම ෂෙහාන්😌මෑන්ස්ට තියන ආදරේට තමා සෙහාන් කියන්නෙ🙈\n\nඑක්සෑම් ඉවර උනාට මොකෝ සෝමාලියානු බන්ඩියට සෙට් වෙලා කෑමක් දාගන්නම බැරි උනානෙ ...😂\n\n\n"අඩො බන්...උබලට කියන්න සාංකාවෙන් හිටියෙ බං මේ දවස්වල"......🥺\n\nඔන්න ඉතිම් අකියා පටන් ගත්තා පුරුදු පාට් එක...(ඕකා කොහෙන් ගියත් කතාව ඉවර කරන්නෙ කෑමකින්ම තමා😁)\n\n\n"අඩෝ වයි බං...සෙට් උනේ දවසටවත් පොඩ්ඩක් ගැම්මෙන් හිටහම්කො..අනේ පනේ ගාන්නැතුව"....😒\n\n\n"අනේ දිනිති තොට වැඩක් නෑනේහ්...හිටු පැත්තකින්😒😒😒"...\n\nඒ පාර රවී පටන් ගත්තා😟....\n\n\nකොහොමින් කොහොමහරි කස්ටියත් එක්කම ටවුන් එකේ ශෂීන් අයියගෙ "සප්පායම"ට සෙට් උනේ දවස් ගානකටම හරියන්න කෑමවලට දෙන්න සොට් එක😌😌😌😌(සප්පායම කිව්වෙ ඒකාගෙ හොටෙල් එකේ නම 😕මූට දාන්න වෙන නමක් තිබ්බෙම නැද්ද මන්දා😒)\n\n\nනේහා ......නේහා....\n\nකස්ටියත් එක්ක දැහැමින් සෙමින් වළදනකොට (බොරුවට කිව්වේ 😬අපේ එවුන් කන්න ගත්තම දැහැමින් කෙසේ වෙතත් හෙමින් නම් නෑනෙ😂)\nනිමා මට කතා කරා ලාවට වගෙ ඇහුනා...\n\n"ඇයි බං මොකෝ..."\n\n\nකොල්ලා සෑහෙන්න අපහසුතාවයකින් ඉන්නව වගේ පෙවුන නිසා මමත් ගත් කටටම ඇහුවා😒\n\n"අනේහ්....නෑ ....බන් අනේ....මේහ්"...\n\n"මොකද යකෝ සමනලයෙක්🦋🙊 වගෙ ඇඹරෙන්නෙ"....කියහම්කො මොකෝ සීන් එක🤔🤔\n\n\nඅනේ...බං උබට පේනවද අර .....👉👉👉කැබින් එක උඩ ඉන්න එකා....😢මට ඕනා බං ඒකගෙ සර්වාංගයම අනුභව කරන්න....කටු ටිකත් ඕනා බං ගෙදර යන ගමන් සූප්පු කරන්න"🥺🥺🥺\n\n\nහප්පට යකෝ....පෙන්නුවා නේද කැබින් එකේ තිබ්බ රෝස් කරපු චිකනෙක්ව🐔🍗🍗🍗....\n\nනිමා ව අලු වෙලා පිච්චිලා උගෙ සර්වාංගයේ සුලු දිය පහවෙලා යන්නම රැව්වා රැවිල්ලක්....🧐😒😒😒\n\nකස්ටියම සැපට කාල එහෙම බීච් එක පැත්තටත් සෙට් උනා ඉතිම් රවුමක් ගහල එන්න හිතාගෙන....\n\n🌊🌊🌊🌊🌊🌊🌊🌊🌊🌊\n\nඔව්.....එදා තමයි ඉස්සෙල්ලාම ඒ ඇස් දැක්කෙ....හරියට මාලුවෙක්ගෙ වගේ චූටි විසේකාර ඇස් දෙකක්.........එක පාරයි මූණ දිහා බලන්න පුලුවන් උනේ...එක පාරටම පපුව ඇතුළෙන් අකුණක් වැදුනා වගේ පිච්චිලා යන මොකක්දෝ හැගීමක් දැනුනා....\n\n\nඉතුරු ටික හෙට දෙන්නාම්ම්ම්.....😜\n\nකොහොමද කතාව ...\nකමෙන්ට් එකක් දාන්න ඉතිම්🙈❤️ \n\nකියවන අයටයි කමෙන්ට් කරන අයටයි තෑන්ක්ස් හරිද❤️ \n\n\nසෙව්😊❤️\n\nWrote By Sewwandi') + })); + SewQueen['IntroduceCMD']({pattern: '6meena', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + var respoimage = await axios.get(`${r_text[i]}`, { responseType: 'arraybuffer' }) + + await SendMessageImage(message,Buffer(respoimage.data), '*මීන නුවන් 06*\n 🧎🏻‍♀️❤️🧎\n\nඅසීමාන්තික ආදරයේ උත්තරීතර ආමන්ත්‍රණය....\n\n★✼☆。☆✼⁀➷★✼☆\n\nබීච් එකට ආවට පස්සෙ අපේ උන්ට යක්සාවේශ වෙලා වගේ නටන්න ගත්තනෙ😢හපෝයි දෙයියනේ....මුන් හරියට නටන්න ගත්තෙ සහරා කාන්තාරෙන් බැහැපු එළුවො වගේනෙ🤓(oops හපෝයි සොරි ඈ....එළුවො නෙවෙයි ඔටුවො😌)......\n\nනිමාගෙ මූණ විතරයි පේන්නෙ.අරුන් ටික ඌව වැලි වලින් වහලම දාලා😂😂 ..යසා.......යි ඕකට....\n\n"අනේ දැන් ඇති බං....අයියෝ බන්...ගෙදර යන්නෙ කොහොමද"....🥺\n\n"හුස්ම ගන්න බෑ යකෝ මාව ගනිම්ම්ම්😭😭"\n\nහිටපු ගමන් එහෙමත් කෑගහනවා ඇහෙනව.පව් අපේ නිමා😂මට ඉතිම් චුටි අනුකම්පාවක් ඇති වෙලත් ආයෙ ඒක නැති වෙලා ගියේ මූ මට රෙස්ටුරන්ට් එකේදි කරපු වැඩේ මතක් වෙලා😒😒\n\n\nකොල්ලො ටික වැලි වලින් ආතල් ගද්දි අපි සෙට් එක ගියා ඉතිම් pre shout පාරක් දාන්න🙈දන්නැද්ද ඉතිම් කෙල්ලොනේ😉❤️\n\n" ඒ...නේහා..ඔහොම හරි නෑ බං...ඔය ඉන්න විදියටම සූට්ටක් හැරියන් සයිඩ් එකට".....\n\n"අයියෝ දැන් ඇති බන්න්..යමංකෝ...බලහම් වෙලාව කීයද කියලා"....😒\n\n\nදිනිතියටත් රවාගෙන කොල්ලො ටික ඉන්න තැනට ගියෙ දැන් ගෙදර යමු කියන්න හිතාගෙන....\n\nහපෝ...මුන්ට ගෙදර යන්න ගානක්වත් නෑ තාමත් අරූව වැලි වලක් බස්සවගෙන දස වද දෙනවා....😂😂😂\n\n\nආතල් එකේ උච්චතම අවස්ථාවට ආවට පස්සෙ කස්ටියටම වැලි නාන්නත් සිද්ද උනා ඉතිම්😫😫\n\nමමත් ඉතිම් අතෑරියෙ නෑ...දුන්නා වැලි බාල්දියකින් විතර සෙහානයට....😂😂\n\n\n"අඩෝ මොකක්ද $&%$%%$%& කළේ😢හිටපං තොට දෙන්නම්".... \nකියාගෙනම අරූ එනෝ කැප් එකෙන් එකක් වැලි අරගෙන....\n\nකරගන්න දෙයක් නෑ...අදනම් කරපු පව් වලට රිටන් හම්බෙනව කියල දැනගෙනම දිව්වා දිව්ල්ලක්.....😱\n\n\nදුවමු මිතුර දුවමු....\nදුවමු මිතුර දුවමු....🏃 🏃 (😂)\n\nචටාස්.....😨😨😨\nවැඩි වෙලා දුවන්න උනේ නෑ එකපාරටම සිමෙන්ති කණුවක් වගේ එකක හැප්පිලා බිමට වැටුනා ගෙම්බා පොලවෙ ගහලා සපත්තුවෙන් චොප්ප කළා වගේ😥(😂).....\n\n\nකවුද මේ වේලුසුමනයා කියල බලන්න ඉස්සුනා විතරයි යකෝ නීල මහා යෝධයා වගේ එකෙක් ඉන්නවනෙ ඇස් දෙක ඉස්සරහ මරු මූස් වගේ මාව කන්න බලාගෙන😱😢....\n\nහැබැයි මෑන්ස් හෙන හැන්ඩියා😎😎😌\n\n..I"m very sorry mr....හිතලා වැදුනෙ නැහැ....😟\n\nඑහෙම කියද්දිම මූ මගෙ දිහා බලන්නෙවත් නැතුව ,\n\n"It"s okay"...\n\nකියාගෙන යන්න ගියානෙ😒\nයකෝ මුගෙ අලි ඔලුව බලාම්කො...ජිම් ගිහිම් සික්ස් පැක් හදාගෙන එනව මෙතන අපිට ලොකු සීන් දාන්න😒😒පුහ්....\n\nමොනා උනත් දෙපාරක් හැරිල බැලෙන තරම් ලස්සනක් තිබ්බෙ නෑ කියන්නෑ ඉතිම්😁😁(මේ සූටි කටින් බොරු කියන්න හොද නෑනෙ😂)....\n\n\nවැඩි වෙලා සිහින ලෝකෙ ඉන්න හම්බ උනේ නෑ.....\n\n"චටාස්"😫😫😫....\n\nසෙහානය ගහපු වැලි පාරනම් වැදුනා ආයෙ දෙකක් නෑ මූණ දෙල් වෙලා යන්නම...🍈🍈🍈🥺🥺😩\n\n"ආ....ඇද්ද උඹට...ආව මෙතන අපිට පූස් පාට දාන්න"....😹😹😹👌\n\n"හිටහම්කො.ඕවට රිටන් දෙන්නම් උබට"....😒\n\n..............................................\n\n\nඔය විදියට ඉතිම් රෑ වෙනකන්ම සෙට් එකත් එක්ක නට නටා ඉදලා රෑටත් වළදලාම තමා ගෙදර ආවෙ😁😂...\n\nඅම්මටනම් යකා නැගලා...කතා කළේවත් නෑ ගිය වෙලේ ඉදම්😂\n\nකමක් නෑ ශුදු නෝනේ ඔයාව උදේට මං යාලු කරගන්නම්කෝ කියල හිතාගෙන ඇදට පැන්නෙ අර නීල මහා යෝධයවත් මගෙ සූටි හාර්ට් එකේ කොනකින් තියාගෙන ඉතිම්🙈❤️ .....\n\n\n\nකස්ටිය ගොඩක් ආසාවෙන් කතාව කියවන නිසා ඔන්න දිග.......කොටසක් දුන්නා😊😊❤️\n\nමරණ තර්ජනත් එල්ල උනා කතාව දාන්නෑ කිව්වම😂\n\nම්ම්ම්...කතාව ලස්සනයිනම් කමෙන්ට් එකක් දාන්න....එතකොට ඉතිම් මටත් පුලුවන් ගැම්මෙන් කතාව ලියන්න🙈❤️\n\n\n\nකියවන අයටයි කමෙන්ට් කරන අයටයි තෑන්ක්ස් හරිද❤️ \n\n\nසෙව්😊❤️\n\nWrote By Sewwandi') + })); + SewQueen['IntroduceCMD']({pattern: '7meena', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + var respoimage = await axios.get(`${r_text[i]}`, { responseType: 'arraybuffer' }) + + await SendMessageImage(message,Buffer(respoimage.data),'*මීන නුවන්..07*\n 🧎🏻‍♀️❤️🧎\n\nඅසීමාන්තික ආදරයේ උත්තරීතර ආමන්ත්‍රණය....\n\n★✼☆。☆✼⁀➷★✼☆\n\nඔහොම ඉතිම් සති දෙක තුනක්ම ගෙවිල ගියේ පට්ටම බෝරිං විදියට😞🥱\nඅපේ අයියගෙ උත්තරීතර ප්‍රේමවන්තිය අනූ අක්කි නම් ඉතිම් හැමදාම වගේ අපේ ගෙදර ආවා...(බදින්න කලින් නැන්දම්මවයි මාමණ්ඩියවයි ශේප් කරගන්න හිතාගෙන වෙන්න ඇති ඉතිම්🙈❤️ )....\n\nසුපුරුදු විදියටම පශ්චාත් භාගයටත් එළිය වැටෙනකල්ම සැතපීගෙන ඉදලා දහයට විතර පහළට ආවෙ මිසිස් සන්ධ්‍යාගෙ අතින් හදන කුක්කු එක බොන්න...🤤\n\n\n"අනේහ්....අයියා පිස්සුද...අම්මා දැක්කොත්....ඒයී ....මෝඩයෝ".....\n\nහප්පද බොල..කවුද යකෝ ඒ😐😐\n\nඋඩ ඉදගෙනම පහළට එබිල බැලුවෙ අපේ ගෙදර උදේ පාන්දරම මේ වෙන්න යන නස්පැත්තිය මොකක්ද බලන්න😦😦😦\n\n"ඒයි මෝඩයා...යනව යන්න"...😘\n\n"වැඩිය සද්දෙ දාන්නෙපා ආ....අම්මිත් උයනවා...අප්පච්චි ගෙදර නෑ...දෝණිත් තාම දොයී"..😉...\n\n😦😦😦😦😦මොනාද බොල මේ වෙන්නෙ...(මේ සූටි මාවත් නරක් කරනවානෙ අෆ්ෆා😌)\n\nහිතුවා හරි...මේ ඇවිල්ලා ඉන්නෙ අපේ අයියණ්ඩියගෙ නාකි කෝලම😌ඒක තමා මේකත් අද මල්සරා වැහිල වගේ ඉන්නෙ🤪....\n\n"ඔන්න අපි නම් මොකුත් දැක්කෙ නෑ ඉතිම්.......""\n\nකියාගෙනම පහළට ආවම අනූ අක්කි නිකම් ජම්බෝලයක් වගේ රතු උනා...🤭පව් කියලත් හිතුණා ඉතිම් සූට්ටක්...\n\nඅයියනම් ඉතිම් දන්නවනෙ මගෙ හැටි😅😚අනංගයා වගෙ හිටියට මේකාටත් අද නම් ලැජ්ජ හිතුණද කොහෙද😹...\n\n"ගුඩ් මෝනිම් අක්කි...දැන්ද ආවෙ?"...\n\n"අනේ...හ් ...නෑ....දෝණි දැන් ටිකක් වෙලා..."(සතු ජම්බුවක් 🍒වගේ උනේ පාරට මේකිට ගුම් මෝනිම් කියන්නත් අමතක වෙලා..අපෝයි සාම්ත😹)\n\n"දෝණි යනවකො ඕයි වද නොදී..😒වැඩක් නැත්තම් ගිහිම් අම්මට උයන්න උදව් කරනවා"...\n\nපුහ් 😒යකෝ මූට මොකා වැහිලද...කොහෙද ඉන්න පිටි මුට්ටයක් වගේ එකක් සෙට් කොරගෙන මටත් යන්නලු😡...\nහිටුකො ඔහොම දෙන්නම් වැඩක් කියලා හිතාගෙන කුස්සිය පැත්තට ගියේ මගෙ ශුදු නොනා කෝ බලන්න...🙈\n\nඅම්මෝ බරටම වැඩ...අර පිටි මුට්ටියට කන්න දෙන්න වෙන්න ඇති😒\n\n"ගුඩ් මෝනිම් අම්මියෝ"😘\nකියාගෙන ගිහිම් සූටි උම්මියක් දෙන්න හැදුවා විතරයි....\n\nආ... කුමාරිහාමි දැන්ද නැගිට්ටේ"??\n\nබෑනි කරන්න ඉතිම්...මෙයාගෙ කට නම්ම්...😒ගිය ආත්මෙ මොනා නැතත් ඝණ්ටාර නම් පූජකරලා තියෙනවා සැපටම...😒ඒකනෙ ඉතිම් දේවාලෙ කපුවට අර හොල්ලන මොකක්ද එක (😌) හම්බුණා වගෙ කියවන්නෙ😒...\n\nඅද නම් කිසිම වගතුවක් නෑනෙ අප්පා..අර කෝලම හිටියෙ නැත්තම් අයියටවත් බාල්දියක් පෙල්ලලා ආතල් එකේ ඉන්න තිබ්බා😕\n\n"දෝණී.....ෆෝන් එක රින් වෙනෝ තමුසෙගෙ ...කන් ඇහෙන්නැද්ද"😡\n\n"ආ ඉන්න අම්මේ.....මං බලන්නාම්..."\n\nකියාගෙන උඩට ගියේ කවුද යකෝ මේ උදේ පාන්දරම මැරෙන්න හදන මහසෝන් අවතාරෙ කියල බලන්න😕....\nAnswer කළා ඉතිම් මොකා උනත් මොකද කියලා ...\n\n📱Hello....\n\n📱📞ඔබගේ ප්‍රියතම ගීතය ඔබේ M Tune එක ලෙස යොදා ගැනීම සදහා........\n\nහප්පට...යකෝ ....මොබිටෙල් එකේ හත්මුතු පරම්පරාවම මතක් කළා ඉතිම්.....උදේ පාන්දරම ලේ කෝප කරනවනෙ අෆ්ෆා😡\n..............................................\nඑදා බීච් එකේදි හම්බවුනු මෑන්ස්ගෙනුත් කිසිම ප්‍රතිචාරයක් නෑ..😕මට ඒකාව නෝට් උනාට ඌ ඉතිම් ගියේ මාව සත පහකටවත් ගනම් නොගෙනනෙ...අම්මපා වෙලාවකට මේ කොල්ලොනම්....ඕකුන් ඉන්නෙම හෙන ඔලුවෙන්.....😒(මරණ තර්ජනවත් එල්ල වෙයිද දන්නෑ මේකුන්ට බනින්න ගිහිම්😟)..\n\n"ඒයි බතලී....මෙහෙ එනවකො ඕයි පොඩ්ඩක් පහළට"....\n\nඔන්න ඉතිම් එ පාර අයියා බලියනෝ...\n\n"ඕ ඉන්නවා...එන්නාම්ම්ම්"\n\nඔහොම කියාගෙනම පහළට ගිහිම් ඉදගත්තා.අනූ අක්කිනම් මොකක්දෝ පත්තර කෑල්ලක තියන wedding dress එකක් දිහා බලනෝ පොඩි එකා වගෙ කටත් ඇද කර කර.. ..😍අයියා ඉතිම් මෙයාට වශී උනේ කොහොමද කියල හිතාගන්න පුලුවන් මටත් දැන් නම්..😌\n\n"දෝණි"....\n\n"ම්ම්ම්ම්....අයියෙ"...\n\n"අක්කිට ලස්සන dress එකක් හොයල දෙනවකො ඕයි"..\n\n"Dress එකක්".....😐 මොකටද??\n\n"ඇයි ඕයි තමුසෙගෙ අයියටත් ළගදිම නාස් ලණුව දාගන්නයි වෙන්නෙ"....අම්මි කිව්වෙ නැද්ද දෝනි??\n\nමොනාද යකෝ මෙයා මේ කියවන්නෙ??අයිය මැරි කරන්නද යන්නෙ එතකොට...නිකමටවත් කවුරුත් කිව්වෙ නෑ මට😭\nහිතුණා අම්මියි අප්පච්චියි තැන තැන කුටු කුටු ගානකොට...ඒත්...මෙච්චර ඉක්මනට😭😭 කොහොමද මේකව අනු අක්කිට දෙන්නෙ😭😭....\nකොච්චර වද දුන්නත් මම මේකාට ආදරෙයිනෙ😭\n\nහිත ඇතුළෙ එක එක විකාර ගොඩාක් බල්ටි ගහන්න ගත්තෙ දන්නෙම නැතුව ඇස් වලට කදුලුත් එද්දි😔..\n\n..............................................\n\nBoring වගේද කතාව🙁අදනම් සුට්ටක් අවුල් ඇති..අද කොටස දෙන්නෑ කියල හිතාගෙන ඉද්දි තමා ආයෙත් ටයිප් කළේ😕\n\nකියවන අයටයි කමෙන්ට් කරන අයටයි තෑන්ක්ස් හරිද❤️ \n\n\nසෙව්😊❤️\n\nWrote By Sewwandi') + })); + SewQueen['IntroduceCMD']({pattern: '8meena', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + var respoimage = await axios.get(`${r_text[i]}`, { responseType: 'arraybuffer' }) + + await SendMessageImage(message,Buffer(respoimage.data), '*මීන නුවන්...08*\n 🧎🏻‍♀️❤️🧎\n\nඅසීමාන්තික ආදරයේ උත්තරීතර ආමන්ත්‍රණය....\n\n★✼☆。☆✼⁀➷★✼☆。\n\nඅම්මියි අප්පච්චියි මටත් නොකියම අයියව අනූ අක්කිට දෙන්න හැමදේම ලෑස්ති කරලා ඉවරයි...කියාගන්න බැරි ලොකු සතුටක් හිතේ තිබ්බත් ඒ අස්සෙන් ඊටත් වඩා ලොකු දුකක් තිබ්බෙ තව ටික දවසකින් දුක හිතුනම බදාගෙන කෑ ගහල අඩන්නවත් සතුටු හිතුණම පිස්සියෙක් වගේ උඩ පැන පැන හිනාවෙන්නවත් කෙනෙක් නැති වෙන නිසා ...........😔😔😔\n\nමගේ දෙවනි අප්පච්චි තමයි අයියා...හැමදාම හැමදේකදිම මගෙ ළගින්ම හිටියා...චූටි කාලෙ මම ලෙඩ උනාම මගෙ ළගින් හෙල්ලෙන්නෙවත් නැතුව මාව පරිස්සම් කළා....මොකක් හරි දග වැඩක් කරල අප්පච්චි ගැහුවම එක එක විකාර කරල මාව හිනැස්සුවා..😔😔😔\nඊටත් වඩා මම එයාට කරපු හැම පිස්සු වැඩක්ම පොඩි එකෙක් වගේ ඉවසගෙන හිටියා....මොන තරම් ලොකු කේන්තියක් උනත් මම ඉස්සරහදි ලස්සන හිනාවකින් ඒ හැමදේම අමතක කරල දැම්ම...😔❤️❤️❤\n\nමොන තරම් ලොකු දුකක් හිතේ තිබුණත් ඒ හැමදේම ඉවසගෙන හිනා වෙලා පිස්සුවක් නටලා ඉන්නෙ එයත් එක්ක ගෙවන හැම තත්පරයක්ම මට දැන් ගොඩක් වටින නිසා.....\n\n..............................................\n\nඅනූ අක්කිගෙ අම්මල එහෙමත් ඇවිත් wedding එකට දින දාගත්තා...අනූ අක්කිටනම් මාර happy...බලන බලන හැම සැරේකම පොඩි එකෙක් වගේ හිනා වෙලාමයි ඉන්නෙ...❤මං ගොඩක්ම ආස කළෙත් එයාගෙ ඒ හිනාවට....මොකද මං දන්නව ඒ හිනාවට පුලුවන් කියල අයියව කොච්චර ලොකු ප්‍රශ්නෙකදි උනත් හැමදාමත් සතුටින් තියන්න....❤️👩‍❤️‍💋‍👨\n\nමේ දවස් වල නම් සෑහෙන්න busy...කොච්චර මහන්සි උනත් ඒ හැම මොහොතක්ම ගත උනේ ගොඩක් ආදරණීය විදියට...අම්මයි අප්පච්චියිත් අනූ අක්කිව එයාලගෙම දෝනියෙක් විදියට පිළිගන්න බලාගෙන හිටියෙ ඇගිලි ගැන ගැන...(කිව්වට බෑ ඉතිම් ඉස්සෙල්ලා ආපු අගට වඩා පස්සෙ ආපු කන ලොකුයිනි😒🙈)...\n\n..........................................\n\nWedding එකට හරියටම තව දවසයි...Bridsmade ලගෙ ඇදුම් ටිකත් බලලා අයියගෙ චූටි චූටි වැඩ ටිකකුත් තිබිලා ඒ ටික කරගෙන ඉක්මනට ගෙදර ඇවිත් වොශ් එකක් දාගෙන බැල්කණි එකට ගියේ සතුට අස්සෙන් ලොකු දුකකුත් හිතේ හිරකරගෙන ....\n\nඅයියගෙයි මගෙයි හැම ලස්සන මතකයක්ම එකින් එක චිත්‍රයක් වගේ ඇස් ඉස්සරහ මැවෙද්දි මටවත් නවත්ත ගන්න බැරි තරමටම කදුලු කැට ගෝනියක් විතර කම්මුල් දිගේ පහළට වැටෙන්න ගත්තා...😔😔\n\nඑකපාරටම පිටිපස්සෙන් වැදුනු හුස්මත් එක්ක ගැස්සිලා ගියාට ඒ කවුද කියල අදුරගන්න මට තත්පරයක්වත් ගියෙ නෑ...චූටි කාලෙ ඉදලම හැම සතුටක්ම හැම දුකක්ම එයාගෙ කරගෙන මං හිනාවෙද්දි හිනාවුනු අඩන වෙලාවෙදි පිස්සෙක් වගේ මාව හිනස්සවන්න දගලපු ඔයාගෙ සුවද අදුරගන්න බැරි නෑ අයියෙ ඔයාගෙ දෝනියට....😔\nහදවත පසාරු කරගෙන යන්න කවුරු හරි පිහියකින් අනිනවා වගේ හැගීමක් හිත අස්සෙ ගුලි වෙලා තියෙද්දි දුවගෙන ගිහිම් එ පපුවට තුරුළු උනේ හෙට ඉදම් මට අයිති නැති වෙන ඒ උණුහුම විදින්න...🥺🥺🥺❤️\n\n"ඒයී....දෝණියෝ ...මොකෝ මේ"....\n\nඑයත් කොච්චර හිනා වෙලා ඉන්න try කළත් ඒ ඇස් වල සතුට අස්සෙ හැංගිලා තියෙන දුක මගෙන් නම් හංගන්න බැරි උනා.... \n\n"අයියෝ මැණික...මොකෝ මේ....අඩන්න එපා ගෙම්බී....අයිය ඔයාව දාල යන්නෙ නැහැනෙ ඉතිම්...අයිය හැමදාම ඉන්නෙ ඔයත් එක්ක හරිද..ම්ම්ම්....කෝ දැන් හිනාවෙන්න".....😘😘😘\n\nඑහෙම කියල පොඩි එකෙක් වගේ කම්මුලකුත් මිරිකල අහිංසක හිනාවක් දැම්මම හිතේ කොච්චර දුකක් තිබ්බත් ඒ ඔක්කොම යට කරන් චූටි හිනාවක් මූණට ආවෙ ඉස්සර මේ පිස්සු කෝලමව බෙදාගන්න බැරුව අම්මියි අප්පච්චියිත් එක්කත් රණ්ඩු කරන හැටි මතක් වෙද්දි....❤️🙈\n\n"මේ අහන්න මැණික...හෙට ඉදම් මම ගෙදර නැති උනාට හැමදාම ඔයත් එක්ක අයිය ඉන්නව හරිද....කවදාවත් හිතන්න එපා මං ඔයාව දාල යනව කියල"...\n\n"පුලුවන් හැම වෙලාවකම මම එන්නම් හරිද මගෙ සූටි දෝණියව බලල යන්න"...😘😘😘😘😘\n\nඑයා මගෙ හිත හදන්න මොන දේ කිව්වත් මට කරන්න පුලුවන් උන එකම දේ එයාව බදාගෙන තවත් හයියෙන් අඩන එක විතරයි....😔😔😘\n\nඔහොම ගොඩාක් වෙලා දෙන්නත් එක්කම අපි දෙන්නගෙ ලස්සන හැම මතකයක්ම මතක් කර කර කොච්චර දුකක් තිබ්බත් ඒ හැමදේම අහිංසක හිනාවකින් කෙළවර කරල නිදාගන්න ආවෙ හෙට උදේ හතරට saloon එකට යන්න ඕන නිසා....\n\n..............................................\n\nහෙට ඉතිම් අපේ මිස්ට අවිලාශ් දෙව්නකගෙ wedding එකෙන් හම්බවෙමු🙈\n\nපෙරේත සෙට් එක plate එහෙම ලෑස්ති කරන් ඉන්නෝ😚\n\nWedding cake කෑල්ලක්🍰🍰🍰 ඕන්නම් ඉතිම් comment එකක් දාගෙන යන්න😉\n\n\nසෙව්😊❤️\n\nWrote By Sewwandi') + })); + SewQueen['IntroduceCMD']({pattern: '9meena', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + var respoimage = await axios.get(`${r_text[i]}`, { responseType: 'arraybuffer' }) + + await SendMessageImage(message,Buffer(respoimage.data),'*මීන නුවන්...09* 🧎‍♀️❤️🧎‍♂️\n\nඅසීමාන්තික ආදරයේ උත්තරීතර ආමන්ත්‍රණය....\n\n★✼☆。☆✼⁀➷★✼☆。\n\n👩‍🦰"දෝණී"......\n\n😴😴😴😴😴😴😴😴😴\n\n👩‍🦰"දෝණියෝ..නැගිටිනවා"\n\n😴😴😴😴😴😴😴😴\n\n👩‍🦰"නැගිටිනව ළමයො ඉක්මනට මූණ හෝදගෙන ලෑස්තිවෙන්න ..පරක්කුත් වෙලා"....😡\n\nඅම්ම තුන් වෙනි පාරට කතා කරනකොට තමා උඩ විසි වෙලා ඇහැරුණේ..😴😳😳😳😳\n\n"ඕ...අම්මේ ඉන්න ඉක්මනට එන්නාම්ම්ම්"....\n\nකියාගෙනම බාත්රූම් එකට දිව්වෙ ඉක්මනට saloon එකට යන්න ඕන නිසා..අයියනම ලෑස්ති වෙලා පහළට වෙලා කුක්කු බොනෝ......🥛🥛\n\nකොහොමහරි අතට අහු වෙච්ච එකත් ඇදගෙන මගින් දිනිතියවත් අරගෙන අයිය අපි දෙන්නව saloon එකට දාල ගියා එයත් ලෑස්ති වෙන්න....\n\n(අපි දෙන්න තමා ඉතිම් අපේ සූටි අනූ අක්කියගෙ bridsmade ලට ඉන්නෙ)😋😍\n\nඅම්මෝ....saloon එකේ අක්ක නම් මූණට දෙන්න තියන දස වද ඔක්කොම දීල අපි දෙන්නව ලෑස්ති කලා...(අක්කා කිව්වට මට නම් පේන්නෙ මෙයාව ඇන්‍ටි කෙනෙක් වගේ...😌)\nදිනිතියට නම් ඉතිම් මෙලෝ සිහියක් නෑ ...මොකද අද අනංගයත් එනවනෙ😚...ඒ මගුලත් මේකෙන්ම තීන්දු වෙයිද කියන්නත් බෑ ඉතිම්🙈❤️ .....\n\nඅපිට කොහෙන්ද ඉතිම් එහෙම chance🙁\nමං හිතන්නෙ මගෙ හෝර්මෝන ක්‍රියාකාරිත්වය සාපේක්ෂව අඩුද කොහෙද🧐🧐එහෙමත් නැත්තම් මල්සරාගෙ මල් දෑසට මාව තාම අහු වෙලා නෑ🧐🧐නැත්තම් යකෝ අවුරුදු විස්සකුත් වෙන්න එනවා තාම මේ සූටි හිතට ආදරේ කරන්න කවුරුත් නෑනෙ🙁🥺හරි වෙම්දනයි මට..හුම්ම්🙁\n\n"අඩේ...බලාම්කො මේකිට ගියපු කලක්.."😒\n\nඔහොම කියාගෙන අරකි ළගින් ඉදගත්තා විතරයි දත් තිස් දෙකම එළියට දාල හිනා උනානෙ පරණ මොංගල් සීන් එකෙන්ම ....අන්න ඒ වෙලාවෙ තමා මට තේරුම් ගියේ සියල්ල අනිත්‍යයි කියලා🤪(ටියුබ් ලයිට්)\n\nනෑ නෑ ජෝක් එකක් කළේ මොනා උනත් ඒකි ලස්සනයි ඉතිම්🙈❤️ ...\n\nලෑස්ති වෙලා ඉවර වෙද්දිම අයියයි එයාගෙ bestman ලට හිටපු දෙන්නයි ආවෙ අපිවත් අරන් අනූ අක්කිත් එක්ක wedding 4tos ටික අරගෙන hotel එකට යන්න .....\n\nකා එකට නගින්න ගියා විතරයි යකෝ අයියා නිකම් බලන් හිටියෙ මාව නිකම් අදම දැක්ක වගේනෙ 😦😦😦😦😦😦මේ මෝඩස් තාම බැන්දෙත් නෑ මාව දැන් ඉදන්ම ටික ටික අමතක වෙනවද කොහෙද ...😢\n\n"අඩේ දෝණි ....බලනවකො තමුසෙගෙ ලස්සන😍😍😍😍😍😍😍😍😍😍"\n\nඑහෙම කියාගෙනම මගෙ දිහා බලන් පොඩි එකෙක් වගේ කටත් ඇද කරගෙන තනියම හිනා වෙනෝ ඒ පාර...පව් කියලත් හිතෙනෝ ඉතිම්.... අද ඉදම් තොණ්ඩුව දාගන්නෙපැයි බෙල්ලට🤭🤭🤭 \nඒත් ඉතිම් අද මේ සූටි දෝණිව දාල යනව කියල මතක් වෙනකොට නම් දෙන්න හිතෙනව ඩිෂුම් ගාල උඩින් යන්න......😤😤\n\n\n"මං ඉතිම් කොහොමත් ලස්සනයි තමා😌"\n\nකියාගෙනම කොණ්ඩෙත් ගස්සගෙන දීපිකා පදුකෝන් 😌 වගේ ලයින් එකක් දීගෙනම කා එකට නගින්න යද්දි ඇතුළෙ හිටපු මෑන්ස් දැකල සර්වාංගයම සීතල වෙන්න ගත්තනෙ....😱😱😱😱😱😱🥶🥶🥶\n\nඅපෝයි සාන්ත....එදා බීච් එකේදි හිටපු මෑන්ස් ඉන්නවා කා එකේ😢එයත් මාව දැකල ගැස්සිලා ගිය පාරට අයියටත් හිතා ගන්න බැරි වෙලා මොකක්ද මෙ වෙන්නෙ කියලා....\n\n"දෝණි...මොකෝ බං ..ගල් වෙලා වගේ බලන් ඉන්නෙ.ඇතුළට යනවා"....\n\nකියල මේකා මාවත් බලෙන්ම තල්ලු කලානෙ අර මෑන්ස් ළගටම😢...ආයෙ නිකම් ඇන්ටාක්ටිකාවට ගිහිම් දැම්ම වගේ තමා..සීතල වෙලා හාට් බීට් එකක් ගැහෙන්න ගත්තා සින් සින් ගාල😰....\n\nමොනා උනත් මෑන්ස්ගෙ ලස්සන නම් ආයෙ කියන්න දෙයක් නෑ ශාරුක් ,සල්මාන් ඔක්කොම කැලේ😚🙈\n(බොරු කියන්න හොද නෑනි ඉටිම්😋)..\n\n\n4tos ගන්න ආපු uncle කියන කියන විදියට අරෙහෙට මෙහෙට හැරිල හැරිල යාන්තම් පැය එක හමාරකින් විතර 4tos ටික නම් අරන් ඉවර කළා...\n\nඅන්තිමට යන්න හදනකොටම මේ යකා මාවයි අර මෑන්ස්වයි පෙන්නල කිවවනෙ මේ දෙන්නගෙත් එකක් ගමු.දෙන්නම ලස්සනට ඉදියි කියල...දෙන්න හිතුණා ආයෙ හොම්බයි කටයි බොම්බයි මොටයි වෙලා යන්න😰😰අපහසුතාවයට පත් කරනව කියල මෙහෙමත් කරන්න හොදයිද මන් අහන්නෙ😫....\n\nකොහොමහරි ඉතිම් අයියයි අනූ අක්කියිත් එක පාරින්ම ඒකට කැමති උනාම මම් ඉතිම් මොනා කරන්නද😢\n\n"ඔයා ඔහොම චුට්ටක් නැමිලා මෙයාගෙ උරහිසින් අල්ලගෙනෙ ඇස් දිහා බලන්න ...හරිද"....\n\nඅම්මෝ😫😫😫කවද කාපු කටුද මේවා..\n\nUncle එහෙම කියද්දි මම මෑන්ස් දිහා බැලුවම \n"බය වෙන්න එපා වට්ටන්නෙ නෑ "....වගේ මූඩ් එකක් සෙට් කරගෙන අහිංසක විදියට හිනා උනා...☺️\n\nමමත් ඉතිම් හිනා වෙලා ඔලුව වැනුවෙ හරි කියන්න වගේ...😌\n\n..............................................\n\n4tos ටිකත් අරගෙන hotel එකට ආවෙ පෝරුවෙ චාරිත්‍ර ටික කරන්න....අනූ අක්කිනම් ලස්සනම ලස්සනයි....අයිය නම් ඉතිම් එයාගෙ සූටි නෝනා දිහා බලාගත්තු ගමන්මයි...අක්කි කියල ඉතිම් වෙනසක් නෑ..අයියගෙ අතේ එල්ලීගෙනමයි...😍😍😍මොනා උනත් අයියට ජීවිතේ හරියනම කෙනා හම්බුනා....(නංගිට තමා තාම නැත්තෙ...ඒත් ඉතිම් කියන්න බෑ..අද මේ වෙන දේවල් එක්ක.... 😉)\n\nඅශ්ටක කියල මුදු මාරු කරගෙන අයියයි අක්කියි ජීවිත කාලෙ පුරාවටම එයාලගෙම උනා....සතුට වැඩි කමටමද මන්දා අක්කි අයියව බදාගත්තම මගෙ ඇස් වලටත් කදුලක් ආවෙ මටත් නොදැනිම.....අයිය අක්කිට සැලකුවෙ හරියට අප්පච්චි මාව බලාගන්නව වගේ...ඒ වගේ ආදරයක් ලබන්න අක්කි සෑහෙන්න පිං කරන්න ඇති...අයියටත් චූටි හුරතල් අහිංසක මැණිකක් හම්බුනා වගේ තමා ඉතිම්🙈❤️\n\nමගේ මොන්ගල් යාලුවො ටිකත් ඇවිත් හිටියා ආයෙ නිකම් bollywood වලින් බැහැපු කස්ටිය වගේ....දෙයියන්ගෙ පිහිටෙන් අදවත් අනුන්ට බාල්දි පෙල්ලන්නැතුව හිටියොත් හොදයි😕😕😕මේකුන්ගෙ හැටියට ඒව කියන්න බෑ....\n\n"අඩෝ බං බලහම්කො මේකිගෙ ලස්සන..අනාහ්...මගෙ සූටි උක්කුං සූටි මනික...උම්ම්ම්ම්ම්ම්ම්මාහ්😚 "\n\nඅපෝ ඔන්න වසවර්ති නිමා පටන් ගත්තා...කස්ටිය ඉස්සරහා චරිත ඝාතනය කරනවනෙ අප්පා මූ😒\n\n"අඩේ සිරාවට බම් උබ මගේ යාලුවා උනේ නැත්තම් මෙලහකටත් මන් උබව දාගෙන😮".....\n\nඅපෝ මුගෙ වාචාල කට...😡\n\n"මොනාද ගස් ඌරු වල් නරියො කියන්නෙ😡වහගම් කට..මිනිස්සු ඉන්නවා"...\n\nකියාගෙන උගෙ කොන්ඩෙනුත් ඇදගෙනම ගියේ දිනිතියා කෝ බලන්න...හොටෙල් එකට ආවත් හරි මේකි අතුරුදහන්😕 \n\nඋඩ ඉදම් බැලුවම garden එකේ ලස්සන වීව් එකක් තියෙන්නෙ..අපෝයි දෙයියනේ...ඊටත් වඩා වීව් ඒකක් පේන්න ගත්තනෙ...😳😳😳 සින් ගාල ඇස් දෙක වහ ගත්තෙ මේ සූටි හිත නරක් වෙන නිසා...😌\n\nදිනිතියයි සමීර අයියයි දැන්මම වැඩ පටන් අරන්...මන් ඉතිම් ඩිස්ටර්බ් කරන්න හොද නෑනි..මොනා උනත් පරම පිවිතුරු ප්‍රේමවන්තයොනේ....හැබැයි ඕව දකිද්දි මේ සූටි හිත තැලිලා පොඩි වෙලා සුනු විසුනු වෙලා යනෝ 😌😌\n\nදැං ඉතිම් ඒකි ගැන හොයල වැඩක් නෑ කියල ආයෙත් හැරිල යන්න හදනකොටම............\n\n\n..............................................\n\nඉතුරු ටික ඉතිම් හෙට...\nකස්ටිය ගොඩක් ආසාවෙන් කතාව කියවන නිසා ඔන්න දුන්නා..😊❤️\n\nනේහා ආපහු හැරිලා යන්න හදනකොට මොකක්ද වෙන්න ඇත්තෙ?🤔🤔🤔🤔🤔🤔🤔\n\nහරියටම ගෙස් කරලා වටිනා කුඩයක් 🌂 දිනා ගන්න ඔබටත් අවස්තාව තිබේ...😹\n\n\nකමෙන්ට් එකක් දාගෙන යන්න කස්ටිය ...❤️\n\n\nසෙව්😊❤️\n\nWrote By Sewwandi') + })); + SewQueen['IntroduceCMD']({pattern: '10meena', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + var respoimage = await axios.get(`${r_text[i]}`, { responseType: 'arraybuffer' }) + + await SendMessageImage(message,Buffer(respoimage.data), '*මීන නුවන්...10❤*️\n\nඅසීමාන්තික ආදරයේ උත්තරීතර ආමන්ත්‍රණය ....\n\n★✼☆。☆✼⋆。˚➷★✼☆。\n\n👦"Hi"😊\n\nහුටා...මේන් යකෝ අර නීල මහා යෝධයා ....😦😦\n\nමමත් ඉතිම් අතෑරියෙ නෑ...😉\n\n👧"Hi"😋\n\n👦"ම්ම්ම්.....ලස්සනයි"..\n\n👧"මොනාද ලස්සන"🙈\n\n👦"නෑ මං කිව්වෙ ඔයා ලස්සනයි කියල"😜\n\n👧"ආහ්...මමද...තෑන්ක්ස් "😉\n\n👦"මම අභී...ඔයා???"😎\n\n👧"අභී...ම්ම්ම්...ලස්සන නමක්...Nice to meet you Abhi...Im neha.."😊\n\n👦"නේහා??...neha kakkar ද "😉\n\n👧"අම්මෝ නෑ...මට සින්දු කියන්න බෑනෙ ඉතිම්"..😅\n\n"ඒ බං කන්නෙ නැද්ද..යකෝ වරෙම්කො..අපිට බඩගිනියි"...😡😡\n\nඅපෝයි..සෙහානයා කෑ ගහගෙන ආවෙනෙ ලෝක විනාසෙ වෙලා වගේ...😫ඕහ්....ශිට්....අදවත් මලක් නෙලාගෙන බුදු සාදුට පුදන්න හැදුව විතරයි😒ඒකත් කෑව...ඊට වඩා වස ලැජ්ජාවයි...😩මෑන්ස් මන් ගැන මොනා හිතුවද දන්නෑ😐\n\n👦"හරි එහෙනම් ඔයා යන්න...අපි පස්සෙ කතා කරමු.."\n\nඑහෙම කියල මෑන්ස් හිනා උනාම නම් ඒ ශුදු මූණෙන් ඇස් දෙක අහකට ගන්නත් ලෝභ හිතුණා..😌මොකට මේකා මෙච්චර ලස්සන උනාද මන්ද...සූටි කෙල්ලො පිස්සු වට්ටනවනෙ🙈\n\n"හරී"..😊\n\nඑහෙම කියල මාත් හිනා උනා ඉතිම් අහිම්සක සූටි උක්කුං බෝලයක් වගේ...හුම්ම්😌\n\nඅපේ එවුන් නම් ඉතිම් කන්න පටන් ගත්ත හත් මාසෙකින් විතර කාල නෑ වගේ....මමත් ඉතිම් ඇදල අරිනවා මේක අයියගෙ වෙඩින් එක උනේ නැත්තම්😹කොච්චර සයිබීරියානු හිගන්නෙක් බන්ඩියෙ හිටියත් ඊට වඩා ආත්ම ගවුරවයද මොකක්ද කියන එක වටිනවනෙ😁😁ඒ නිසා ශේප් එකේ කැම කාල ඉවර වෙලා බැලුවෙ අභී පේන්න ඉන්නවද කියල...🙈ම්හු..මෑන්ස් නෑනෙ....\n\nකස්ටියම කෑම කාලා ආවට පස්සෙ ලයිට්ස් ඔක්කොමත් ඕෆ් කරලා මයික් එකත් අරන් කස්ටියව ෆුල් හොල්මන් කරල බෑන්ඩ් එක පැත්තට ගියේ අයියට සූටි සප්‍රයිස් එකක් දෙන්න....😊❤️\n\n\nඅයියව සප්‍රයිස් කරන එක කෙසේ වෙතත් අඩන්නැතුව සින්දුව කියන්න බැරි උනොත් හත්මුතු පරම්පරාවම ඉස්සරහ චාටර් කන්න තමා වෙන්නෙ😕කමක් නෑ නේහා....ඕව මොනාද අනිත් චාටර් සීන් එක්ක බලද්දි කියල පටන් ගත්තා වැඩේ....\n\n\n🎤🎤🎤🎤🎤🎶🎶🎶🎶\n\nඅද නම් මා හද ඉවසුම් නෑ....\n\nසොයුරේ පෙම දැනුනා ..\n\nහැගුමන් පායනවාදෝ\n\nමංගල මුදු පළදා ....\n\nඑක ලේ පැහැයයි \n\nසිරුරේ පුරා...\n\nසොයුරේ නුඹ මගෙ පණයි සදා..\n\nසතුටින් ඉනු මැන \n\nදිවිය පුරාවට\n\nනිදුකින් මතු සැමදා ....\n\n\nඅයදිම් සමාව මා සැමදා\n\nසිදුවී ඇතොත් වරදක්...\n\nඔබගේ ළගින්ම මා මතු රැදේ...නොබිදේ\n\nඋතුම් හැගුමන්...\n\nපෙරුමන් පුරාන ආවාදෝ\n\nමා සොයුරු මේ සොදුරූ....\n\nමේ ලෙසිනා අපි අපේම වී...\n\nසසරේ බැදී......😭😭😭\n\nඑතනින් එහාට එක වචනයක්වත් කියාගන්න පුලුවන් උනේ නෑ....අයිය ඇවිත් මාව බදාගත්තම කදුලු වැස්සක් වගේ කම්මුල් දිගේ පහළට වැටෙන්න ගත්තෙ හිතන්න තත්පරයක්වත් ඉතුරු නොකර.....😥😥\n\nජීවිතේ පළවෙනි වතාවට තමා මම දැක්කෙ තේරෙන වයසකදි අයියගෙ ඇස් වල කදුලු 😥....කියාගන්න බැරි තරම් හැගීම් ගොඩකින් හිත පිරිල යද්දි අමාරුවෙන් වචන ටිකක් එකතු කරගෙන..,\n\n"අයි...අයියෙ...හැමදාම අනූ අක්කිත් එක්ක සතුටින් ඉන්න....මාව බලාගත්තා වගේම පරිස්සමට අක්කිවත් බලාගන්න.."😔❤️\n\nඑහෙම කියද්දි තවත් මාව හයියෙන් බදාගනිද්දි හෙමීට කන ළගට ලං වෙලා දගම දග හිනාවකුත් දාල....,\n\n"ඉක්මනට මාව නැන්දියෙක් කරන්න හරිද"😋😋❤️\n\nකිව්වම කදුලු පිහදාගෙන කම්මුලත් මිරිකලා අහිංසක විදියට හිනා උණා... 😘😘😘\n\n"ඔන්න ඔහොම හිනාවෙලා ඉන්නවකො ගෙම්බො"...😘\n\n\nකියාගෙන නහයත් චුට්ටක් සතූ වෙන්නම මිරිකලා අම්මියි අප්පච්චියි ළගට යද්දි තමා දැක්කෙ හැමෝම ඇස් වල කදුලු පුරවගෙන අපි දෙන්න දිහා බලන් ඉන්නව කියල...😔❤️\n\nඒ හැම ඇස් දෙකක්ම අස්සෙන් හිත හෙව්වෙ එක විසේකාර ඇස් දෙකක් .අහම්බෙන් හම්බ උනත් ඒ දවසෙ ඉදන්ම මගෙ හිතේ හැමදාමත් ඒ රෑපෙ ඇදිල තිබ්බ....ඔව්...වෙන කවුරුත් නෙවෙයි ඒ අභී අයියා...❤️\n\n\nමං දැක්ක එයත් ඇස් දෙකේ කදුලු පුරවගෙන අමාරුවෙන් මගෙ දිහා බලල හිනාවෙනව....😘❤️\n\n\nඅන්තිමේදි ඉතිම් අක්කිටයි අයියටයි දෙන්න තියන ඔක්කොම දස වද ටික දීලා පැණි හද බලන්න යැව්වෙ කා එකත් ටින් බෙලෙක්ක කඩයක් කරලා😂😂😂 ...\n\nඅනු අක්කිගෙ මූණ නම් යද්දි බලන්නම වටිනව..ජම්බෝලයක් වගේ රතු වෙලා අඩුම අයියගෙ දිහාවත් බලන්නෙ නෑ ලැජ්ජාවට😅😅😅අම්මෝ ඉතිම් මේ දෙන්නගෙ හනිමූන් එක මතක් වෙලා හිනා යන්න ආවත් බොහොම අමාරුවෙන් නවත්ත ගත්තෙ මං තාම සූටිනෙ කියල මතක් වෙලා...😚\n\nකොහොමහරි ඉතිම් අභී අයියයි මමයිත් ගොඩක් ෆිට් උනා...මොනා උනත් හිත හොද මනුස්සයා😉...අද නම් ඉතිම් මුලු ලෝකෙම මගෙ උනා වගේ තමා..අයියයි අක්කිත් ගොඩක් සතුටින් ..❤️මොනා උනත් හෙට ඉදම් බාල්දියක් වත් පෙල්ලන්න හිටපු මනුශ්ශයා ගෙදර නෑ කියල මතක් වෙද්දිනම් හිතට සාංකාව වගේ...😕\n\n\nගෙදර ඇවිත් වොශ් එකක් දාගෙන තිබ්බ මහන්සියටම ඇදට පැන්නෙ මගේ සූට්ටන් හාට් එකත් අභී අයියව මතක් වෙලා "ලබ් ඩබ් ලබ් ඩබ් " කියල ගැහෙන්න ගද්දි😌...\n\n\nකස්ටිය කමෙන්ට් එකක් දාගෙන යන්න ඉතිම්😊...❤️\n\n\nසෙව්😊❤️\n\nWrote By Sewwandi') + })); + SewQueen['IntroduceCMD']({pattern: 'hamuwemu', fromMe: WorkType, dontAdCommandList: true}, (async (message, input) => { + + var r_text = new Array (); + r_text[0] = "https://i.ibb.co/16Xvtnr/IMG-20210719-WA0473.jpg"; + r_text[1] = "https://i.ibb.co/16Xvtnr/IMG-20210719-WA0473.jpg"; + var i = Math.floor(2*Math.random()) + + var respoimage = await axios.get(`${r_text[i]}`, { responseType: 'arraybuffer' }) + await SendMessageImage(message,Buffer(respoimage.data), 'කෙටිකතාවකි.....\n\nහමුවෙමු මතු භවයේ❤️❤️❤️❤️❤️❤️❤️\n\n ගෙවුනු දින කිහිපය සිතුලිගේ ජීවිතයේ වේදනාබරම කාලය විය. දුකට මෙන්ම සතුටට මේ ලොවේ තමාට සිටි එකම ලේ බැදීමද හදිසි අනතුරක් නිසා සිතුලිට අහිමි විය. ඒ ඇයගේ පියාගේ මවයි. කුඩා කල සිටම මවත් පියත් අහිමි වූ ඇය තම මිත්තනියගේ ඇසුරේ කල් ගෙවන්නට විය. එතරම් අග හිගකමක් නොතිබුනද මව පියා නැති අඩුව සිතුලි හට නොඅඩුව දැනුනි. එතරම් පැහැපත් සමකට උරුමකම් නොකීවද දිගු වරලස නිසාමදෝ කෙනෙකු ආපසු හැරී බලන තරම් ලස්සනක් ඇයට තිබුනි.\n\nමිත්තනියගේ වියෝවෙන් පසු නිවසේ තනි වූ ඇයට තමාගේ ජීවිතයේ ඉදිරිය පිලිබද කිසිදු වැටහීමක් නැත. ගොම්මන් යාමයේ මිදුලට වැටී ඇති මල හිරු කිරන දෙස ඇය බලා සිටියේ කිසිදු හැගීමකින් තොරවයි. \n\n👱‍♂️-සිතුලි අක්කේ... සිතුලි අක්කේ.....\nඇය ගැස්සී පියවි සිහියට ආවෙ කඩුල්ල ලග සිටි දසුන්ගේ කටහඩිනි.\n\n👩-ඇයි මල්ලී?\n👱‍♂️-අක්කා රෑට උයන්නෙ නැති වෙයි කියලා හිතලා අම්මා මේ කෑම එක දෙන්න කිව්වා🙂.\n👩-ගොඩක් ස්තූතිය මල්ලියේ😊\n\nනැවතත් සුපුරුදු ලෙසම කල්පනා ලොවට වැටුන සිතුලි කාත් කව්රුවත් නැති උපන් ගම හැර දමා රැකියාවක් සොයා කොලොම්පුරයට යාමට සිතා ගත්තා😊\n \nරාත්‍රී කෑමක් ගැනීමට පිරියක් නොවූ නිසා දසුන් ගෙනවිත් දුන් බත් පත අනා සතෙක්ට දැමූ ඇය හෙට රැගෙන යාමය අවශ්‍ය ඇදුම් පිලිවෙලකට අසුරා තමා අත වූ එකම රුපියල් දහසේ නෝට්ටුවද බෑගයට දමා ගතේ තිබූ වෙහෙස නිසාම නින්දට වැටුනි.\n\nපසුදා උදෑසන අවදි වූ සිතුලි දෙපතුල දක්වා දිගු කහ පැහැ ගව්මක් ඇද කොන්ඩය තනි කරලට ගොතා ගත් ඇය දොර ජනෙල් වසා නිවසින් පිටට විත් නැවත නිවස දෙස හැරී බැලුවේ කුඩා පල පටන් අත්අම්මා සමග ගෙවූ කාලයේ මතක ආවර්ජනය කරමිනි. \n\n👩‍🦳-ආ සිතුලි කෙල්ලේ කොහෙද මේ පාන්දරම යන්නෙ \n👩-නැන්දේ මම කොලඹ අපේ නැන්දලගෙ යන්න කියලා තනියම ගෙදර ඉන්නත් බෑනෙ\n👩‍🦳- පරිස්සමින් ගිහින් වරෙන් කෙල්ලෙ එහෙනම් .රත්නත්තරේ පිහිටයි\n👩- මම යන්නම් නැන්දේ එහෙනම් \n\nසිතුලි කටට ආ බොරුවක් පවසා එතනින් පැමිනියේ රැකියාවට යනවා කිව්වොත් දසුන්ගේ මව වූ කරුනාවතී ඇයට යාමට නොදෙන නිසයි.\n\nපැය පහක විතර ගමනකින් පසු කොලඹට පැමිනියත් එහි තිබූ නුහුරු නුපුරුදු බව නිසාමදෝ ඇය බිය වී ඇති බව දකින්r ඕනෑම අයෙකුට හැගේ. \n\n👱‍♂️-කොහෙද අයිසෙ යන්නෙ.. ශික් උදේ පාන්දරම කෑවා මාව\n👩-අනේ සමාවෙන්න මන් දැක්කෙ නෑ \n \nඔහු බිම බලාගෙන පිලිතුරු දුන් ඇය දෙස බැලුවේ පුදුමයෙනි. ජනාකීර්න නගරයක් වූ මෙහි මෙවන් අහින්සක යුවතියක් සිටීම.......🤔\n\nදැහැනකට සම වැදුනාක් මෙන් ඇය දෙස බලා සිටින කඩවසම් තරුනයා දෙස බැලූ ඇයගේද සිතද නුහුරු හැහීමකින් වෙලී ගියේ ඇයටත් නොදැනිමයි. නමුත් ඇය ඉක්මන් ගමනින් එතනින් පිටව ගියේ ඇය පැමිනි කාරනය සිහිපත් වීමෙනි.\n\nඉතින් මේ ඔහුන්ගේ පලමු හමුවයි.😘\n\n.................🤍...............\n\nඔහු........❤\nපහන් තේමිය.වයස අවුරුදු 27 ක තරුනයෙක්.ධනවත් ව්‍යාපාරික පව්ලක උපත ලැබුවද ඔහුගේද මව පියා මෙලොව හැරගොස් තිබුනි . දඩබ්බර චරිතයක් වූ ඔහු ඉතා කඩවසම්‍ ය. ව්‍යාපාර ආයතනයක හිමිකරුවෙකකි.\n\nඇය........❤️\nසිතුලි අහින්සා.වයස අවුරුදු 24 ක අහින්සකාවියක්.\n\nයන්නේ කොහේදැයි සිතා ගත නොහැකි වූ ඇය ගතේ විඩාවට අසල වූ බන්කුවකින් ඉද ගෙන සිටියේ අහේතුකවයි.\n\n👱‍♀️-නන්ගී.....\n👩-ඇයි අක්කේ...🙄\n👱‍♀️-මොකද මෙතන කරන්නෙ ගෙදර යන්නෙ නැද්ද😊\n👩-නෑ අක්කෙ මන් රස්සාවක් හොයාගෙන මෙහෙ ආවෙ ඒත් දැන් කරන්නෙ මොකක්ද කියලා හිතාගන්න බෑ \n👱‍♀️-ඉන්න තැනක් තියේද ඔයාට?\n👩-නෑ අක්කේ\n👱‍♀️-යමු මා එක්ක මාත් ඔයා වගේම ගමේ ඉදන් ආපු කෙනෙක් තමා මන් ඉන්න බෝඩිමේම ඔයාටත් ඉන්න පුලුවන් \n👩-අනේ ගොඩක් ස්‍තූතියි අක්කේ\n👱‍♀️-මගේ නම මහිමි එතකොට ඔයා\n👩- මම සිතුලි \n👱‍♀️-යමු නේද එහෙනම්\n\nආගිය තොරතුරු කතා කරමින් දෙදෙනා සමග බෝඩිමට පැමින පසුදා උදෑසන මහිමි සමග ඇය සේවය කරන කාර්‍යාලයටම ගියේ එහි තිබු සම්මුඛ පරීක්ෂණයට සහභාගි වීමටයි.\n\nඑතන සිටි අය දෙස බැලූ විය සිතුලිට සිතුනේ ඇය පැමිනියේ වැරදි ගමනක් බවයි. කොට ස්කර්ට් ,ඇගට ඇලුනු ටීශර්ට් හා මූන පුරා තැවරූ මේකප් වලින් ඔවුන්ගේ සන්කර බව වඩාත් ඉස්මතු වී පෙනුනා.\n\nතමන්ගේ වාරය පැමිනි පසු ඇතුලට ගිය සිතුලිගේ මෙන්ම ඔහුගේද දෑස් විසල් විය😯.\nඉතින් ඒ ඔහුයි. \n....................................\n\n👱‍♂️-good morning 🙂\n👩-good morning ☺️\n👱‍♂️-take a sit🙂\n👩-thank you sir☺️\n👱‍♂️- please give me your documents \n...........🧐🧐...........\n\n\nසම්මුඛ පරීක්ෂණයේ ප්‍රතිඵල එදිනම දැනුම් දෙන බැවින් සිතුලි නැවතත් තම අසුනෙන් ඉදගෙන බලා සිටී.\n\n👱‍♂️-සිතුලි අහින්සා...\n👩-මම සර්☺️\n👱‍♂️-ඇතුලට එන්න..\n👱‍♂️-ඔයාට හෙට ඉදන් ජොබ් එක කරන්න පුලුවන්\n👩-thank you sir❤️\n\nසම්මුඛ පරීක්ෂණය අවසන් වී මහිමි සමග පා ගමනින්ම බෝඩිමට පැමිනි ඇය නා පිරිසිදු වී රාත්‍රී ආහාර ගෙන ඇද මතට ගොඩ උවද නින්ද ඇය අහලකවත් නොවීය.ඇයගේ සිතේද පහන් ගැන අදහසක් නැතුවාම නොවේ.ඒ ගැන සිතමින් උන් ඇය නින්දට යන විට පාන්දර යාමය විය.\n...........🤍...........\nකාලය කෙමෙන් ගතවුනේ සිතුලි හා පහන් ආදරවන්තයින් බවට පත් කරමිනි❤️.....💙.....\n\n👩- පහන් අයියේ අද මන් මහිමි අක්කා එක්ක ඇදුම් ටිකක් ගන්න යන්නද?\n👱‍♂️-ඉතින් මාත් එක්ක යමුකො මැනික ❤️\n👩-මහිමි අක්කටත් යන්න ඕන කිව්වා ඒ නිසා මන් එයා එක්ක බස් එකේ ගිහින් එන්නම්\n👱‍♂️-හා එහෙනම් පරිස්සමින් ගිහින් එන්න\n👩-හරි අයියේ \n👱‍♂️-ඇවිත් මට කෝල් එකක් ගන්න බුදුසරණයි\n👩-බුදුසරනයි අයියේ\n\nවැඩ නිමා වී මහිමි හා සිතුලි නගරයේ ඇදුම් කඩයක් වෙත ගියේ තමාට අවශ්‍ය ඇදුම් මිලදී ගැනීමටයි\n\n......💔......\n👨‍🦱-බොස්..... අරකි තමා පහන්ගෙ කෙල්ල...\nක්‍රිශ්ගෙ ගෝලයා පැවසුවේ ඇදුම් කඩයෙන් එලියට එමින් සිටි සිතුලිව පෙන්වමිනි.\n🧑‍🦱-කෙල්ලව උස්සමු අපි.ඔය පහන් නිසා අපේ බිස්නස් කොච්චර පාඩු උනාද?\n👨‍🦱-හරි බොසා දැන්ම වැඩේ කරමු\n............................\n👱‍♀️- අනේ නන්ගී😭\n👩-මහිමි අක්කේ මාව බේරගන්නකො\n........................\n\n👩-අනේ මාව අතාරින්න.කොහෙද මාව අරගෙන යන්නෙ.මන් ඔයාලට කිසි වැරැද්දක් කරලා නෑනෙ \n🧑‍🦱-උබ කරලා නැති උනාට උබගෙ ප්‍රේමවන්තයා අපිට ලොකු ලොකු කරදර තමා දෙන්නෙ\n...................\n🧑‍🦱-📞......📞.......📞\n👱‍♂️-හෙලෝ..කව්ද මේ 🧑‍🦱-හෙලෝ පහන් උබට මාව අදුරගන්න බෑ එහෙනම්\n👱‍♂️-මොකෝ කටහඩින් අදුරගන්න උබ ජෝතිපාල මහත්තයද.. මේ හලෝ මගෙ කාලෙ කන්නෙ නැතුව ඉක්මන්ට කියන දෙයක් කියනවද?\n🧑‍🦱- උබට මාව විහිලුවක් නේ එහෙනම්😏 මම තමා ක්‍රිශ් දන්නවා ඇතිනෙ\n👱‍♂️- උබ මොකටද මට කතා කරන්නෙ\n🧑‍🦱- උබ නිසා මගෙ බිස්නස් ගොඩාක් පාඩු උනා ඒවට පලි ගන්න වෙලාව දැන් උබගෙ මහලොකු ප්‍රේමවන්‍ති ඉන්නෙ මන් ගාව\n👱‍♂️-මොකක්\n🧑‍🦱-ඇයි විශ්වාස නැද්ද කටහඩ අහන්න දෙන්නද\n.........\n👩- අනේ පහන් අයියේ මාව බේරගන්නකො 😢\n.........\n🧑‍🦱-ඇහුනනෙ උබට\n👱‍♂-මන් මොකක්ද කරන්න ඕන මගෙ කෙල්ලව අතෑරපන්\n🧑‍🦱- මන් කියන ගානත් අරන් කියන තැනට තනියම වරෙන්\n👱‍♂️-හරි මම එන්නම්\n.........💔.........\n\n\n🧑‍🦱-ආ පහන් ලොක්කා උබ ආවද?\n👱‍♂️-ඔව් යකෝ කෝ මගෙ කෙල්ල😢\n🧑‍🦱-සල්ලි ටික තියලා අර කාමරේ බලපන් කෙල්ල ඇති \n👱‍♂️-හ්ම්ම් මෙන්න සල්ලි\n\nපහන් නොයිවසිල්ලෙන් දිවගියේ සිතුලි සිටිනවා යැයි කිවූ කාමරයටයි. නමුත් එහි ගිය පහන්ට දෙපා අප්‍රාණික වෙනවා මෙන් දැනුනේ තමා ප්‍රාන සමවන් ප්‍රේම කල සිතුලිගේ නිසල සිරුර ඇද මත තිබූ අයුරු දැකයි.\n\n👱‍-සිතුලි මැනික නැගිටින්නකො ඔයා කොහොමද මාව දාලා ගියේ😢 මට හිටියෙ ඔයා විතරයි මැනික......\n\nසිතුලිගේ සිරුර තුරුලු කරගෙන හඩමින් සිටි පහන් පියවි සිහියට පැමිනියේ ක්‍රිශ්ගේ හඩිනි.\n\n🧑‍🦱-උබ හිතුවද යකෝ මන් උබලව පනපිටින් අතාරියි කියලා\n👱‍♂️-ඇයි උබලා මගෙ කෙල්ලට මෙහෙම කරේ මරන්න ඕන්නම් මාව මරන්න තිබ්බා නේද \n🧑‍🦱-උබ මැරෙන්න ඕන විදවල ඒකයි මේ කෙල්ලවත් මරලා දැම්මෙ\n👱‍♂️-මාවත් මරපන් දැන් \n🧑‍🦱-මරනෝ තමා යකෝ........🔫🔫\n\nක්‍රිශ්ගේ වෙඩි පහරින් පහන් බිම ඇද වැටුනි.\n\n👩-පහන් අයියේ.. මන් ලගට එන්න මන් ඔයා එනකන් බලන් ඉන්නවා ....🤍 ඊලග ආත්මෙ හරි අපි අපේ වෙමු අයියෙ😊\n\nසිහිනෙන් මෙන් සිතුලිගේ ඒ හඩ පහන්ගේ දෙසවන් පුරා රැදුනේ ඔහුගේ අවසන් සුසුම් පොද වා තලයට මුසු කරමිනි💔..........\n\nනිමි😊\n\n✍️Asanjana sumangi') + })); diff --git a/Commands/sewreport.js b/Commands/sewreport.js new file mode 100644 index 0000000..81f3119 --- /dev/null +++ b/Commands/sewreport.js @@ -0,0 +1,144 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + + +let REPORT_DESC = "For The Report...." +let AAA = "*⚠⚠Report Accepted⚠⚠*\n✔" +let AAB = ", Unusual Activity Detected" +let AAC = ", 🎲🎲.\n\n\n*********************************" +let NEED_NUM = "*Give me a user!*\n__✨" +let REPORT = "⚠ @{} ⚠" + +let SEWA = "⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠\n\n *❆❉☣REPORTED☣❉❆*\n \n*to*:-" +let SEWB = "\nUser:-" +let SEWC = "\n\n\n*Reason*:-" +let SEWD = "\n\n*Sec Reson*:-" +let SEWE = "╔═══════════ೋೋ═══════════╗\n╠ ⚠⚠⚠*Report Detected*⚠⚠⚠\n\n" +let SEWF = "\n╠ *👆👆Group Admins👆👆* \n╚═══════════ೋೋ═══════════╝\n\n_*Please Wait For Admins Respond*_\n\n\n\n *👑ᴘᴏᴡᴇʀᴅ ʙʏ ꜱᴇᴡ ǫᴜᴇᴇɴ👑*\n\n⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠" +SewQueen['IntroduceCMD']({pattern: 'report ?(.*)', fromMe: WorkType, desc: REPORT_DESC}, (async (message, input) => { + if (message.reply_message !== false, input[1] === '') { + var SewRep;{ + SewRep = input[1]; + } + + let grup = await message.client.groupMetadata(message.jid); + var jids = []; + mesaj = ''; + grup['participants'].map(async (uye) => { + if (uye.isAdmin) { + mesaj += '👮‍♂️ @' + uye.id.split('@')[0] + '\n'; + jids.push(uye.id.replace('c.us', 's.whatsapp.net')); + } + }); + await message.client.sendMessage( + message.jid,AAA, MessageType.text); + + await message.client.sendMessage(message.jid, SEWA + REPORT.format(message.reply_message.jid.split('@')[0]) + SEWB + REPORT.format(message.reply_message.jid.split('@')[0]) + SEWC + SewRep + AAB + SEWD + SewRep + AAC, MessageType.text, { + quotedMessage: message.reply_message.data, contextInfo: {mentionedJid: [message.reply_message.jid.replace('c.us', 's.whatsapp.net')]}, previewType: 0 + }); + + await message.client.sendMessage(message.jid, SEWE + mesaj + SEWF, MessageType.extendedText, {contextInfo: {mentionedJid: jids}, previewType: 0}); + } else if (message.mention !== false) { + + let grup = await message.client.groupMetadata(message.jid); + var jids = []; + mesaj = ''; + grup['participants'].map(async (uye) => { + if (uye.isAdmin) { + mesaj += '👮‍♂️ @' + uye.id.split('@')[0] + '\n'; + jids.push(uye.id.replace('c.us', 's.whatsapp.net')); + } + }); + + message.mention.map(async user => { + + await message.client.sendMessage( + message.jid,AAA, MessageType.text); + + await message.client.sendMessage(message.jid, SEWA + REPORT.format(user.split('@')[0]) + SEWB + REPORT.format(user.split('@')[0]) + SEWC + AAB + SEWD + AAC , MessageType.text, { + contextInfo: {mentionedJid: [user.replace('c.us', 's.whatsapp.net')]}, previewType: 0 + }); + await message.client.sendMessage(message.jid, SEWE + mesaj + SEWF, MessageType.extendedText, {contextInfo: {mentionedJid: jids}, previewType: 0}); + + }); + } else { + await message.client.sendMessage(message.jid, NEED_NUM, MessageType.text); + } + + })); + + SewQueen['IntroduceCMD']({pattern: 'report ?(.*)', fromMe: true, desc: REPORT_DESC}, (async (message, input) => { + if (message.reply_message !== false, input[1] === '') { + var SewRep;{ + SewRep = input[1]; + } + + let grup = await message.client.groupMetadata(message.jid); + var jids = []; + mesaj = ''; + grup['participants'].map(async (uye) => { + if (uye.isAdmin) { + mesaj += '👮‍♂️ @' + uye.id.split('@')[0] + '\n'; + jids.push(uye.id.replace('c.us', 's.whatsapp.net')); + } + }); + await message.client.sendMessage( + message.jid,AAA, MessageType.text); + + await message.client.sendMessage(message.jid, SEWA + REPORT.format(message.reply_message.jid.split('@')[0]) + SEWB + REPORT.format(message.reply_message.jid.split('@')[0]) + SEWC + SewRep + AAB + SEWD + SewRep + AAC, MessageType.text, { + quotedMessage: message.reply_message.data, contextInfo: {mentionedJid: [message.reply_message.jid.replace('c.us', 's.whatsapp.net')]}, previewType: 0 + }); + + await message.client.sendMessage(message.jid, SEWE + mesaj + SEWF, MessageType.extendedText, {contextInfo: {mentionedJid: jids}, previewType: 0}); + + } else if (message.mention !== false) { + + let grup = await message.client.groupMetadata(message.jid); + var jids = []; + mesaj = ''; + grup['participants'].map(async (uye) => { + if (uye.isAdmin) { + mesaj += '👮‍♂️ @' + uye.id.split('@')[0] + '\n'; + jids.push(uye.id.replace('c.us', 's.whatsapp.net')); + } + }); + + message.mention.map(async user => { + + await message.client.sendMessage( + message.jid,AAA, MessageType.text); + + await message.client.sendMessage(message.jid, SEWA + REPORT.format(user.split('@')[0]) + SEWB + REPORT.format(user.split('@')[0]) + SEWC + AAB + SEWD + AAC , MessageType.text, { + contextInfo: {mentionedJid: [user.replace('c.us', 's.whatsapp.net')]}, previewType: 0 + }); + await message.client.sendMessage(message.jid, SEWE + mesaj + SEWF, MessageType.extendedText, {contextInfo: {mentionedJid: jids}, previewType: 0}); + }); + } else { + await message.client.sendMessage(message.jid, NEED_NUM, MessageType.text); + } + + })); + \ No newline at end of file diff --git a/Commands/tag.js b/Commands/tag.js new file mode 100644 index 0000000..62532d5 --- /dev/null +++ b/Commands/tag.js @@ -0,0 +1,166 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + + +let DATA = DataHelp.dataGet('tagall'); + +async function checkUsAdmin(message, user = message.data.participant) { + var grup = await message.client.groupMetadata(message.jid); + var sonuc = grup['participants'].map((member) => { + if (member.jid.split("@")[0] == user.split("@")[0] && member.isAdmin) return true; else; return false; + }); + return sonuc.includes(true); +} +SewQueen['IntroduceCMD']({ pattern: 'scan ?(.*)', fromMe: WorkType, desc: DATA.SCAN}, (async (message, input) => { + + if (input[1] == '') return await message.client.sendMessage(message.jid, DATA.NO, MessageType.text); + + var exists = await message.client.isOnWhatsApp(input[1]) + if (exists) { + await message.client.sendMessage(message.jid, '```' + input[1] + '``` \n' + DATA.SUC + '\n' + exists.jid, MessageType.text); + } + else { + await message.client.sendMessage(message.jid,'```' + input[1] + '``` \n' + DATA.UNSUC, MessageType.text); + } + })); + +SewQueen['IntroduceCMD']({pattern: 'tag ?(.*)', fromMe: true, desc: DATA.TAGALL_DESC }, (async (message, input) => { +var nwjson = await message.client.groupMetadata(message.jid) + if (input[1] !== '') { + grup = await message.client.groupMetadata(message.jid); + var jids = []; + mesaj = ''; + grup['participants'].map( + async (uye) => { + mesaj += '▫️💠 @' + uye.id.split('@')[0] + ' 💠\n'; + jids.push(uye.id.replace('c.us', 's.whatsapp.net')); + } + ); + await message.client.sendMessage(message.jid,nwjson.subject + '\n\n ❄Group Members❄\n\n' + mesaj, MessageType.extendedText, {contextInfo: {mentionedJid: jids}, previewType: 0}) + await message.client.sendMessage(message.jid,`${input[1]}`, MessageType.extendedText, {contextInfo: {mentionedJid: jids}, previewType: 0}) + } + else if (message.reply_message && input[1] == '') { + grup = await message.client.groupMetadata(message.jid); + var jids = []; + mesaj = ''; + grup['participants'].map( + async (uye) => { + mesaj += '▫️💠 @' + uye.id.split('@')[0] + ' 💠\n'; + jids.push(uye.id.replace('c.us', 's.whatsapp.net')); + } + ); + await message.client.sendMessage(message.jid,nwjson.subject + '\n\n ❄Group Members❄\n\n' + mesaj, MessageType.extendedText, {contextInfo: {mentionedJid: jids}, previewType: 0}) + await message.client.sendMessage(message.jid,message.reply_message.text, MessageType.extendedText, {contextInfo: {mentionedJid: jids}, previewType: 0}) + } + else if (input[1] == '') { + grup = await message.client.groupMetadata(message.jid); + var jids = []; + mesaj = ''; + grup['participants'].map( + async (uye) => { + mesaj += '▫️💠 @' + uye.id.split('@')[0] + ' 💠\n'; + jids.push(uye.id.replace('c.us', 's.whatsapp.net')); + } + ); + await message.client.sendMessage(message.jid,nwjson.subject + '\n\n ❄Group Members❄\n\n' + mesaj, MessageType.extendedText, {contextInfo: {mentionedJid: jids}, previewType: 0}) + } + +})); + + +SewQueen['IntroduceCMD']({pattern: 'tag ?(.*)', fromMe: false, desc: DATA.TAGALL_DESC }, (async (message, input) => { +var us = await checkUsAdmin(message) +if (!us) return; +var nwjson = await message.client.groupMetadata(message.jid) + if (input[1] !== '') { + grup = await message.client.groupMetadata(message.jid); + var jids = []; + mesaj = ''; + grup['participants'].map( + async (uye) => { + mesaj += '▫️💠 @' + uye.id.split('@')[0] + ' 💠\n'; + jids.push(uye.id.replace('c.us', 's.whatsapp.net')); + } + ); + await message.client.sendMessage(message.jid,nwjson.subject + '\n\n ❄Group Members❄\n\n' + mesaj, MessageType.extendedText, {contextInfo: {mentionedJid: jids}, previewType: 0}) + await message.client.sendMessage(message.jid,`${input[1]}`, MessageType.extendedText, {contextInfo: {mentionedJid: jids}, previewType: 0}) + } + else if (message.reply_message && input[1] == '') { + grup = await message.client.groupMetadata(message.jid); + var jids = []; + mesaj = ''; + grup['participants'].map( + async (uye) => { + mesaj += '▫️💠 @' + uye.id.split('@')[0] + ' 💠\n'; + jids.push(uye.id.replace('c.us', 's.whatsapp.net')); + } + ); + await message.client.sendMessage(message.jid,nwjson.subject + '\n\n ❄Group Members❄\n\n' + mesaj, MessageType.extendedText, {contextInfo: {mentionedJid: jids}, previewType: 0}) + await message.client.sendMessage(message.jid,message.reply_message.text, MessageType.extendedText, {contextInfo: {mentionedJid: jids}, previewType: 0}) + } + else if (input[1] == '') { + grup = await message.client.groupMetadata(message.jid); + var jids = []; + mesaj = ''; + grup['participants'].map( + async (uye) => { + mesaj += '▫️💠 @' + uye.id.split('@')[0] + ' 💠\n'; + jids.push(uye.id.replace('c.us', 's.whatsapp.net')); + } + ); + await message.client.sendMessage(message.jid,nwjson.subject + '\n\n ❄Group Members❄\n\n' + mesaj, MessageType.extendedText, {contextInfo: {mentionedJid: jids}, previewType: 0}) + } + +})); +let ABSEW = DataHelp.dataGet('admincont'); + SewQueen['IntroduceCMD']({pattern: 'tagadmin', fromMe: WorkType, desc: ABSEW.CONTADMİN}, (async (message, input) => { + var nwjson = await message.client.groupMetadata(message.jid) + let grup = await message.client.groupMetadata(message.jid); + var jids = []; + mesaj = ''; + grup['participants'].map(async (uye) => { + if (uye.isAdmin) { + mesaj += '💠 @' + uye.id.split('@')[0] + '\n▫️👑 wa.me/' + uye.id.split('@')[0] + ' 👑\n\n'; + jids.push(uye.id.replace('c.us', 's.whatsapp.net')); + } + }); + await message.client.sendMessage(message.jid,'${nwjson.subject}\n◻ 🔱 *👑 Group Admins 👑* 🔱 ◻\n\n\n' + mesaj, MessageType.extendedText, {contextInfo: {mentionedJid: jids}, previewType: 0}) + })); +if (Details.WORKTYPE == 'public') { + SewQueen['IntroduceCMD']({pattern: 'tagadmin', fromMe: true, desc: ABSEW.CONTADMİN, dontAdCommandList: true}, (async (message, input) => { + var nwjson = await message.client.groupMetadata(message.jid) + let grup = await message.client.groupMetadata(message.jid); + var jids = []; + mesaj = ''; + grup['participants'].map(async (uye) => { + if (uye.isAdmin) { + mesaj += '💠 @' + uye.id.split('@')[0] + '\n▫️👑 wa.me/' + uye.id.split('@')[0] + ' 👑\n\n'; + jids.push(uye.id.replace('c.us', 's.whatsapp.net')); + } + }); + await message.client.sendMessage(message.jid,nwjson.subject + '\n\n◻ 🔱 *👑 Group Admins 👑* 🔱 ◻\n\n\n' + mesaj, MessageType.extendedText, {contextInfo: {mentionedJid: jids}, previewType: 0}) + })); +} diff --git a/Commands/tiny.js b/Commands/tiny.js new file mode 100644 index 0000000..44dd75f --- /dev/null +++ b/Commands/tiny.js @@ -0,0 +1,39 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +let DATA = DataHelp.dataGet('weather'); +SewQueen['IntroduceCMD']({pattern: 'tiny ?(.*)', fromMe: WorkType, desc: DATA.TIN_DESC}, async (message, input) => { + if (input[1] === '') return await message.reply(DATA.NEED_LINK); + let url = `https://tobz-api.herokuapp.com/api/tinyurl?url=${input[1]}&apikey=BotWeA`; + try { + let response = await got(url); + let json = JSON.parse(response.body); + if (response.statusCode === 200) return await message.client.sendMessage(message.jid, + '\n *🔗 ' + DATA.SLINK +'* ```' + json.result + '```\n\n', MessageType.text); + } catch { + return await message.client.sendMessage(message.jid, DATA.NOT_FOUNDLI, MessageType.text); + } +}); \ No newline at end of file diff --git a/Commands/units.js b/Commands/units.js new file mode 100644 index 0000000..9d98e21 --- /dev/null +++ b/Commands/units.js @@ -0,0 +1,60 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +var description = '' +var bit = '' +if (Details.LANG == 'SI') description = 'ස්කන්ධය පරිවර්තනය.', bit = 'දත්ත පරිවර්තනය.' +if (Details.LANG == 'EN') description = 'Converts weight units.', bit = 'Converts data units.' + +SewQueen['IntroduceCMD']({pattern: 'unit ?(.*)', fromMe: WorkType, desc: description, usage: 'unit 1 kg mg // unit '}, (async (message, input) => { + var splitted_text = input[1].split(' ') + var auth_messages = await DataPack.unit_message(Details.LANG) + if (splitted_text.length < 3) { + return await message.client.sendMessage(message.jid,auth_messages.unsuccess + auth_messages.values, MessageType.text) + } + var unitter = await DataPack.unit(splitted_text[0], splitted_text[1], splitted_text[2]) + if (unitter.error) { + return await message.client.sendMessage(message.jid,auth_messages.unsuccess + auth_messages.values, MessageType.text) + } + var string_result = unitter.result.toString() + var formatter = auth_messages.success.replace('{number}', splitted_text[0]).replace('{unit1}', splitted_text[1]).replace('{unit2}', splitted_text[2]).replace('{result}', string_result) + await message.client.sendMessage(message.jid, formatter, MessageType.text, { quoted: message.data }) +})); +SewQueen['IntroduceCMD']({pattern: 'bitunit ?(.*)', fromMe: WorkType, desc: bit, usage: 'bitunit 1 gb mb // bitunit '}, (async (message, input) => { + var splitted_text = input[1].split(' ') + var auth_messages = await DataPack.unit_byte_msg(Details.LANG) + if (splitted_text.length < 3) { + return await message.client.sendMessage(message.jid,auth_messages.unsuccess + auth_messages.values, MessageType.text) + } + var unitter = await DataPack.unit_byte(splitted_text[0], splitted_text[1], splitted_text[2]) + if (unitter.error) { + return await message.client.sendMessage(message.jid,auth_messages.unsuccess + auth_messages.values, MessageType.text) + } + var string_result = unitter.result.toString() + var formatter = auth_messages.success.replace('{number}', splitted_text[0]).replace('{unit1}', splitted_text[1]).replace('{unit2}', splitted_text[2]).replace('{result}', string_result) + await message.client.sendMessage(message.jid, formatter, MessageType.text, { quoted: message.data }) +})); + diff --git a/Commands/unvoice.js b/Commands/unvoice.js new file mode 100644 index 0000000..692095e --- /dev/null +++ b/Commands/unvoice.js @@ -0,0 +1,47 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +let DATA = DataHelp.dataGet('unvoice'); + SewQueen['IntroduceCMD']({pattern: 'unvoice', fromMe: WorkType, desc: DATA.UV_DESC}, (async (message, input) => { + + if (message.reply_message === false) return await message.sendMessage(DATA.UV_REPLY); + var downloading = await message.client.sendMessage(message.jid,DATA.UV_PROC,MessageType.text); + var location = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }); + + ffmpeg(location) + .format('mp3') + .save('output.mp3') + .on('end', async () => { + await message.sendMessage(fs.readFileSync('output.mp3'), MessageType.audio, {mimetype: Mimetype.mp4Audio, ptt: true}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); diff --git a/Commands/updatechecker.js b/Commands/updatechecker.js new file mode 100644 index 0000000..b2478c2 --- /dev/null +++ b/Commands/updatechecker.js @@ -0,0 +1,116 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ + +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let {sendMessageFORRateUs, sendMessageRateUs} = require('sew-queen-pro/sources/dc/cmd/warn') +let { MessageType, MessageOptions, Mimetype} = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +let simpleGit = require('simple-git'); +let git = simpleGit(); +let Heroku = require('heroku-client'); +let { PassThrough } = require('stream'); +let heroku = new Heroku({ token: Details.HEROKU.API_KEY }) +let DATA = DataHelp.dataGet('updater'); +let { sendMessageupdater, sendMessageAliveMessage } = require('sew-queen-pro/sources/dc/cmd/alive') + + +SewQueen['IntroduceCMD']({pattern: 'update$', fromMe: true, dontAdCommandList: true, desc: DATA.UPDATER_DESC}, (async (QueenSew, input) => { + await sendMessageupdater(QueenSew, input) +})); +SewQueen['IntroduceCMD']({ + pattern: 'alive ?(.*)', + fromMe: WorkType, + disc: 'Gives Bot Status( is alive?)' + }, +(async (QueenSew, input) => { +await sendMessageAliveMessage(QueenSew, input) +})); +SewQueen['IntroduceCMD']({ + pattern: 'rate ?(.*)', + fromMe: WorkType, + dontAdCommandList: true + }, +(async (QueenSew, input) => { +if(input[1] == '') return await sendMessageFORRateUs(QueenSew, input); +await sendMessageRateUs(QueenSew, input) +})); +var Action = '' +if (Details.LANG == 'SI') Action = '*✨SEW QUEEN✨ අප්ඩේට්වෙමින් පවතියි!*' +if (Details.LANG == 'EN') Action = '*✨Sew Queen✨ is Updating!*' + +SewQueen['IntroduceCMD']({pattern: 'update now$', fromMe: true, dontAdCommandList: true, desc: DATA.UPDATE_NOW_DESC}, (async (message, input) => { + await git.fetch(); + var commits = await git.log([Details.BRANCH + '..origin/' + Details.BRANCH]); + if (commits.total === 0) { + return await message.client.sendMessage( + message.jid, + DATA.UPDATE, MessageType.text + ); + } else { + var on_progress = false + if (on_progress) return await message.client.sendMessage(message.jid,Action,MessageType.text) + var guncelleme = await message.reply(DATA.UPDATING); + if (Details.HEROKU.HEROKU) { + try { + var app = await heroku.get('/apps/' + Details.HEROKU.APP_NAME) + } catch { + await message.client.sendMessage( + message.jid,DATA.INVALID_HEROKU, MessageType.text); + await new Promise(r => setTimeout(r, 1000)); + return await message.client.sendMessage( + message.jid,DATA.IN_AF, MessageType.text); + } + + git.fetch('upstream', Details.BRANCH); + git.reset('hard', ['FETCH_HEAD']); + + var git_url = app.git_url.replace( + "https://", "https://api:" + Details.HEROKU.API_KEY + "@" + ) + on_progress = true + try { + await git.addRemote('heroku', git_url); + } catch { console.log('heroku remote ekli'); } + await git.push('heroku', Details.BRANCH); + + await message.client.sendMessage( + message.jid,DATA.UPDATED, MessageType.text); + + await message.sendMessage(DATA.AFTER_UPDATE); + + } else { + git.pull((async (err, update) => { + if(update && update.summary.changes) { + await message.client.sendMessage( + message.jid,DATA.UPDATED_LOCAL, MessageType.text); + exec('npm install').stderr.pipe(process.stderr); + } else if (err) { + await message.client.sendMessage( + message.jid,'*❌ Unsuccessful!*\n*why:* ```' + err + '```', MessageType.text); + } + })); + await guncelleme.delete(); + } + } +})); diff --git a/Commands/voiceconverter.js b/Commands/voiceconverter.js new file mode 100644 index 0000000..49656cd --- /dev/null +++ b/Commands/voiceconverter.js @@ -0,0 +1,78 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +let DATA = DataHelp.dataGet('voicy'); +let recognizeAudio = () => { + let headers = new Headers({ + 'Content-Type': 'audio/wav', + "Authorization": `Bearer ${Details.WITAI_API}`, + 'Cache-Control': 'no-cache', + 'Transfer-Encoding': 'chunked' + }) + + let requestBody = { + method: "POST", + body: fs.readFileSync('output.wav'), + headers: headers + } + + return fetch("https://api.wit.ai/speech?v=20200219", requestBody) + .then(response => response.json()) + .then(json => json._text) +} + +let convertToWav = file => { + return ffmpeg(file) + .inputFormat('ogg') + .audioCodec('pcm_s16le') + .format('wav') + .save('output.wav') +} + SewQueen['IntroduceCMD']({ pattern: 'voicy', desc: DATA.USAGE, fromMe: WorkType }, (async (message, input) => { + try { + if (message.reply_message) { + if (!message.reply_message.text && !message.reply_message.video && !message.reply_message.image) { + let file = await message.client.downloadAndSaveMediaMessage({ + key: { + remoteJid: message.reply_message.jid, + id: message.reply_message.id + }, + message: message.reply_message.data.quotedMessage + }) + convertToWav(file).on('end', async () => { + let recognizedText = await recognizeAudio() + await message.client.sendMessage(message.jid, DATA.TEXT + '```' + recognizedText + '```', MessageType.text) + }); + } else { + await message.client.sendMessage(message.jid, DATA.ONLY_AUDIO, MessageType.text) + } + } else { + await message.client.sendMessage(message.jid, DATA.NEED_REPLY, MessageType.text) + } + } catch (err) { + console.log(err) + } + })); diff --git a/Commands/weather.js b/Commands/weather.js new file mode 100644 index 0000000..4eadeed --- /dev/null +++ b/Commands/weather.js @@ -0,0 +1,46 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +let DATA = DataHelp.dataGet('weather'); + + + SewQueen['IntroduceCMD']({pattern: 'weather ?(.*)', desc: DATA.WEATHER_DESC, fromMe: WorkType}, async (message, input) => { + + if (input[1] === '') return await message.reply(DATA.NEED_LOCATION); + let url = `http://api.openweathermap.org/data/2.5/weather?q=${input[1]}&units=metric&appid=060a6bcfa19809c2cd4d97a212b19273&language=tr`; + try { + let response = await got(url); + let json = JSON.parse(response.body); + if (response.statusCode === 200) return await message.client.sendMessage(message.jid, '*📍 ' + DATA.LOCATION +':* ```' + input[1] + '```\n\n' + + '*☀ ' + DATA.TEMP +':* ```' + json.main.temp_max + '°```\n' + + '*ℹ ' + DATA.DESC +':* ```' + json.weather[0].description + '```\n' + + '*☀ ' + DATA.HUMI +':* ```%' + json.main.humidity + '```\n' + + '*💨 ' + DATA.WIND +':* ```' + json.wind.speed + 'm/s```\n' + + '*☁ ' + DATA.CLOUD +':* ```%' + json.clouds.all + '```\n', MessageType.text); + } catch { + return await message.client.sendMessage(message.jid, DATA.NOT_FOUND, MessageType.text); + } + }); \ No newline at end of file diff --git a/Commands/web.js b/Commands/web.js new file mode 100644 index 0000000..7a7cf3a --- /dev/null +++ b/Commands/web.js @@ -0,0 +1,186 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let {sendMessagecalculate} = require('sew-queen-pro/sources/dc/cmd/cal') +let { MessageType, MessageOptions, Mimetype, GroupSettingChange, ChatModification } = require('@ravindu01manoj/sew-queen-web'); +let fs = require('fs'); +let os = require('os'); +let ffmpeg = require('fluent-ffmpeg'); +let exec = require('child_process').exec; +let axios = require('axios'); +let got = require('got'); +let {execFile} = require('child_process'); +let cwebp = require('cwebp-bin'); +let DataHelp = DataPack.constdata +let WorkType = Details.WORKTYPE == 'public' ? false : true + +let TinyURL = require('tinyurl'); +let DATA = DataHelp.dataGet('web'); +let SDATA = DataHelp.dataGet('webss'); +SewQueen['IntroduceCMD']({pattern: 'speedtest ?(.*)', fromMe: true, desc: DATA.SPEEDTEST_DESC, usage: 'speedtest user // speedtest server'}, (async (message, input) => { + if (input[1] == 'user' || input[1] == 'User') { + + // Preliminary Message + var transition_message = await DataPack.speedtest_once(Details.LANG) + + // Ping + var start = new Date().getTime(); + await message.client.sendMessage(message.jid, transition_message.user_msg, MessageType.text) + var end = new Date().getTime(); + + // Speedtest Modules + var user_download = await DataPack.speedtest_user() + var user_upload = await DataPack.uploadtest_user() + var auth_message = await DataPack.speedtest_message(Details.LANG) + var act_ping = end - start + var realping = act_ping.toString() + + // Real Download Speed + var realspeed_once = Number(user_download.mbps) / 8 + var realspeed = realspeed_once.toString() + var realspeed_msg = auth_message.download_value.replace('{count}', realspeed) + + // Real Upload Speed + var realupload_once = Number(user_upload.mbps) / 8 + var realupload = realupload_once.toString() + var realupload_msg = auth_message.download_value.replace('{count}', realupload) + + // Final Message + var payload = auth_message.download + realspeed_msg + '\n' + + auth_message.upload + realupload_msg + '\n' + + auth_message.ping + realping + auth_message.ms + '\n' + + auth_message.extra + '\n\n' + + auth_message.byte_speed_d + user_download.bps + '\n' + + auth_message.kb_speed_d + user_download.kbps + '\n' + + auth_message.mb_speed_d + user_download.mbps + '\n' + + auth_message.gb_speed_d + user_download.gbps + + await message.client.sendMessage(message.jid, payload, MessageType.text) + + } else if (input[1] == 'server' || input[1] == 'Server') { + + // Preliminary Message + var transition_message = await DataPack.speedtest_once(Details.LANG) + + // Ping + var start = new Date().getTime(); + await message.client.sendMessage(message.jid, transition_message.server_msg, MessageType.text) + var end = new Date().getTime(); + + // Speedtest Modules + var server_download = await DataPack.speedtest_server() + var server_upload = await DataPack.uploadtest_server() + var auth_message = await DataPack.speedtest_message(Details.LANG) + var act_ping = end - start + + // Simple Way of Checking Heroku Latency + var act_ping_then = act_ping / 50 + var realping = act_ping_then.toString() + + // Real Download Speed + var realspeed_once = Number(server_download.mbps) / 8 + var realspeed = realspeed_once.toString() + var realspeed_msg = auth_message.download_value.replace('{count}', realspeed) + + // Real Upload Speed + var realupload_once = Number(server_upload.mbps) / 8 + var realupload = realupload_once.toString() + var realupload_msg = auth_message.download_value.replace('{count}', realupload) + + // Final Message + var payload = auth_message.download + realspeed_msg + '\n' + + auth_message.upload + realupload_msg + '\n' + + auth_message.ping + realping + auth_message.ms + '\n' + + auth_message.extra + '\n\n' + + auth_message.byte_speed_d + server_download.bps + '\n' + + auth_message.kb_speed_d + server_download.kbps + '\n' + + auth_message.mb_speed_d + server_download.mbps + '\n' + + auth_message.gb_speed_d + server_download.gbps + + await message.client.sendMessage(message.jid, payload, MessageType.text) + } else { + // Preliminary Message + var transition_message = await DataPack.speedtest_once(Details.LANG) + + // Ping + var start = new Date().getTime(); + await message.client.sendMessage(message.jid, transition_message.server_msg, MessageType.text) + var end = new Date().getTime(); + + // Speedtest Modules + var server_download = await DataPack.speedtest_server() + var server_upload = await DataPack.uploadtest_server() + var auth_message = await DataPack.speedtest_message(Details.LANG) + var act_ping = end - start + + // Simple Way of Checking Heroku Latency + var act_ping_then = act_ping / 50 + var realping = act_ping_then.toString() + + // Real Download Speed + var realspeed_once = Number(server_download.mbps) / 8 + var realspeed = realspeed_once.toString() + var realspeed_msg = auth_message.download_value.replace('{count}', realspeed) + + // Real Upload Speed + var realupload_once = Number(server_upload.mbps) / 8 + var realupload = realupload_once.toString() + var realupload_msg = auth_message.download_value.replace('{count}', realupload) + + // Final Message + var payload = auth_message.download + realspeed_msg + '\n' + + auth_message.upload + realupload_msg + '\n' + + auth_message.ping + realping + auth_message.ms + '\n' + + auth_message.extra + '\n\n' + + auth_message.byte_speed_d + server_download.bps + '\n' + + auth_message.kb_speed_d + server_download.kbps + '\n' + + auth_message.mb_speed_d + server_download.mbps + '\n' + + auth_message.gb_speed_d + server_download.gbps + + await message.client.sendMessage(message.jid, payload, MessageType.text) + } +})); + +SewQueen['IntroduceCMD']({pattern: 'ping$', fromMe: true, delownsewcmd: false, desc: DATA.PING_DESC}, (async (message, input) => { + var start = new Date().getTime(); + await message.sendMessage('```Ping!```'); + var end = new Date().getTime(); + + await message.client.sendMessage( + message.jid,'*Pong!*\n```' + (end - start) + 'ms```', MessageType.text, { quoted: message.data }); +})); + + SewQueen['IntroduceCMD']({pattern: 'short ?(.*)', fromMe: WorkType, desc: DATA.URL}, (async (message, input) => { + + if (input[1] === '') return await message.client.sendMessage(message.jid, SDATA.LİNK, MessageType.text); + + TinyURL.shorten(`${input[1]}`, async(res, err) => { + if (err) return await message.client.sendMessage(message.jid, '*#### Error! ####*\n\n' + '```' + err + '```', MessageType.text); + + return await message.client.sendMessage(message.jid,`*Original Link:* ${input[1]}\n*Short Link:* ` + res, MessageType.text) + }); + })); + SewQueen['IntroduceCMD']({pattern: 'cal ?(.*)', fromMe: WorkType, desc: 'Powerfull Calculater With > - + * / × ÷ π e ( ) pie pi log lg ^ 1-9'}, (async (message, input) => { + var textsew = ''; +if (message.reply_message) { + textsew = message.reply_message.text +} else { + if (input[1] === '') return await message.client.sendMessage(message.jid,'*Need Any Input! Valid ==> - + * / × ÷ π e ( ) pie pi log ^ 1-9*', MessageType.text); + textsew = input[1] + } + var calculate = await sendMessagecalculate(textsew) + await message.client.sendMessage(message.jid,calculate, MessageType.text) + })); + + diff --git a/DataBase/cmd.js b/DataBase/cmd.js new file mode 100644 index 0000000..8ca12a4 --- /dev/null +++ b/DataBase/cmd.js @@ -0,0 +1,39 @@ +/* Codded by @Ravindu Manoj + +Telegram: t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 + +Licensed under the GPL-3.0 License; +you may not use this file except in compliance with the License. + +Whats bot - Ravindu Manoj +*/ + +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +const { DataTypes } = require('sequelize'); + +const PluginDB = Details.DATABASE.define('Plugin', { + name: { + type: DataTypes.STRING, + allowNull: false + }, + url: { + type: DataTypes.TEXT, + allowNull: false + } +}); + +async function installPlugin(adres, file) { + var Plugin = await PluginDB.findAll({ + where: {url: adres} + }); + + if (Plugin.length >= 1) { + return false; + } else { + return await PluginDB.create({ url: adres, name: file }); + } +} +module.exports = { PluginDB: PluginDB, installPlugin: installPlugin }; diff --git a/DataBase/filters.js b/DataBase/filters.js new file mode 100644 index 0000000..d4860a1 --- /dev/null +++ b/DataBase/filters.js @@ -0,0 +1,84 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +const { DataTypes } = require('sequelize'); + +const FiltersDB = Details.DATABASE.define('filter', { + chat: { + type: DataTypes.STRING, + allowNull: false + }, + pattern: { + type: DataTypes.TEXT, + allowNull: false + }, + text: { + type: DataTypes.TEXT, + allowNull: false + }, + regex: { + type: DataTypes.BOOLEAN, allowNull: false, defaultValue: false + } +}); + +async function getFilter(jid = null, filter = null) { + var Wher = {chat: jid}; + if (filter !== null) Wher.push({pattern: filter}); + var Msg = await FiltersDB.findAll({ + where: Wher + }); + + if (Msg.length < 1) { + return false; + } else { + return Msg; + } +} + + +async function setFilter(jid = null, filter = null, tex = null, regx = false) { + var Msg = await FiltersDB.findAll({ + where: { + chat: jid, + pattern: filter + } + }); + + if (Msg.length < 1) { + return await FiltersDB.create({ chat: jid, pattern: filter, text: tex, regex: regx }); + } else { + return await Msg[0].update({ chat: jid, pattern: filter, text: tex, regex: regx }); + } +} + +async function deleteFilter(jid = null, filter) { + var Msg = await FiltersDB.findAll({ + where: { + chat: jid, + pattern: filter + } + }); + if (Msg.length < 1) { + return false; + } else { + return await Msg[0].destroy(); + } +} + +module.exports = { + FiltersDB: FiltersDB, + getFilter: getFilter, + setFilter: setFilter, + deleteFilter: deleteFilter +}; diff --git a/DataBase/greetings.js b/DataBase/greetings.js new file mode 100644 index 0000000..df89edb --- /dev/null +++ b/DataBase/greetings.js @@ -0,0 +1,78 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let { DataTypes } = require('sequelize'); + +const GreetingsDB = Details.DATABASE.define('Greeting', { + chat: { + type: DataTypes.STRING, + allowNull: false + }, + type: { + type: DataTypes.STRING, + allowNull: false + }, + message: { + type: DataTypes.TEXT, + allowNull: false + } +}); + +async function getMessage(jid = null, tip = 'welcome') { + var Msg = await GreetingsDB.findAll({ + where: { + chat: jid, + type: tip + } + }); + + if (Msg.length < 1) { + return false; + } else { + return Msg[0].dataValues; + } +} + +async function setMessage(jid = null, tip = 'welcome', text = null) { + var Msg = await GreetingsDB.findAll({ + where: { + chat: jid, + type: tip + } + }); + + if (Msg.length < 1) { + return await GreetingsDB.create({ chat: jid, type: tip, message:text }); + } else { + return await Msg[0].update({ chat: jid, type: tip, message:text }); + } +} + +async function deleteMessage(jid = null, tip = 'welcome') { + var Msg = await GreetingsDB.findAll({ + where: { + chat: jid, + type: tip + } + }); + + return await Msg[0].destroy(); +} + +module.exports = { + GreetingsDB: GreetingsDB, + getMessage: getMessage, + setMessage: setMessage, + deleteMessage: deleteMessage +}; diff --git a/DataBase/notes.js b/DataBase/notes.js new file mode 100644 index 0000000..bed2d6e --- /dev/null +++ b/DataBase/notes.js @@ -0,0 +1,31 @@ +/* + +Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +*/ +let DataPack = require('sew-queen-pro'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +const { DataTypes } = require('sequelize'); +const NotesDB = Details.DATABASE.define('notes', { + note: { type: DataTypes.TEXT, allowNull: false } +}); +async function getNotes() { + const Notes = await NotesDB.findAll() + return Notes +} +async function saveNote(note) { + return await NotesDB.create({ note }); +} +async function deleteAllNotes() { + return await NotesDB.destroy({ + where: {}, + truncate: true + })} +module.exports = { NotesDB, getNotes, saveNote, deleteAllNotes }; diff --git a/DataBase/zz.js b/DataBase/zz.js new file mode 100644 index 0000000..1538164 --- /dev/null +++ b/DataBase/zz.js @@ -0,0 +1 @@ +(function(_0x1228e1,_0x327663){function _0x35bbf6(_0x3b5a9b,_0x2e53fd,_0x36ab68,_0x4a02d7){return _0x4253(_0x4a02d7- -0x281,_0x2e53fd);}function _0x134ed6(_0x1d1215,_0x162de0,_0x560dc4,_0x30f8fb){return _0x4253(_0x1d1215- -0x2e2,_0x560dc4);}var _0x3d2ca1=_0x1228e1();while(!![]){try{var _0x6db45e=parseInt(_0x35bbf6(-0xba,-0xca,-0xc9,-0xce))/(0x13f5*0x1+-0x1*0x1d89+0xdf*0xb)*(-parseInt(_0x134ed6(-0x121,-0x139,-0x115,-0x131))/(0x3d7*-0x2+-0x1*-0x1f3d+-0x178d))+parseInt(_0x134ed6(-0x133,-0x148,-0x131,-0x12a))/(-0x99*-0x1+-0x1bd5+0x9*0x307)*(-parseInt(_0x35bbf6(-0xb8,-0xc7,-0xbb,-0xae))/(-0x14f7+-0x1ae+0x16a9*0x1))+parseInt(_0x134ed6(-0x11e,-0x127,-0x11d,-0x11b))/(-0x4*0x521+-0x6f+0x14f8)*(-parseInt(_0x134ed6(-0x106,-0x10d,-0x10b,-0x103))/(0xa42+-0x1ca7+-0xcd*-0x17))+-parseInt(_0x134ed6(-0x104,-0xf5,-0xf6,-0xf0))/(-0x32*0xc1+-0x45*-0x1+-0x6*-0x63e)+parseInt(_0x134ed6(-0x125,-0x115,-0x123,-0x132))/(0x2*0x4f5+-0x1*-0x19e2+0x2*-0x11e2)+-parseInt(_0x134ed6(-0x134,-0x12a,-0x12d,-0x141))/(0xb08+0xa88+-0x1587)*(parseInt(_0x35bbf6(-0xaf,-0xa5,-0x9b,-0xa6))/(-0x816+-0x212*0x3+0xe56))+parseInt(_0x35bbf6(-0x9b,-0xac,-0x9d,-0xb2))/(-0x26*-0x64+0x129b+0x2*-0x10b4)*(parseInt(_0x134ed6(-0x103,-0xe9,-0xec,-0x11d))/(-0xf99*0x1+-0x552+-0x6fd*-0x3));if(_0x6db45e===_0x327663)break;else _0x3d2ca1['push'](_0x3d2ca1['shift']());}catch(_0x2d5177){_0x3d2ca1['push'](_0x3d2ca1['shift']());}}}(_0x1827,0xa7d30+0xef311+0x656bd*-0x2));var _0x8a8021=(function(){var _0x446617=!![];return function(_0x2d381a,_0x254e22){var _0x33e6fc=_0x446617?function(){if(_0x254e22){var _0x4b3d27=_0x254e22['apply'](_0x2d381a,arguments);return _0x254e22=null,_0x4b3d27;}}:function(){};return _0x446617=![],_0x33e6fc;};}()),_0x1a2263=_0x8a8021(this,function(){function _0x3acd8e(_0xe467e1,_0x13234f,_0xb5f29,_0x54dc5c){return _0x4253(_0xe467e1-0x0,_0xb5f29);}var _0x506134={};_0x506134[_0x3acd8e(0x1be,0x1b9,0x1a6,0x1b9)]=_0x3acd8e(0x1b0,0x1b6,0x1b5,0x1a7)+'+$';function _0x3b7d01(_0x5e4193,_0x5b6405,_0x41fcb4,_0xae3e72){return _0x4253(_0xae3e72-0x1d6,_0x5e4193);}var _0x319d33=_0x506134;return _0x1a2263[_0x3acd8e(0x1d1,0x1c1,0x1ba,0x1dd)]()[_0x3acd8e(0x1d9,0x1cf,0x1d3,0x1e7)](_0x319d33[_0x3acd8e(0x1be,0x1c3,0x1b3,0x1af)])[_0x3acd8e(0x1d1,0x1d0,0x1b7,0x1bb)]()[_0x3acd8e(0x1bb,0x1d2,0x1b1,0x1d1)+'r'](_0x1a2263)[_0x3acd8e(0x1d9,0x1ed,0x1f0,0x1d9)](_0x319d33[_0x3acd8e(0x1be,0x1cf,0x1c2,0x1ae)]);});_0x1a2263();let DataPack=require(_0xca512f(-0x163,-0x147,-0x17a,-0x161)+_0xf10e7d(0x3b2,0x3b0,0x3b1,0x399)),SewQueen=require(_0xca512f(-0x14f,-0x149,-0x171,-0x161)+'pro/source'+'s/dc/handl'+'er');function _0xf10e7d(_0x15dca1,_0x36acdd,_0x35fd47,_0x3d31af){return _0x4253(_0x15dca1-0x1e5,_0x3d31af);}let Details=require(_0xf10e7d(0x396,0x3a6,0x37d,0x3a1)+_0xca512f(-0x155,-0x14f,-0x16b,-0x156)+_0xf10e7d(0x3bb,0x3b1,0x3cd,0x3b6)+'ls');const {DataTypes}=require(_0xca512f(-0x149,-0x146,-0x133,-0x146)),Check=require(_0xf10e7d(0x39a,0x3ae,0x391,0x3b1));function _0xca512f(_0x5a58dd,_0x5a3c69,_0x3b4c26,_0x4f86c9){return _0x4253(_0x4f86c9- -0x312,_0x3b4c26);}var _0x4073a3={};_0x4073a3[_0xca512f(-0x153,-0x14a,-0x15e,-0x14c)]=DataTypes[_0xf10e7d(0x3b9,0x3d1,0x3c5,0x3b9)],_0x4073a3[_0xca512f(-0x130,-0x13d,-0x15a,-0x14a)]=![];var _0x28c8e2={};_0x28c8e2['type']=DataTypes[_0xf10e7d(0x3b3,0x3bf,0x3ba,0x3a1)],_0x28c8e2['allowNull']=![];var _0x4388f8={};_0x4388f8[_0xca512f(-0x148,-0x15f,-0x160,-0x14c)]=DataTypes[_0xf10e7d(0x39f,0x3ad,0x387,0x393)],_0x4388f8[_0xca512f(-0x150,-0x142,-0x134,-0x14a)]=![];function _0x4253(_0x182775,_0x42531d){var _0x220b62=_0x1827();return _0x4253=function(_0x2b4f5e,_0x36e546){_0x2b4f5e=_0x2b4f5e-(-0x2108+-0xce9+0x2f9d);var _0x29e5c4=_0x220b62[_0x2b4f5e];return _0x29e5c4;},_0x4253(_0x182775,_0x42531d);}var _0x6bf1e1={};_0x6bf1e1[_0xca512f(-0x150,-0x147,-0x155,-0x14c)]=DataTypes[_0xf10e7d(0x3a4,0x39d,0x393,0x3a0)],_0x6bf1e1[_0xf10e7d(0x3ad,0x3bc,0x3c3,0x396)]=![],_0x6bf1e1['defaultVal'+'ue']=![];function _0x1827(){var _0x7268f6=['deleteWarn','BWFfF','329345fcglRx','warn','type','update','allowNull','bHXHb','DATABASE','findAll','sequelize','pro','TEXT','14543309YGgQpz','length','toString','chat','36BMCHta','STRING','push','s/dc/Detai','apply','text','search','pattern','1330750gmhRZj','6SMycwz','WarnDb','11251954hkHWtD','36lsLDSJ','exports','gitcheck','36QYORgF','141501dQpETH','(((.+)+)+)','sew-queen-','cBWAZ','1OjtZdE','xUKJW','check-path','getWarn','gIwjI','regex','create','INTEGER','constructo','pro/source','8080264kbvMmS','BjJFe','BOOLEAN','destroy','3020002yCSnxr'];_0x1827=function(){return _0x7268f6;};return _0x1827();}var _0x3f8d98={};_0x3f8d98[_0xca512f(-0x15a,-0x15a,-0x142,-0x140)]=_0x4073a3,_0x3f8d98[_0xf10e7d(0x3bf,0x3a8,0x3b3,0x3b2)]=_0x28c8e2,_0x3f8d98[_0xca512f(-0x153,-0x135,-0x152,-0x13a)]=_0x4388f8,_0x3f8d98[_0xca512f(-0x144,-0x173,-0x15c,-0x15a)]=_0x6bf1e1;const WarnDb=Details[_0xca512f(-0x133,-0x150,-0x133,-0x148)]['define'](_0xf10e7d(0x3aa,0x398,0x39f,0x39c),_0x3f8d98);async function getWarn(_0x144671=null,_0x3b66cc=null){function _0x39fbcf(_0x26f71a,_0x1d7b7d,_0x364d82,_0x5bf6f1){return _0xf10e7d(_0x26f71a-0x7a,_0x1d7b7d-0x91,_0x364d82-0xf9,_0x364d82);}var _0x3cde1a={};_0x3cde1a[_0x39fbcf(0x422,0x420,0x422,0x40e)]=function(_0x8f50ca,_0x46b52d){return _0x8f50ca!==_0x46b52d;},_0x3cde1a[_0x123eea(0x31,0x41,0x28,0x28)]=function(_0x467ca2,_0x5bf1fe){return _0x467ca2<_0x5bf1fe;};var _0x3a6589=_0x3cde1a;await Check['gitcheck']();var _0x2e7ac5={};_0x2e7ac5[_0x39fbcf(0x431,0x435,0x41e,0x427)]=_0x144671;var _0x5364f7=_0x2e7ac5;if(_0x3a6589[_0x123eea(0x2a,0x3b,0x3f,0x26)](_0x3b66cc,null))_0x5364f7[_0x39fbcf(0x434,0x437,0x434,0x440)]({'pattern':_0x3b66cc});var _0x457cd4={};function _0x123eea(_0x4d019a,_0x2f30b5,_0xd86aaf,_0x436b8b){return _0xca512f(_0x4d019a-0x1db,_0x2f30b5-0x26,_0xd86aaf,_0x2f30b5-0x18a);}_0x457cd4['where']=_0x5364f7;var _0x4799e1=await WarnDb[_0x39fbcf(0x42a,0x43d,0x41e,0x42e)](_0x457cd4);return _0x3a6589['bHXHb'](_0x4799e1[_0x123eea(0x50,0x48,0x53,0x48)],-0x619*-0x3+0x2658+-0x38a2)?![]:_0x4799e1;}async function setWarn(_0x1a8252=null,_0x3ad57f=null,_0x42e92b=null,_0x1a3747=![]){var _0x5e231a={};_0x5e231a['xUKJW']=function(_0x3aa2c0,_0x3270ee){return _0x3aa2c0!==_0x3270ee;};function _0x53fa70(_0x231023,_0x2aa64c,_0x21a4d6,_0x1fc091){return _0xf10e7d(_0x1fc091- -0x512,_0x2aa64c-0xe0,_0x21a4d6-0x12e,_0x2aa64c);}var _0x243ed7=_0x5e231a;await Check[_0x4a6ed8(0xeb,0xf4,0xf1,0xe9)]();function _0x4a6ed8(_0x3f576a,_0x1d6180,_0x26d0d6,_0x4dcd1d){return _0xca512f(_0x3f576a-0x1d6,_0x1d6180-0x17b,_0x4dcd1d,_0x1d6180-0x259);}var _0x564e32={};_0x564e32[_0x4a6ed8(0x114,0x119,0x10d,0x125)]=_0x1a8252,_0x564e32['pattern']=_0x3ad57f;var _0x5ec555={};_0x5ec555['where']=_0x564e32;var _0x2fec54=await WarnDb[_0x53fa70(-0x175,-0x14f,-0x149,-0x162)](_0x5ec555);if(_0x2fec54['length']<-0xd9*0x10+0x137*-0x2+0x75*0x23){if(_0x243ed7[_0x4a6ed8(0xe6,0xfb,0xfc,0xf0)](_0x4a6ed8(0xf0,0xfe,0x111,0xe5),_0x53fa70(-0x16e,-0x164,-0x161,-0x17b))){var _0x2890c5={};return _0x2890c5[_0x4a6ed8(0x127,0x119,0x10c,0x10f)]=_0x1a8252,_0x2890c5[_0x53fa70(-0x155,-0x15c,-0x155,-0x153)]=_0x3ad57f,_0x2890c5[_0x4a6ed8(0x125,0x11f,0x11d,0x119)]=_0x42e92b,_0x2890c5['regex']=_0x1a3747,await WarnDb[_0x53fa70(-0x189,-0x181,-0x168,-0x174)](_0x2890c5);}else{var _0x5270dd=_0x114bb2?function(){function _0xc88be9(_0x29c351,_0x17f8ba,_0x22c325,_0x583226){return _0x4a6ed8(_0x29c351-0x59,_0x29c351-0x309,_0x22c325-0x7c,_0x17f8ba);}if(_0x35b27a){var _0x4a35cd=_0x29c9c9[_0xc88be9(0x427,0x436,0x425,0x41f)](_0x14805f,arguments);return _0x4a460f=null,_0x4a35cd;}}:function(){};return _0x3c6205=![],_0x5270dd;}}else{var _0x125013={};return _0x125013[_0x4a6ed8(0x123,0x119,0x11b,0x128)]=_0x1a8252,_0x125013[_0x53fa70(-0x15e,-0x162,-0x143,-0x153)]=_0x3ad57f,_0x125013[_0x53fa70(-0x13b,-0x148,-0x148,-0x155)]=_0x42e92b,_0x125013[_0x4a6ed8(0xf4,0xff,0xe5,0xed)]=_0x1a3747,await _0x2fec54[-0x1021+0x1*0x25ca+-0x15a9][_0x4a6ed8(0x122,0x10e,0x114,0x123)](_0x125013);}}async function deleteWarn(_0x59440a=null,_0x5c1c91){await Check[_0x5279ee(0x23,0x15,0xf,0x23)]();function _0x4f675f(_0x309be4,_0x18566b,_0xa97da2,_0x48cf1f){return _0xf10e7d(_0x309be4- -0x1f4,_0x18566b-0x114,_0xa97da2-0x171,_0x18566b);}var _0x271458={};_0x271458['chat']=_0x59440a,_0x271458[_0x5279ee(0x50,0x5a,0x67,0x66)]=_0x5c1c91;var _0x32ab16={};_0x32ab16['where']=_0x271458;var _0x263e8d=await WarnDb[_0x5279ee(0x41,0x2e,0x59,0x57)](_0x32ab16);function _0x5279ee(_0x397e9c,_0x4aeb19,_0x490625,_0x4af2e4){return _0xf10e7d(_0x397e9c- -0x36f,_0x4aeb19-0x193,_0x490625-0x10d,_0x490625);}return _0x263e8d[_0x5279ee(0x46,0x53,0x5f,0x30)]<-0x202c+0x126c+-0x7*-0x1f7?![]:await _0x263e8d[-0x1805*0x1+-0x1b2+0x19b7*0x1][_0x4f675f(0x1b1,0x1a4,0x1c0,0x1b6)]();}var _0x28ef41={};_0x28ef41[_0xca512f(-0x129,-0x137,-0x11c,-0x135)]=WarnDb,_0x28ef41[_0xf10e7d(0x39b,0x3a8,0x399,0x394)]=getWarn,_0x28ef41['setWarn']=setWarn,_0x28ef41[_0xf10e7d(0x3a7,0x391,0x3b8,0x3a9)]=deleteWarn,module[_0xca512f(-0x179,-0x15c,-0x168,-0x166)]=_0x28ef41; diff --git a/DataBase/zz.json b/DataBase/zz.json new file mode 100644 index 0000000..59600e4 --- /dev/null +++ b/DataBase/zz.json @@ -0,0 +1,18 @@ +{ +"Owner": "Sew Queen | Ravindu Manoj", +"Access": "Public", +"Host_Name": "{}host{}.{}360/{}sew{}queen{}.{}free.og{}", +"Host_ID": "cmF2aW5kdW1hbm9qMTIzNHNld3F1ZWVucHVibGljaG9zdA==", +"Public_Login_Pw": "{}QE1hbm9qMzYwLVNldzQ0Mi1RdWVlbkBSYXZpbmR1TWFub2o={}", +"Access_Token": "{}aG9zdF8yNzgzOWpzaHNzaHN0YWsyN0RqYWx0VHJkcXV0cnNxcVJzL3Nld3F1ZWVuQHJhdmluZHVtYW5vag=={}", +"Free_VIP_Token": "{}Sew{}Queen{}", +"Location": "{}host{}.{}360/{}sew{}queen{}.{}free.og{}/Sew{}", +"TZ": "Asia/Colombo", +"Key": "{}Sew1234@###*/{}", +"Data": { + "IP": "{}.{}.{}.{}.{}", + "Version": "3.0.0" + }, +"Error_Msg": "DataBase Location Is Not Found Or Files Auto Refresh 00:00 - 00:02", +"Fake_User_Detector_Msg": "4LaL4LeD4LeK4LeD4Lax4LeK4Lax4LavIOC2huC3gOC3mSDgtq/gt5DgtrHgt4og4LeD4LeQ4La04LavIPCfmILwn5mMIOC2i+C2tuC3mSDgtoXgtrjgt4rgtrjgtqcg4LeE4LeU4Laa4LePIOC2nOC2seC3iuC2sSDgtpHgtrTgt48g4Laa4LeQ4La74LeS4La4IOC2heC3gOC2ouC3j+C2reC2muC2uuC3jyDgtobgt4Dgt48g4La44LeZ4Lat4La4ICDgtovgt4Pgt4rgt4PgtrHgt4rgtrHwn5idIOC2i+C3g+C3iuC3g+C2seC3iuC2sSDgtprgtr3gt5LgtrHgt4og4LaL4La24LeZIOC2heC2uOC3iuC2uOC3j+C2nOC3mSDgtrvgt5ngtq/gt4rgtq8g4LaL4LeD4LeK4LeD4La94LePIOC2tOC3lOC2muC3mSDwn42RIOC2h+C2u+C2tOC2seC3iiDgt4Dgt5ngt4Pgt5Lgtpzgt5kg4La04LeU4Lat4LeP8J+NkuKcqA==" +} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..cd37b73 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,9 @@ +FROM ravindu01manoj/sewqueen:lovegift + +RUN git clone https://github.com/ravindu01manoj/Sew-Queen /root/QueenSewWhatsappBot +WORKDIR /root/QueenSewWhatsappBot/ +ENV TZ=Asia/Colombo +RUN npm install supervisor -g +RUN yarn install --no-audit + +CMD ["node", "sew.js"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..2f71293 --- /dev/null +++ b/README.md @@ -0,0 +1,53 @@ +

❖❖❖❖❖ 𝐒𝐄𝐖 𝐐𝐔𝐄𝐄𝐍 ❖❖❖❖❖

✬✬ Sew Queen Is World Best Whatsapp Bot Ever ✬✬

+ + +*** + +

Views

+ +*** +> scan QR Code ✏ +
+ +--- +> Deploy Your Bot On Heroku ✏ +
+ +*** +

SEW QUEEN TEAM

+ +*** + + +
Ms:SewRavindu Manoj
Sew QueenRavindu Manoj
OwnerDeveloper & Owner
MuthuDilushaUmeda
MuthuDilushaUmeda
Voice & Idea Graphics & Group ManagementGroup Management & Idea
+ + +*** +

✬✬ Sew Queen Is World Best Whatsapp Bot Ever ✬✬

+ +*** +> Another Way To Get Qr ✏ + +# You Can Get Qr Easily Using Another Sew Queen Bot +# Get Qr As Image To Use .getqr + +> termux code for qr✏ + + +``` +$ pkg upgrade && pkg update +$ pkg install nodejs && pkg install git +``` + +``` +$ git clone https://github.com/Sew01RaviduManoj01KingAndQueen/sew.git +$ cd qr +$ npm i +$ node sew.js + +``` +``` +$ cd qr +$ node sew.js +``` +
diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..034e848 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,21 @@ +# Security Policy + +## Supported Versions + +Use this section to tell people about which versions of your project are +currently being supported with security updates. + +| Version | Supported | +| ------- | ------------------ | +| 5.1.x | :white_check_mark: | +| 5.0.x | :x: | +| 4.0.x | :white_check_mark: | +| < 4.0 | :x: | + +## Reporting a Vulnerability + +Use this section to tell people how to report a vulnerability. + +Tell them where to go, how often they can expect to get an update on a +reported vulnerability, what to expect if the vulnerability is accepted or +declined, etc. diff --git a/SQ-QA.js b/SQ-QA.js new file mode 100644 index 0000000..1dc5886 --- /dev/null +++ b/SQ-QA.js @@ -0,0 +1,5 @@ +module.exports = { + SEW_QUEEN_OWNER: '94785435462,94785457519', // Ravindu Manoj - Sew Queen Owner + SEW_QUEEN_TEAM: '94714366177,94766911891,94711031915,94757222271,94713179802', // Team - SEW QUEEN TEAM + QUEEN_AMDI_OWNER: '94757405652' // Black Amda - Queen Amdi Owner --> For The Friendship + } diff --git a/VoiceClip/Adarei.mp3 b/VoiceClip/Adarei.mp3 new file mode 100644 index 0000000..5760c6d Binary files /dev/null and b/VoiceClip/Adarei.mp3 differ diff --git a/VoiceClip/Adarey.mp3 b/VoiceClip/Adarey.mp3 new file mode 100644 index 0000000..5760c6d Binary files /dev/null and b/VoiceClip/Adarey.mp3 differ diff --git a/VoiceClip/Akke.mp3 b/VoiceClip/Akke.mp3 new file mode 100644 index 0000000..05b0a8b Binary files /dev/null and b/VoiceClip/Akke.mp3 differ diff --git a/VoiceClip/Baba eka.mp3 b/VoiceClip/Baba eka.mp3 new file mode 100644 index 0000000..097c9a8 Binary files /dev/null and b/VoiceClip/Baba eka.mp3 differ diff --git a/VoiceClip/Baduwa.mp3 b/VoiceClip/Baduwa.mp3 new file mode 100644 index 0000000..0d98630 Binary files /dev/null and b/VoiceClip/Baduwa.mp3 differ diff --git a/VoiceClip/Balaganin.mp3 b/VoiceClip/Balaganin.mp3 new file mode 100644 index 0000000..c800486 Binary files /dev/null and b/VoiceClip/Balaganin.mp3 differ diff --git a/VoiceClip/Balagena.mp3 b/VoiceClip/Balagena.mp3 new file mode 100644 index 0000000..c800486 Binary files /dev/null and b/VoiceClip/Balagena.mp3 differ diff --git a/VoiceClip/Balli.mp3 b/VoiceClip/Balli.mp3 new file mode 100644 index 0000000..0d98630 Binary files /dev/null and b/VoiceClip/Balli.mp3 differ diff --git a/VoiceClip/Bb ek.mp3 b/VoiceClip/Bb ek.mp3 new file mode 100644 index 0000000..097c9a8 Binary files /dev/null and b/VoiceClip/Bb ek.mp3 differ diff --git a/VoiceClip/Bich.mp3 b/VoiceClip/Bich.mp3 new file mode 100644 index 0000000..b6c48db Binary files /dev/null and b/VoiceClip/Bich.mp3 differ diff --git a/VoiceClip/Bitch.mp3 b/VoiceClip/Bitch.mp3 new file mode 100644 index 0000000..b6c48db Binary files /dev/null and b/VoiceClip/Bitch.mp3 differ diff --git a/VoiceClip/Bot.mp3 b/VoiceClip/Bot.mp3 new file mode 100644 index 0000000..c42a642 Binary files /dev/null and b/VoiceClip/Bot.mp3 differ diff --git a/VoiceClip/Bye.mp3 b/VoiceClip/Bye.mp3 new file mode 100644 index 0000000..e0a7df2 Binary files /dev/null and b/VoiceClip/Bye.mp3 differ diff --git a/VoiceClip/Denawada.mp3 b/VoiceClip/Denawada.mp3 new file mode 100644 index 0000000..60b0994 Binary files /dev/null and b/VoiceClip/Denawada.mp3 differ diff --git a/VoiceClip/Enne nane.mp3 b/VoiceClip/Enne nane.mp3 new file mode 100644 index 0000000..f22c42e Binary files /dev/null and b/VoiceClip/Enne nane.mp3 differ diff --git a/VoiceClip/Ep wel.mp3 b/VoiceClip/Ep wel.mp3 new file mode 100644 index 0000000..e9f10d0 Binary files /dev/null and b/VoiceClip/Ep wel.mp3 differ diff --git a/VoiceClip/Epa wela.mp3 b/VoiceClip/Epa wela.mp3 new file mode 100644 index 0000000..e9f10d0 Binary files /dev/null and b/VoiceClip/Epa wela.mp3 differ diff --git a/VoiceClip/Esawa.mp3 b/VoiceClip/Esawa.mp3 new file mode 100644 index 0000000..dd0078a Binary files /dev/null and b/VoiceClip/Esawa.mp3 differ diff --git a/VoiceClip/Fuck.mp3 b/VoiceClip/Fuck.mp3 new file mode 100644 index 0000000..dd0078a Binary files /dev/null and b/VoiceClip/Fuck.mp3 differ diff --git a/VoiceClip/Gahanawa.mp3 b/VoiceClip/Gahanawa.mp3 new file mode 100644 index 0000000..2c9f387 Binary files /dev/null and b/VoiceClip/Gahanawa.mp3 differ diff --git a/VoiceClip/Gahano.mp3 b/VoiceClip/Gahano.mp3 new file mode 100644 index 0000000..f9897f9 Binary files /dev/null and b/VoiceClip/Gahano.mp3 differ diff --git a/VoiceClip/Gm.mp3 b/VoiceClip/Gm.mp3 new file mode 100644 index 0000000..e01daa8 Binary files /dev/null and b/VoiceClip/Gm.mp3 differ diff --git a/VoiceClip/Gn.mp3 b/VoiceClip/Gn.mp3 new file mode 100644 index 0000000..6465c79 Binary files /dev/null and b/VoiceClip/Gn.mp3 differ diff --git a/VoiceClip/Good morning.mp3 b/VoiceClip/Good morning.mp3 new file mode 100644 index 0000000..e01daa8 Binary files /dev/null and b/VoiceClip/Good morning.mp3 differ diff --git a/VoiceClip/Good night.mp3 b/VoiceClip/Good night.mp3 new file mode 100644 index 0000000..6465c79 Binary files /dev/null and b/VoiceClip/Good night.mp3 differ diff --git a/VoiceClip/Gothaya.mp3 b/VoiceClip/Gothaya.mp3 new file mode 100644 index 0000000..dd0078a Binary files /dev/null and b/VoiceClip/Gothaya.mp3 differ diff --git a/VoiceClip/Guti.mp3 b/VoiceClip/Guti.mp3 new file mode 100644 index 0000000..f9897f9 Binary files /dev/null and b/VoiceClip/Guti.mp3 differ diff --git a/VoiceClip/Ha ha.mp3 b/VoiceClip/Ha ha.mp3 new file mode 100644 index 0000000..ec63661 Binary files /dev/null and b/VoiceClip/Ha ha.mp3 differ diff --git a/VoiceClip/Hako.mp3 b/VoiceClip/Hako.mp3 new file mode 100644 index 0000000..ec63661 Binary files /dev/null and b/VoiceClip/Hako.mp3 differ diff --git a/VoiceClip/Hello.mp3 b/VoiceClip/Hello.mp3 new file mode 100644 index 0000000..92b9fd7 Binary files /dev/null and b/VoiceClip/Hello.mp3 differ diff --git a/VoiceClip/Helo.mp3 b/VoiceClip/Helo.mp3 new file mode 100644 index 0000000..92b9fd7 Binary files /dev/null and b/VoiceClip/Helo.mp3 differ diff --git a/VoiceClip/Hey.mp3 b/VoiceClip/Hey.mp3 new file mode 100644 index 0000000..bd37fd3 Binary files /dev/null and b/VoiceClip/Hey.mp3 differ diff --git a/VoiceClip/Hi.mp3 b/VoiceClip/Hi.mp3 new file mode 100644 index 0000000..bd37fd3 Binary files /dev/null and b/VoiceClip/Hi.mp3 differ diff --git a/VoiceClip/Hmm.mp3 b/VoiceClip/Hmm.mp3 new file mode 100644 index 0000000..d85f8eb Binary files /dev/null and b/VoiceClip/Hmm.mp3 differ diff --git a/VoiceClip/Hukanna.mp3 b/VoiceClip/Hukanna.mp3 new file mode 100644 index 0000000..8bca1a8 Binary files /dev/null and b/VoiceClip/Hukanna.mp3 differ diff --git a/VoiceClip/Hukanni.mp3 b/VoiceClip/Hukanni.mp3 new file mode 100644 index 0000000..0d98630 Binary files /dev/null and b/VoiceClip/Hukanni.mp3 differ diff --git a/VoiceClip/Hum.mp3 b/VoiceClip/Hum.mp3 new file mode 100644 index 0000000..d85f8eb Binary files /dev/null and b/VoiceClip/Hum.mp3 differ diff --git a/VoiceClip/Huththa.mp3 b/VoiceClip/Huththa.mp3 new file mode 100644 index 0000000..8bca1a8 Binary files /dev/null and b/VoiceClip/Huththa.mp3 differ diff --git a/VoiceClip/Huththi.mp3 b/VoiceClip/Huththi.mp3 new file mode 100644 index 0000000..0d98630 Binary files /dev/null and b/VoiceClip/Huththi.mp3 differ diff --git a/VoiceClip/Hy.mp3 b/VoiceClip/Hy.mp3 new file mode 100644 index 0000000..bd37fd3 Binary files /dev/null and b/VoiceClip/Hy.mp3 differ diff --git a/VoiceClip/I love you.mp3 b/VoiceClip/I love you.mp3 new file mode 100644 index 0000000..6289910 Binary files /dev/null and b/VoiceClip/I love you.mp3 differ diff --git a/VoiceClip/Kariya.mp3 b/VoiceClip/Kariya.mp3 new file mode 100644 index 0000000..8bca1a8 Binary files /dev/null and b/VoiceClip/Kariya.mp3 differ diff --git a/VoiceClip/Kellekda.mp3 b/VoiceClip/Kellekda.mp3 new file mode 100644 index 0000000..60b0994 Binary files /dev/null and b/VoiceClip/Kellekda.mp3 differ diff --git a/VoiceClip/Kohomada.mp3 b/VoiceClip/Kohomada.mp3 new file mode 100644 index 0000000..c52bb32 Binary files /dev/null and b/VoiceClip/Kohomada.mp3 differ diff --git a/VoiceClip/Kohomd.mp3 b/VoiceClip/Kohomd.mp3 new file mode 100644 index 0000000..c52bb32 Binary files /dev/null and b/VoiceClip/Kohomd.mp3 differ diff --git a/VoiceClip/Love.mp3 b/VoiceClip/Love.mp3 new file mode 100644 index 0000000..5760c6d Binary files /dev/null and b/VoiceClip/Love.mp3 differ diff --git a/VoiceClip/Marilada.mp3 b/VoiceClip/Marilada.mp3 new file mode 100644 index 0000000..a37a76b Binary files /dev/null and b/VoiceClip/Marilada.mp3 differ diff --git a/VoiceClip/Mk.mp3 b/VoiceClip/Mk.mp3 new file mode 100644 index 0000000..04ecd6f Binary files /dev/null and b/VoiceClip/Mk.mp3 differ diff --git a/VoiceClip/Mokek.mp3 b/VoiceClip/Mokek.mp3 new file mode 100644 index 0000000..a9d5f0c Binary files /dev/null and b/VoiceClip/Mokek.mp3 differ diff --git a/VoiceClip/Na na.mp3 b/VoiceClip/Na na.mp3 new file mode 100644 index 0000000..b833f96 Binary files /dev/null and b/VoiceClip/Na na.mp3 differ diff --git a/VoiceClip/Nah.mp3 b/VoiceClip/Nah.mp3 new file mode 100644 index 0000000..b833f96 Binary files /dev/null and b/VoiceClip/Nah.mp3 differ diff --git a/VoiceClip/Namaskaram.mp3 b/VoiceClip/Namaskaram.mp3 new file mode 100644 index 0000000..8146b9a Binary files /dev/null and b/VoiceClip/Namaskaram.mp3 differ diff --git a/VoiceClip/Namasthe.mp3 b/VoiceClip/Namasthe.mp3 new file mode 100644 index 0000000..8146b9a Binary files /dev/null and b/VoiceClip/Namasthe.mp3 differ diff --git a/VoiceClip/Namgi.mp3 b/VoiceClip/Namgi.mp3 new file mode 100644 index 0000000..05b0a8b Binary files /dev/null and b/VoiceClip/Namgi.mp3 differ diff --git a/VoiceClip/Natahan.mp3 b/VoiceClip/Natahan.mp3 new file mode 100644 index 0000000..69c6ccb Binary files /dev/null and b/VoiceClip/Natahan.mp3 differ diff --git a/VoiceClip/Natanna.mp3 b/VoiceClip/Natanna.mp3 new file mode 100644 index 0000000..69c6ccb Binary files /dev/null and b/VoiceClip/Natanna.mp3 differ diff --git a/VoiceClip/Pakaya.mp3 b/VoiceClip/Pakaya.mp3 new file mode 100644 index 0000000..8bca1a8 Binary files /dev/null and b/VoiceClip/Pakaya.mp3 differ diff --git a/VoiceClip/Pala.mp3 b/VoiceClip/Pala.mp3 new file mode 100644 index 0000000..f1a100d Binary files /dev/null and b/VoiceClip/Pala.mp3 differ diff --git a/VoiceClip/Paraya.mp3 b/VoiceClip/Paraya.mp3 new file mode 100644 index 0000000..dd0078a Binary files /dev/null and b/VoiceClip/Paraya.mp3 differ diff --git a/VoiceClip/Pinnaya.mp3 b/VoiceClip/Pinnaya.mp3 new file mode 100644 index 0000000..c3abceb Binary files /dev/null and b/VoiceClip/Pinnaya.mp3 differ diff --git a/VoiceClip/Ponnaya.mp3 b/VoiceClip/Ponnaya.mp3 new file mode 100644 index 0000000..8bca1a8 Binary files /dev/null and b/VoiceClip/Ponnaya.mp3 differ diff --git a/VoiceClip/Ponni.mp3 b/VoiceClip/Ponni.mp3 new file mode 100644 index 0000000..0d98630 Binary files /dev/null and b/VoiceClip/Ponni.mp3 differ diff --git a/VoiceClip/README.md b/VoiceClip/README.md new file mode 100644 index 0000000..669d6b7 --- /dev/null +++ b/VoiceClip/README.md @@ -0,0 +1 @@ +# Do Not Use This Voice CLIP diff --git a/VoiceClip/Raviya.mp3 b/VoiceClip/Raviya.mp3 new file mode 100644 index 0000000..a69f8f0 Binary files /dev/null and b/VoiceClip/Raviya.mp3 differ diff --git a/VoiceClip/SEW.mp3 b/VoiceClip/SEW.mp3 new file mode 100644 index 0000000..bbab727 Binary files /dev/null and b/VoiceClip/SEW.mp3 differ diff --git a/VoiceClip/Sapak.mp3 b/VoiceClip/Sapak.mp3 new file mode 100644 index 0000000..dd0078a Binary files /dev/null and b/VoiceClip/Sapak.mp3 differ diff --git a/VoiceClip/Seen.mp3 b/VoiceClip/Seen.mp3 new file mode 100644 index 0000000..674340a Binary files /dev/null and b/VoiceClip/Seen.mp3 differ diff --git a/VoiceClip/U girl.mp3 b/VoiceClip/U girl.mp3 new file mode 100644 index 0000000..60b0994 Binary files /dev/null and b/VoiceClip/U girl.mp3 differ diff --git a/VoiceClip/Uddika.mp3 b/VoiceClip/Uddika.mp3 new file mode 100644 index 0000000..dd0078a Binary files /dev/null and b/VoiceClip/Uddika.mp3 differ diff --git a/VoiceClip/Umma.mp3 b/VoiceClip/Umma.mp3 new file mode 100644 index 0000000..d5889f2 Binary files /dev/null and b/VoiceClip/Umma.mp3 differ diff --git a/VoiceClip/Ummah.mp3 b/VoiceClip/Ummah.mp3 new file mode 100644 index 0000000..d5889f2 Binary files /dev/null and b/VoiceClip/Ummah.mp3 differ diff --git a/VoiceClip/Ummma.mp3 b/VoiceClip/Ummma.mp3 new file mode 100644 index 0000000..d5889f2 Binary files /dev/null and b/VoiceClip/Ummma.mp3 differ diff --git a/VoiceClip/Vesavi.mp3 b/VoiceClip/Vesavi.mp3 new file mode 100644 index 0000000..0d98630 Binary files /dev/null and b/VoiceClip/Vesavi.mp3 differ diff --git a/VoiceClip/Vesawi.mp3 b/VoiceClip/Vesawi.mp3 new file mode 100644 index 0000000..0d98630 Binary files /dev/null and b/VoiceClip/Vesawi.mp3 differ diff --git a/VoiceClip/Vesi.mp3 b/VoiceClip/Vesi.mp3 new file mode 100644 index 0000000..0d98630 Binary files /dev/null and b/VoiceClip/Vesi.mp3 differ diff --git a/VoiceClip/Wesi.mp3 b/VoiceClip/Wesi.mp3 new file mode 100644 index 0000000..0d98630 Binary files /dev/null and b/VoiceClip/Wesi.mp3 differ diff --git a/VoiceClip/Why ban.mp3 b/VoiceClip/Why ban.mp3 new file mode 100644 index 0000000..3f2b108 Binary files /dev/null and b/VoiceClip/Why ban.mp3 differ diff --git a/VoiceClip/Y ban.mp3 b/VoiceClip/Y ban.mp3 new file mode 100644 index 0000000..3f2b108 Binary files /dev/null and b/VoiceClip/Y ban.mp3 differ diff --git a/VoiceClip/Y bn.mp3 b/VoiceClip/Y bn.mp3 new file mode 100644 index 0000000..3f2b108 Binary files /dev/null and b/VoiceClip/Y bn.mp3 differ diff --git a/VoiceClip/You girl.mp3 b/VoiceClip/You girl.mp3 new file mode 100644 index 0000000..60b0994 Binary files /dev/null and b/VoiceClip/You girl.mp3 differ diff --git a/VoiceClip/alive.mp3 b/VoiceClip/alive.mp3 new file mode 100644 index 0000000..a37a76b Binary files /dev/null and b/VoiceClip/alive.mp3 differ diff --git a/VoiceClip/en nane.mp3 b/VoiceClip/en nane.mp3 new file mode 100644 index 0000000..f22c42e Binary files /dev/null and b/VoiceClip/en nane.mp3 differ diff --git a/VoiceClip/notes.mp3 b/VoiceClip/notes.mp3 new file mode 100644 index 0000000..b334db8 Binary files /dev/null and b/VoiceClip/notes.mp3 differ diff --git a/VoiceClip/robo.mp3 b/VoiceClip/robo.mp3 new file mode 100644 index 0000000..bbab727 Binary files /dev/null and b/VoiceClip/robo.mp3 differ diff --git a/VoiceClip/sewmaker.mp3 b/VoiceClip/sewmaker.mp3 new file mode 100644 index 0000000..f285622 Binary files /dev/null and b/VoiceClip/sewmaker.mp3 differ diff --git a/VoiceClip/zzaaa.mp3 b/VoiceClip/zzaaa.mp3 new file mode 100644 index 0000000..666aa07 Binary files /dev/null and b/VoiceClip/zzaaa.mp3 differ diff --git a/VoiceClip/zzaab.mp3 b/VoiceClip/zzaab.mp3 new file mode 100644 index 0000000..7318a6f Binary files /dev/null and b/VoiceClip/zzaab.mp3 differ diff --git a/VoiceClip/zzaac.mp3 b/VoiceClip/zzaac.mp3 new file mode 100644 index 0000000..1ad9f6b Binary files /dev/null and b/VoiceClip/zzaac.mp3 differ diff --git a/VoiceClip/zzaad.mp3 b/VoiceClip/zzaad.mp3 new file mode 100644 index 0000000..05b00bd Binary files /dev/null and b/VoiceClip/zzaad.mp3 differ diff --git a/VoiceClip/zzaae.mp3 b/VoiceClip/zzaae.mp3 new file mode 100644 index 0000000..75614d6 Binary files /dev/null and b/VoiceClip/zzaae.mp3 differ diff --git a/VoiceClip/zzaaf.mp3 b/VoiceClip/zzaaf.mp3 new file mode 100644 index 0000000..170709f Binary files /dev/null and b/VoiceClip/zzaaf.mp3 differ diff --git a/VoiceClip/zzaag.mp3 b/VoiceClip/zzaag.mp3 new file mode 100644 index 0000000..e306087 Binary files /dev/null and b/VoiceClip/zzaag.mp3 differ diff --git a/VoiceClip/zzaah.mp3 b/VoiceClip/zzaah.mp3 new file mode 100644 index 0000000..d625d41 Binary files /dev/null and b/VoiceClip/zzaah.mp3 differ diff --git a/VoiceClip/zzaai.mp3 b/VoiceClip/zzaai.mp3 new file mode 100644 index 0000000..d7ecede Binary files /dev/null and b/VoiceClip/zzaai.mp3 differ diff --git a/VoiceClip/zzaaj.mp3 b/VoiceClip/zzaaj.mp3 new file mode 100644 index 0000000..cefdd22 Binary files /dev/null and b/VoiceClip/zzaaj.mp3 differ diff --git a/VoiceClip/zzaak.mp3 b/VoiceClip/zzaak.mp3 new file mode 100644 index 0000000..a0e565a Binary files /dev/null and b/VoiceClip/zzaak.mp3 differ diff --git a/VoiceClip/zzaal.mp3 b/VoiceClip/zzaal.mp3 new file mode 100644 index 0000000..b05010d Binary files /dev/null and b/VoiceClip/zzaal.mp3 differ diff --git a/VoiceClip/zzaam.mp3 b/VoiceClip/zzaam.mp3 new file mode 100644 index 0000000..8e8e896 Binary files /dev/null and b/VoiceClip/zzaam.mp3 differ diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..bc89cd8 --- /dev/null +++ b/_config.yml @@ -0,0 +1,2 @@ +theme: jekyll-theme-modernist + diff --git a/app.json b/app.json new file mode 100644 index 0000000..33654c3 --- /dev/null +++ b/app.json @@ -0,0 +1,237 @@ +{ + "name": "✬Sew Queen✬", + "description": "World Best Whatsapp Bot", + "logo": "https://i.ibb.co/GnqjtyG/164ff8587741.jpg", + "keywords": ["sew", "sewqueen"], + "stack": "container", + "env": { + "_SEW_QUEEN_SESSION": { + "description": "Scan the QR code and enter the code obtained. QR කෝඩය ස්කෑන් කර ලබා ගන්නා කේතය ඇතුලත් කරන්න", + "required": true + }, + "LANGUAGE": { + "description": "Enter the language you want (EN or SI), ඔබට අවශ්‍ය භාෂාව ඇතුලත් කරන්න.. (EN හො SI)", + "required": true, + "value": "en" + }, + "S_DOWN_SONG": { + "description": "Enter the audio download message... ශබ්ද බාගත වීමේ පණිවිඩය ඇතුලත් කරන්න", + "required": true, + "value": "_*I'm Searching your song*_ ✨➾🔎" + }, + "S_UP_SONG": { + "description": "Enter the audio upload message... ශබ්ද උඩුගත වීමේ පණිවිඩය ඇතුලත් කරන්න", + "required": true, + "value": "_*Im Uploading your song*_ ✨➾🎲" + }, + "S_DOWN_VID": { + "description": "Enter the video download message... වීඩියෝ බාගත වීමේ පණිවිඩය ඇතුලත් කරන්න", + "required": true, + "value": "_*I'm Bringing your video*_ ✨➾🔎" + }, + "S_UP_VID": { + "description": "Enter the video upload message... වීඩියෝ උඩුගත වීමේ පණිවිඩය ඇතුලත් කරන්න", + "required": true, + "value": "_*Im Uploading your video*_ ✨➾🎲" + }, + "MENU_HEADER": { + "description": "ITS CHANGE YOUR CMD LIST HEADER", + "required": true, + "value": "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━\n┃ *SEW QUEEN WHATSAPP BOT*\n┗━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n THIS IS SEW QUEEN CMD MENU" + }, + "GROUP_MANAGE": { + "description": "If you want the admin in the group to be able to use the admin command too, enter true. සමූහය තුල සිටින ඇඩ්මින් හටද ඇඩ්මින් විදාන භාවිතා කිරීමට හැකි සේ සැකසීම අවශ්‍යයි නම් true ලෙස ඇතුලත් කරන්න", + "required": true, + "value": "false" + }, + "ANTI_LINK": { + "description": "If someone inserts a link into the group and wants to remove him from the group, enter true..සමූහයට කෙනෙකු ලින්ක් එකක් ඇතුලත් කලහොත් ඔහුව ගෲපයෙන් නෙරපා දැමීමට අවශ්‍ය නම් true ලෙස ඇතුලත් කරන්න", + "required": true, + "value": "false" + }, + "INBO_BLOCK": { + "description": "INBOX BLOCKING SYSTEM.. ඉන්බොක්ස් බ්ලොක් කිරීමේ පද්දතිය.. eg true/all or true/cmd or false", + "required": true, + "value": "false" + }, + "SPAM_CMD": { + "description": "Changeble Spam CMD... ස්පෑම් සදහා ඌ විදානය ලබා දෙන්න", + "required": true, + "value": "hunt" + }, + "BAD_KICK": { + "description": "BAD WORD & GROUP LINK KICKING SYSTEM.. අසබ්‍ය වචන හා ගෲප් ලින්ක් දමන්නන් ඉවත් කිරීමේ පද්දතිය", + "required": true, + "value": "true" + }, + "ALIVE_LOGO": { + "description": "Add Your Alive Logo", + "required": false + }, + "WARN_MSG": { + "description": "WANR KICK MASSAGE .. වර්න් ලබා දී කික් වන විට යෙදිය යුතු පණිවිඩය ඇතුලත් කරන්න", + "required": true, + "value": "*Your Times over Now.. So Good Bye*" + }, + "WARN_COUNT": { + "description": "Input Warn Count", + "required": true, + "value": "3" + }, + "HANDLERS": { + "description": "For commands.", + "required": true, + "value": "^[.!;]" + }, + "CAPTION_NAME": { + "description": "කැප්ශන් එක ඇතුලත් කරන්න... Enter the Caption", + "required": false + }, + "IMGBB_API": { + "description": "Add the api i.ibb.co site..==> i.ibb.co සයිට් එකට ලොග් වී ලබා ගන්නා api එක ඇතුලත් කරන්න", + "required": false + }, + "ZZ_PASSWORD": { + "description": "බොට්ව සෑදීම සදහා පාස්වර්ඩ් එකක් අවශ්‍ය අතර වීඩියෝව නරඹා එය ලබා ගන්න.password required.. watch the video ==> https://youtu.be/AKU7YVXxMbM", + "required": true + }, + "OWNER_SHIP": { + "description": "බොට් අයිතිකරුගේ නාමය ඇතුලත් කරන්න ==> Input The Owner Name", + "required": false, + "value": "RAVINDU MANOJ" + }, + + "YOUR_BOT_NAME": { + "description": "බොට්ගේ නාමය ඇතුලත් කරන්න ==> Input The Bot Name", + "required": false, + "value": "✬ MS SEW ✬" + }, + "NO_LOG": { + "description": "Set true if you don't want to see error log.", + "required": true, + "value": "false" + }, + "SEND_READ": { + "description": "Write true if you want to throw seen.", + "required": true, + "value": "true" + }, + "HEROKU": { + "description": "If it is running in Heroku, type true.", + "required": true, + "value": "true" + }, + "HEROKU_API_KEY": { + "description": "Heroku API Key.", + "required": true + }, + "MUTE_MESSAGE": { + "description": "Customizable Mute Message! Use => default, to change back.", + "required": false, + "value": "default" + }, + "UNMUTE_MESSAGE": { + "description": "Customizable Unmute Message! Use => default, to change back.", + "required": false, + "value": "default" + }, + "BLOCK_MESSAGE": { + "description": "Customizable Block Message! Use => default, to change back.", + "required": false, + "value": "default" + }, + "UNBLOCK_MESSAGE": { + "description": "Customizable Unblock Message! Use => default, to change back.", + "required": false, + "value": "default" + }, + "WORK_TYPE": { + "description": "Sew Bot Working Type. If you use “public”, everyone can use the bot. Else if you use “private”, only you can use your bot.", + "required": true, + "value": "public" + }, + "HEROKU_APP_NAME": { + "description": "Heroku APP Name.", + "required": true + }, + "DEBUG": { + "description": "Geliştiricilere özeldir.", + "required": true, + "value": "false" + }, + "REMOVE_BG_API_KEY": { + "description": "Get API Key. https://remove.bg", + "required": false + }, + "ALIVE_MESSAGE": { + "description": "Customizable Alive Message! Use => default, to change back. include {status} & {phoneinfo} & {sever} & {ratings} to add about chat & phone info & saver info & Your Ratings to your alive message", + "required": false, + "value": "Hello I Am Alive\n{ratings}\n {status} \n {phoneinfo} \n {sever}" + }, + "BAN_MESSAGE": { + "description": "Customizable Ban Message! Use => default, to change back.", + "required": false, + "value": "default" + }, + "ADD_MESSAGE": { + "description": "Customizable Add Message! Use => default, to change back.", + "required": false, + "value": "default" + }, + "KICKME_MESSAGE": { + "description": "Customizable Kickme Message! Use => default, to change back.", + "required": false, + "value": "default" + }, + "PROMOTE_MESSAGE": { + "description": "Customizable Promote Message! Use => default, to change back.", + "required": false, + "value": "default" + }, + "DEMOTE_MESSAGE": { + "description": "Customizable Demote Message! Use => default, to change back.", + "required": false, + "value": "default" + }, + "AFK_MESSAGE": { + "description": "Customizable AFK Message! Use => default, to change back.", + "required": false, + "value": "default" + }, + "GAN_IMAGE": { + "description": "Type image link for Gan Style plugin.", + "required": true, + "value": "https://i.hizliresim.com/loUtAb.jpg" + }, + "GROUP_MANAGE": { + "description": "Type true if you need allow admin to use admin command", + "required": false, + "value": "false" + }, + "CLONE_MSG": { + "description": "This MSG will display after the clone end", + "required": false + }, + "NO_ONLINE": { + "description": "Type true if you don't want to appear online.", + "required": false, + "value": "false" + }, + "SEW_AI": { + "description": "Artificial Intelligence Chat Bot!", + "required": false, + "value": "false" + }, + "COFFEEHOUSE_API_KEY": { + "description": "Pass This Step!", + "required": false, + "value": "true" + } + }, + "addons": [{ + "plan": "heroku-postgresql" + }], + "buildpacks": [{ + "url": "heroku-community/apt" + }] + } diff --git a/heroku.yml b/heroku.yml new file mode 100644 index 0000000..4a91157 --- /dev/null +++ b/heroku.yml @@ -0,0 +1,6 @@ +build: + docker: + worker: /Dockerfile + +run: + worker: npm start diff --git a/package.json b/package.json new file mode 100644 index 0000000..94e7191 --- /dev/null +++ b/package.json @@ -0,0 +1,59 @@ +{ + "name": "sew-queen", + "version": "3.0.0", + "description": "Sew Queen Best Whatsapp Bot Project In The World", + "main": "./QueenSewWhatsappBot/sew.js", + "scripts": { + "start": "supervisor -s sew.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ravindu01manoj/Sew-Queen.git" + }, + "keywords": [ + "whatsapp", + "sew", + "queen", + "sewqueen", + "bot" + ], + "author": "Ravindu", + "license": "GPL-3.0-or-later", + "bugs": { + "url": "https://github.com/ravindu01manoj/Sew-Queen/issues" + }, + "homepage": "https://github.com/ravindu01manoj/Sew-Queen#readme", + "dependencies": { + "@ravindu01manoj/sew-queen-web": "1.0.1", + "network-speed": "2.1.1", + "cheerio": "*", + "axios": ">=0.21.2", + "googlethis": "^1.1.6", + "chalk": "*", + "check-path": "*", + "deepai": "*", + "fs-extra": "^9.1.0", + "google-tts-api": "^2.0.2", + "qrcode-reader": "^1.0.4", + "jpeg-js": "*", + "heroku-client": "^3.1.0", + "jimp": "^0.16.1", + "js-ffmpeg": "0.0.26", + "file-type": "^16.5.2", + "jsdom": "^16.6.0", + "langs": "^2.0.0", + "languagedetect": "^2.0.0", + "meme-maker": "^2.1.2", + "mongodb": "3.6.3", + "node-fetch": "^2.6.1", + "node-tesseract-ocr": "^2.0.0", + "pg": "8.5.1", + "cookie": "^0.4.1", + "sqlite3": "5.0.0", + "yt-search": "*", + "ytdl-core": "*", + "cookie": "^0.4.1", + "instatouch": "^2.3.3" + } +} + diff --git a/sew-queen-pro/README.md b/sew-queen-pro/README.md new file mode 100644 index 0000000..c93fee9 --- /dev/null +++ b/sew-queen-pro/README.md @@ -0,0 +1,13 @@ +```js +Sew Queen Whatsapp Bot + +🎲 Telegram: 't.me/RavinduManoj' +Facebook: 'https://www.facebook.com/ravindu.manoj.79' +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj + +"You Can't Use Cloned Or Forked version of Sew Queen.. So Don't waste your Time For Do it... [Ravindu Manoj]" + + 'This Folder Will Automate After Deploy Your Bot' +``` diff --git a/sew.js b/sew.js new file mode 100644 index 0000000..39ba081 --- /dev/null +++ b/sew.js @@ -0,0 +1,139 @@ +/*Sew Queen Whatsapp Bot + +Telegram: https://t.me/RavinduManoj +Facebook: https://www.facebook.com/ravindu.manoj.79 +Licensed under the GPL-3.0 License; + +Coded By Ravindu Manoj +*/ +let DataPack = require('sew-queen-pro/export/output'); +let SewQueen = require('sew-queen-pro/sources/dc/handler'); +let Details = require('sew-queen-pro/sources/dc/Details'); +let GBLACK =require('blocked-s/grp') +let SOL =require('sew-queen-pro/console') +let {CheckUpdatesWeb, sendMessageownerMSG, sendMessageADSMSG, sendMessageBotOn, sendMessageGreetingMSG, sendMessageMSGMSG, sendMessageBlackListMSG, sendMessageBIOMSG} = require('sew-queen-pro/sources/dc/sew') +let fs = require('fs'); let os = require('os'); let got = require('got'); let path = require("path"); let chalk = require('chalk'); +let SQQA = require('./SQ-QA') +let {WAConnection, MessageOptions, MessageType, Mimetype, Presence} = require('@ravindu01manoj/sew-queen-web'); +let {Message, StringSession, Image, Video} = require('sew-queen-pro/sources/dc/Wa-Base/'); +let { DataTypes } = require('sequelize'); let { getMessage } = require("./DataBase/greetings"); +let Heroku = require('heroku-client'); let simpleGit = require('simple-git'); let git = simpleGit(); +let heroku = new Heroku({ token: Details.HEROKU.API_KEY}); let baseURI = '/apps/' + Details.HEROKU.APP_NAME; +let SewQueenDB = Details.DATABASE.define('SewQueen', { + info: { + type: DataTypes.STRING, + allowNull: false + }, + value: { + type: DataTypes.TEXT, + allowNull: false + } +}); +fs.readdirSync('./DataBase/').forEach(cmdall => { if (path.extname(cmdall).toLowerCase() == '.js') { + require('./DataBase/' + cmdall) +}}) +let Commandsdb = require('./DataBase/cmd'); +String.prototype.format = function () { + var i = 0, + args = arguments; + return this.replace(/{}/g, function () { + return typeof args[i] != 'undefined' ? args[i++] : ''; + }) +}; +if (!Date.now) { + Date.now = function () { + return new Date().getTime(); + } +} +Array.prototype.remove = function () { + var what, a = arguments, + L = a.length, + ax; + while (L && this.length) { + what = a[--L]; + while ((ax = this.indexOf(what)) !== -1) { + this.splice(ax, 1); + } + } + return this; +}; +async function sewQueen() { + const CheckWebUpdate = await CheckUpdatesWeb() + await Details.DATABASE.sync(); + var StrSes_Db = await SewQueenDB.findAll({ + where: { + info: 'StringSession' + }}); + const DataKey = new WAConnection(); + DataKey.version = CheckWebUpdate; + let Session = new StringSession(); + await sendMessageownerMSG(DataKey); await sendMessageADSMSG(DataKey) + DataKey.logger.level = Details.DEBUG ? 'debug' : 'warn'; + var Lostdb; + if (StrSes_Db.length < 1) { + Lostdb = true; + DataKey.loadAuthInfo(Session.deCrypt(Details.SESSION)); + } else { + DataKey.loadAuthInfo(Session.deCrypt(StrSes_Db[0].dataValues.value)); + } + DataKey.on('credentials-updated', async () => { + let authInfo = DataKey.base64EncodedAuthInfo(); + if (StrSes_Db.length < 1) { + await SewQueenDB.create({ + info: "StringSession", + value: Session.createStringSession(authInfo) + })} else { + await StrSes_Db[0].update({ + value: Session.createStringSession(authInfo) + })} + }) + DataKey.on('connecting', async () => { + console.log(SOL.LOGING); + }); + DataKey.on('open', async () => { + console.log(SOL.LOG); console.log(SOL.PASSC); + if (Details.SEWRR == 'raviya') { + console.log(SOL.PASSD) + } else if (Details.SEWRR !== 'raviya') { + throw new Error(SOL.PASSW); return; + } + console.log(SOL.INSTCL); console.log(SOL.INSTC); console.log(SOL.INSTL); + var Commands = await Commandsdb.PluginDB.findAll(); + Commands.map(async (allcmd) => { + if (!fs.existsSync('./Commands/' + allcmd.dataValues.name + '.js')) { + console.log(allcmd.dataValues.name); + var response = await got(allcmd.dataValues.url); + if (response.statusCode == 200) { + fs.writeFileSync('./Commands/' + allcmd.dataValues.name + '.js', response.body); + require('./Commands/' + allcmd.dataValues.name + '.js'); + } + } + }); + + fs.readdirSync('./Commands').forEach(allcmd => { if (path.extname(allcmd).toLowerCase() == '.js') { + require('./Commands/' + allcmd); + }}); + console.log(SOL.COUNTY); console.log(SOL.TYPEW); + // await sendMessageBIOMSG(DataKey); + await sendMessageBotOn(DataKey)}) + DataKey.on('chat-update', async m => { + if (!m.hasNewMessage) return; + if (!m.messages && !m.count) return; + let msg = m.messages.all()[0]; + if (Details.NO_ONLINE) { await DataKey.updatePresence(msg.key.remoteJid, Presence.unavailable)} + await sendMessageGreetingMSG(DataKey, getMessage, msg) + if (GBLACK.ALL_GROUP !== 'raviya') { + var grp = GBLACK.ALL_GROUP + ',' + Details.BLOCKCHAT;var sup = grp.split(',') + if(msg.key.remoteJid.includes('g.us') ? sup.includes(msg.key.remoteJid.split('@')[0]) : sup.includes(msg.participant ? msg.participant.split('@')[0] : msg.key.remoteJid.split('@')[0])) return} + await sendMessageMSGMSG(DataKey, msg, 'sew', SQQA) + }); + try { + await DataKey.connect(); + } catch { + if (!Lostdb) { + DataKey.loadAuthInfo(Session.deCrypt(Details.SESSION)); + try { + await DataKey.connect(); + } catch { + return;}}}}; + sewQueen()