From 35d804117192df0a1ad112c3b01d6c5b3d12c36b Mon Sep 17 00:00:00 2001 From: ChamodKeshan <98629920+ChamodKeshan@users.noreply.github.com> Date: Mon, 31 Jan 2022 10:05:28 +0530 Subject: [PATCH 01/32] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f3eeeeb..626133c 100644 --- a/README.md +++ b/README.md @@ -98,7 +98,7 @@ Amazone Alexa bot ගොඩනැගීමට ඔබට ජංගම දුර පළමු උපාංගයෙන් ඔබට Amazone Bot install කිරීමට අවශ්‍යයි.. ``` #### QR කේතය ලබා ගත් පසු පහල බටනය ඔබලා Bot deploy කරන්න -[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/xneon2/Hashzi-X) +[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/ChamodKeshan/Hashzi-X) > [සම්පූර්ණ සිංහල Tutorial](https://www.youtube.com/watch?v=mcEeIspWOpY&ab_channel=UC8yo_BwOJs9cLfYVHewPC6Q) From ae415bc18d8e672ca787de02916e5cf808343cc9 Mon Sep 17 00:00:00 2001 From: ChamodKeshan <98629920+ChamodKeshan@users.noreply.github.com> Date: Mon, 14 Feb 2022 09:31:46 +0530 Subject: [PATCH 02/32] Update package.json --- package.json | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index ff4004b..9575c70 100644 --- a/package.json +++ b/package.json @@ -26,15 +26,18 @@ "homepage": "https://github.com/xneon2/Hashzi-1#readme", "dependencies": { "@adiwajshing/baileys": "3.4.1", + "@octokit/core": "3.5.1", "@lh2020/speedtest-net": "^2.1.1", "textmaker-thiccy": "^1.2.1", "browser-id3-writer": "^4.4.0", "playstore-scraper": "^1.0.0", - "axios": "^0.21.1", + "axios": "^0.21.1" "googlethis": "^1.0.7", "audiobuffer-to-wav": "1.0.0", "chalk": "^4.1.0", + "cheerio": "^1.0.0-rc.5", "coffeehouse": "^2.0.0", + "cookie": "^0.4.1", "cwebp": "^2.0.5", "search-engine-client": "^1.2.6", "deepai": "^1.0.17", @@ -42,33 +45,39 @@ "tinyurl": "^1.1.7", "dotenv": "^8.2.0", "tiktok-scraper": "1.4.20", - "request": "2.88.2", "exchange-rates-api": "^1.0.2", "fluent-ffmpeg": "^2.1.2", "form-data": "^4.0.0", "g-i-s": "^2.1.6", - "google-translate-tts": "^0.3.0", + "google-play-scraper" :"8.0.4", + "google-translate-tts": "^0.3.0" "got": "^11.8.2", "heroku-client": "^3.1.0", + "insta-fetcher": "1.2.3", "jimp": "0.16.0", "js-ffmpeg": "0.0.26", - "jsdom": "^16.5.1", + "jsdom": "18.0.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", + "moment-timezone": "^0.5.33", + "network-speed": "2.1.1", + "node-fetch": "2.6.1", + "node-tesseract-ocr": "2.2.1", "pg": "^8.5.1", - "sequelize": "^6.5.1", - "simple-git": "^2.37.0", + "qrcode": "1.4.4", + "request": "2.88.2", "sozlukjs": "^1.1.0", "spotify-web-api-node": "^5.0.0", - "sqlite3": "5.0.0", + "sequelize": "6.5.1", + "simple-git": "^2.45.1", "solenolyrics": "^5.0.0", - "translatte": "^3.0.0", + "sqlite3": "5.0.0", + "tinyurl": "^1.1.7", + "translatte": "^3.0.1", "wikijs": "^6.0.1", - "yt-search": "^2.7.4", - "ytdl-core": "^4.5.0" + "ytdl-core": "^4.9.1", + "yt-search": "^2.10.2" } } From 1b847a262a07c74e45b070112d5443ff0e915ceb Mon Sep 17 00:00:00 2001 From: ChamodKeshan <98629920+ChamodKeshan@users.noreply.github.com> Date: Mon, 14 Feb 2022 10:12:04 +0530 Subject: [PATCH 03/32] =?UTF-8?q?=F0=9F=92=9EValentine.update=F0=9F=92=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 💞This lovely day💘 💞💝💕💘💘💘💘 --- README.md | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 626133c..6c3cfd9 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ #### © Select your language - [![English](https://img.shields.io/badge/Select-English-red.svg)](https://github.com/xneon2/Hashzi-X/blob/main/README-SI.md) - [![Sinhala](https://img.shields.io/badge/Select-Sinhala-green.svg)](https://github.com/xneon2/Hashzi-X/blob/main/README.md) + [![English](https://img.shields.io/badge/Select-English-red.svg)](https://github.com/ChamodKeshan/Hashzi-X/blob/main/README-SI.md) + [![Sinhala](https://img.shields.io/badge/Select-Sinhala-green.svg)](https://github.com/ChamodKeshan/Hashzi-X/blob/main/README.md) @@ -29,32 +29,32 @@

- + - +

- + Views - - + + - - + +

- + @@ -146,6 +146,15 @@ neotro-x පිහිටුවීමෙන් ඔබ මෙම වගකීම [![Chethana_Broh-TeenuhX](https://github.com/tenuh.png?size=100)](https://https://youtu.be/mcEeIspWOpY) + +# Repair with + + ***M.R.Chamod_Keshan(repair👾) + + + + + ***ᴄʜᴇᴛʜᴀɴᴀ_ʙʀᴏ(Teenuh-X😈)*** @@ -172,6 +181,10 @@ neotro-x පිහිටුවීමෙන් ඔබ මෙම වගකීම [![Find On Whatsapp ](https://img.shields.io/badge/Findon-whatsapp-red.svg)](https://Wa.me/+94766598862) +# 🔖Repair by + +[![Find On Whatsapp ](https://img.shields.io/badge/Chamod-Keshan-blue.svg)](https://Wa.me/94786825798) [![Find On Whatsapp ](https://img.shields.io/badge/Chamod-Keshan-blue.svg)](https://Wa.me/+94786825798) [![Find On Whatsapp ](https://img.shields.io/badge/M.R.Chamod-blue.svg)](https://Wa.me/94786825798) + ### 🚀Amazone Alexa Team [![Find On Telegram ](https://img.shields.io/badge/Ramilka-Rodrigo-blue.svg)](https://t.me/ramiya_yt) [![Encuizer ](https://img.shields.io/badge/En-Cuizer-blue.svg)](https://Wa.me/+94725549179) [![Find On Whatsapp ](https://img.shields.io/badge/Chamee-blue.svg)](https://Wa.me/) From 7d2d549ee02145f44400baabbcdab2f1b6cc0cc8 Mon Sep 17 00:00:00 2001 From: ChamodKeshan <98629920+ChamodKeshan@users.noreply.github.com> Date: Mon, 14 Feb 2022 10:26:14 +0530 Subject: [PATCH 04/32] =?UTF-8?q?=F0=9F=92=9EValentine.update=F0=9F=92=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 9575c70..2a0bffd 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/xneon2/Hashzi-1.git" + "url": "git+https://github.com/ChamodKeshan/Hashzi-1.git" }, "keywords": [ "whatsapp", @@ -23,7 +23,7 @@ "bugs": { "url": "https://github.com/phaticusthiccy/WhatsAsenaDuplicated/issues" }, - "homepage": "https://github.com/xneon2/Hashzi-1#readme", + "homepage": "https://github.com/ChamodKeshan/Hashzi-1#readme", "dependencies": { "@adiwajshing/baileys": "3.4.1", "@octokit/core": "3.5.1", From f2946d13d65143d30385583b4677509bed3e09ba Mon Sep 17 00:00:00 2001 From: ChamodKeshan <98629920+ChamodKeshan@users.noreply.github.com> Date: Mon, 14 Feb 2022 21:18:15 +0530 Subject: [PATCH 05/32] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2a0bffd..bb914cd 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "developer": "AsenaDev / @phaticusthiccy", "license": "GPL-3.0-or-later", "bugs": { - "url": "https://github.com/phaticusthiccy/WhatsAsenaDuplicated/issues" + "url": "https://github.com/ChamodKeshan/WhatsAsenaDuplicated/issues" }, "homepage": "https://github.com/ChamodKeshan/Hashzi-1#readme", "dependencies": { From 86670b215298e8e3c53cb656eb1abd8f9f62fb55 Mon Sep 17 00:00:00 2001 From: ChamodKeshan <98629920+ChamodKeshan@users.noreply.github.com> Date: Mon, 14 Feb 2022 23:00:13 +0530 Subject: [PATCH 06/32] =?UTF-8?q?=F0=9F=92=9EValentine.update=F0=9F=92=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/Eva Artificial Intelligence.js | 365 ++++ plugins/QandA.js | 31 + plugins/XMedia.js | 2733 ++++++++++++++++++++++++ plugins/_asena.js | 229 ++ plugins/_plugin.js | 159 ++ plugins/adan.js | 38 + plugins/admin.js | 1566 ++++++++++++++ plugins/afk.js | 108 + plugins/anime.js | 194 ++ plugins/antiswitch.js | 100 + plugins/up_down.js | 20 + plugins/updater.js | 98 + plugins/updown.js | 529 +++++ plugins/web.js | 489 +++++ 14 files changed, 6659 insertions(+) create mode 100644 plugins/Eva Artificial Intelligence.js create mode 100644 plugins/QandA.js create mode 100644 plugins/XMedia.js create mode 100644 plugins/_asena.js create mode 100644 plugins/_plugin.js create mode 100644 plugins/adan.js create mode 100644 plugins/admin.js create mode 100644 plugins/afk.js create mode 100644 plugins/anime.js create mode 100644 plugins/antiswitch.js create mode 100644 plugins/up_down.js create mode 100644 plugins/updater.js create mode 100644 plugins/updown.js create mode 100644 plugins/web.js diff --git a/plugins/Eva Artificial Intelligence.js b/plugins/Eva Artificial Intelligence.js new file mode 100644 index 0000000..291cd28 --- /dev/null +++ b/plugins/Eva Artificial Intelligence.js @@ -0,0 +1,365 @@ +/* Codded by Phaticusthiccy + +Eva, The Phaticusthiccy's Multifunctional Artificial Intelligence + +Eva AI has more than 50 Gigabyte dataset which including neural calculator, +wikipedia data, sentiment analysis, Instagram workflow with neural cells. + +Thanks for Brainshop.ai for a rest connection with non-ethernet interaction +Eva database. + +Eva is a multimedia-powered artificial intelligence with its own virtual brain. +Brainshop.ai allow access to load all external conversation for train Neural cells, +from every user's historical conversations. + +Think twice about your choices about Eva. +May react differently in directed situations. This is completely natural and depends on users. +All message history with Eva is not exported to any 3rd applications. +Since Eva works entirely with deep learning, all responsibility belongs to the user. + +Arvix Articles About Eva's System: +>> https://arxiv.org/abs/2106.09461 +>> https://arxiv.org/abs/2102.00287 +>>https://arxiv.org/abs/2106.06157 + +Wikipedia Articles About Eva'a System: +>> https://en.m.wikipedia.org/wiki/Optical_character_recognition +>> https://en.m.wikipedia.org/wiki/Text_mining +>> https://en.m.wikipedia.org/wiki/Natural_language_processing + +*/ +// =================================================== +/* +Eva has never been connected to the internet previously. +The Brainshop.ai supports to javascript datasets, so thats way we cloned some datas from Eva to +Brainshop.ai. + +Therefore, 100% efficiency cannot be obtained from Eva Artificial Intelligence. +The voice recognition doesn't work with eva infrastructure. +We are using wit.ai's voice recognition for voicy conversation. +The all input datas must be english. We are using google translate before send users inputs. +*/ + + +const Asena = require('../events'); +const ffmpeg = require('fluent-ffmpeg'); +const fs = require('fs'); +const https = require('https'); +const googleTTS = require('google-translate-tts'); +const { MessageType, Mimetype, MessageOptions } = require('@adiwajshing/baileys'); +const Language = require('../language'); +const Lang = Language.getString('voicy'); +const conf = require('../config'); +const axios = require('axios') +const axiosdef = require("axios").default; +const os = require('os') +const translatte = require('translatte'); +const LanguageDetect = require('languagedetect'); +const lngDetector = new LanguageDetect(); +const Heroku = require('heroku-client'); +const heroku = new Heroku({ + token: conf.HEROKU.API_KEY +}); +let baseURI = '/apps/' + conf.HEROKU.APP_NAME; + +let wk = conf.WORKTYPE == 'public' ? false : true +var vtalk_dsc = '' +var reply_eva = '' +if (conf.LANG == 'TR') vtalk_dsc = 'Eva sesli sohbetini başlatır.', reply_eva = '*Herhangi Bir Sesli Mesaja Yanıt Verin!*' +if (conf.LANG == 'EN') vtalk_dsc = 'Starts to Eva voice chat.', reply_eva = '*Reply to Any Voice Message!*' +if (conf.LANG == 'AZ') vtalk_dsc = 'Eva səsli söhbətinə başlayır.', reply_eva = '*Hər hansı bir səsli mesaja cavab verin!*' +if (conf.LANG == 'PT') vtalk_dsc = 'Começa o bate-papo por voz de Eva.', reply_eva = '*Responder a qualquer mensagem de voz!*' +if (conf.LANG == 'RU') vtalk_dsc = 'Запускает голосовой чат Eva.', reply_eva = '*Ответьте на любое голосовое сообщение!*' +if (conf.LANG == 'HI') vtalk_dsc = 'Eva ध्वनि चैट प्रारंभ करता है', reply_eva = '*किसी भी ध्वनि संदेश का उत्तर दें!*' +if (conf.LANG == 'ES') vtalk_dsc = 'Comienza con el chat de voz de Eva.', reply_eva = '*¡Responde a cualquier mensaje de voz!*' +if (conf.LANG == 'ML') vtalk_dsc = 'Eva വോയ്‌സ് ചാറ്റിലേക്ക് ആരംഭിക്കുന്നു.', reply_eva = '*ഏത് വോയ്‌സ് സന്ദേശത്തിനും മറുപടി നൽകുക!*' +if (conf.LANG == 'ID') vtalk_dsc = 'Mulai obrolan suara Eva.', reply_eva = '*Balas Pesan Suara Apapun!*' + +const recognizeAudio = () => { + const headers = new Headers({ + 'Content-Type': 'audio/wav', + "Authorization": `Bearer ${conf.WITAI_API}`, + 'Cache-Control': 'no-cache', + 'Transfer-Encoding': 'chunked' + }) + const 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) +} +const convertToWav = file => { + return ffmpeg(file) + .audioCodec('pcm_s16le') + .format('wav') + .save('output.wav') +} + +Asena.addCommand({on: 'text', fromMe: wk, dontAddCommandList: true, deleteCommand: false}, (async (message, match) => { + if (message.message.startsWith('Eva') && conf.FULLEVA !== 'true') { + var unique_ident = message.client.user.jid.split('@')[0] + let acc = os.userInfo().homedir.split('Whats')[1].split('Duplicated/')[0] == 'Asena' ? '7d57838203msh0c5cf65c90a7231p13b461jsn77c8cfa55871' : '7d57838203msh0c582jak19865261js1229n77c8cfa55871' + let aitalk_mode = message.message.includes('{normal}') ? 'raw' : 'waifu' + var finm = message.message.replace('Eva', '').replace(' ', '') + var ainame = os.userInfo().homedir.split('Whats')[1].split('Duplicated/')[0] + if (ainame !== 'Asena') return; + var ldet = lngDetector.detect(finm) + var trmsg = '' + if (ldet[0][0] !== 'english') { + ceviri = await translatte(finm, {from: 'auto', to: 'EN'}); + if ('text' in ceviri) { + trmsg = ceviri.text + } + } else { trmsg = finm } + var uren = encodeURI(trmsg) + await axios.get('http://api.brainshop.ai/get?bid=157104&key=VzGieV1tp1IvxPl4&uid=' + unique_ident + '&msg=' + uren).then(async (response) => { + var fins = '' + if (conf.LANG !== 'EN') { + ceviri = await translatte(response.data.cnt, {from: 'auto', to: conf.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}) + }) + } +})); +Asena.addCommand({on: 'text', fromMe: false, deleteCommand: false}, (async (message, match) => { + if (conf.FULLEVA == 'true' && ((!message.jid.includes('-')) || (message.jid.includes('-') && + (( message.mention !== false && message.mention.length !== 0 ) || message.reply_message !== false)))) { + if (message.jid.includes('-') && (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] + let acc = os.userInfo().homedir.split('Whats')[1].split('Duplicated/')[0] == 'Asena' ? '7d57838203msh0c5cf65c90a7231p13b461jsn77c8cfa55871' : '7d57838203msh0c582jak19865261js1229n77c8cfa55871' + let aitalk_mode = message.message.includes('{normal}') ? 'raw' : 'waifu' + var ainame = os.userInfo().homedir.split('Whats')[1].split('Duplicated/')[0] + if (ainame !== 'Asena') return; + var finm = message.message + var ldet = lngDetector.detect(finm) + var trmsg = '' + if (ldet[0][0] !== 'english') { + ceviri = await translatte(finm, {from: 'auto', to: 'EN'}); + if ('text' in ceviri) { + trmsg = ceviri.text + } + } else { trmsg = finm } + var uren = encodeURI(trmsg) + await axios.get('http://api.brainshop.ai/get?bid=157104&key=VzGieV1tp1IvxPl4&uid=' + unique_ident + '&msg=' + uren).then(async (response) => { + var fins = '' + if (conf.LANG !== 'EN') { + ceviri = await translatte(response.data.cnt, {from: 'auto', to: conf.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('-') && 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] + let acc = os.userInfo().homedir.split('Whats')[1].split('Duplicated/')[0] == 'Asena' ? '7d57838203msh0c5cf65c90a7231p13b461jsn77c8cfa55871' : '7d57838203msh0c582jak19865261js1229n77c8cfa55871' + var ainame = os.userInfo().homedir.split('Whats')[1].split('Duplicated/')[0] + if (ainame !== 'Asena') return; + var finm = message.message + var ldet = lngDetector.detect(finm) + var trmsg = '' + if (ldet[0][0] !== 'english') { + ceviri = await translatte(finm, {from: 'auto', to: 'EN'}); + if ('text' in ceviri) { + trmsg = ceviri.text + } + } else { trmsg = finm } + var uren = encodeURI(trmsg) + await axios.get('http://api.brainshop.ai/get?bid=157104&key=VzGieV1tp1IvxPl4&uid=' + unique_ident + '&msg=' + uren).then(async (response) => { + var fins = '' + if (conf.LANG !== 'EN') { + ceviri = await translatte(response.data.cnt, {from: 'auto', to: conf.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] + let acc = os.userInfo().homedir.split('Whats')[1].split('Duplicated/')[0] == 'Asena' ? '7d57838203msh0c5cf65c90a7231p13b461jsn77c8cfa55871' : '7d57838203msh0c582jak19865261js1229n77c8cfa55871' + var ainame = os.userInfo().homedir.split('Whats')[1].split('Duplicated/')[0] + if (ainame !== 'Asena') return; + var finm = message.message + var ldet = lngDetector.detect(finm) + var trmsg = '' + if (ldet[0][0] !== 'english') { + ceviri = await translatte(finm, {from: 'auto', to: 'EN'}); + if ('text' in ceviri) { + trmsg = ceviri.text + } + } else { trmsg = finm } + var uren = encodeURI(trmsg) + await axios.get('http://api.brainshop.ai/get?bid=157104&key=VzGieV1tp1IvxPl4&uid=' + unique_ident + '&msg=' + uren).then(async (response) => { + var fins = '' + if (conf.LANG !== 'EN') { + ceviri = await translatte(response.data.cnt, {from: 'auto', to: conf.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}) + }) + } + } + +})); +Asena.addCommand({ pattern: 'vtalk$', desc: vtalk_dsc, fromMe: wk }, (async (message, match) => { + if (!message.reply_message) return await message.client.sendMessage(message.jid,reply_eva, MessageType.text, { quoted: message.data }) + try { + const 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 () => { + const 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] + let acc = os.userInfo().homedir.split('Whats')[1].split('Duplicated/')[0] == 'Asena' ? '7d57838203msh0c5cf65c90a7231p13b461jsn77c8cfa55871' : '7d57838203msh0c582jak19865261js1229n77c8cfa55871' + var ainame = os.userInfo().homedir.split('Whats')[1].split('Duplicated/')[0] + if (ainame !== 'Asena') return; + + var son = encodeURI(ssc) + await axios.get('http://api.brainshop.ai/get?bid=157104&key=VzGieV1tp1IvxPl4&uid=' + unique_ident + '&msg=' + son).then(async (response) => { + var trmsg = '' + cevir = await translatte(response.data.cnt, {from: 'auto', to: conf.LANG}); + if ('text' in cevir) { + trmsg = cevir.text + } + + let + LANG = conf.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) } +})); +var fulleva_dsc = '' +var already_on = '' +var already_off = '' +var succ_on = '' +var succ_off = '' +if (conf.LANG == 'TR') { + fulleva_dsc = 'Tam fonksiyonel Eva özelliklerini aktif eder. Hesabınızı bir chatbota dönüştürün!' + already_on = 'Eva yapay zekası halihazırda tüm fonksiyonları etkin.' + already_off = 'Eva yapay zekası halihazırda yarı fonksiyonel çalışıyor.' + succ_on = 'Eva, Tam Fonksiyonel Olarak Açıldı! Lütfen Biraz Bekleyin! ✅' + succ_off = 'Eva, Yarı Fonksiyonel Olarak Ayarlandı! Lütfen Biraz Bekleyin! ☑️' +} +if (conf.LANG == 'EN') { + fulleva_dsc = 'Activates full functional Eva features. Turn your account into a ai chatbot!' + already_on = 'Eva artificial intelligence is already fully functional.' + already_off = 'Eva artificial intelligence is currently running semi-functional.' + succ_on = 'Eva Opened Fully Functionally! Please wait a bit! ✅' + succ_off = 'Eva Set to Semi-Functional! Please wait a bit! ☑️' +} +if (conf.LANG == 'AZ') { + fulleva_dsc = 'Tam funksional Eva xüsusiyyətlərini aktivləşdirir. Hesabınızı bir chatbot halına gətirin!' + already_on = 'Eva süni intellekt onsuz da tam işlək vəziyyətdədir.' + already_off = 'Eva AI hazırda yarı funksionaldır.' + succ_on = 'Eva Tamamilə İşlədi! Xahiş edirəm bir az gözləyin! ✅' + succ_off = 'Eva Yarı İşləkdir! Xahiş edirəm bir az gözləyin! ☑️' +} +if (conf.LANG == 'RU') { + fulleva_dsc = 'Активирует полнофункциональные функции Eva. Превратите свой аккаунт в чат-бота!' + already_on = 'Искусственный интеллект Eva уже полностью функционален.' + already_off = 'Eva AI в настоящее время частично функционирует' + succ_on = 'Eva открылась полностью функционально! Подождите немного! ✅' + succ_off = 'Eva настроена на полуфункциональность! Подождите немного! ☑️' +} +if (conf.LANG == 'ES') { + fulleva_dsc = 'Activa todas las funciones funcionales de Eva. ¡Convierta su cuenta en un chatbot!' + already_on = 'La inteligencia artificial de Eva ya es completamente funcional.' + already_off = 'Eva AI es actualmente semi-funcional.' + succ_on = '¡Eva abrió completamente funcionalmente! ¡Por favor espere un poco! ✅' + succ_off = '¡Eva se pone semifuncional! ¡Por favor espere un poco! ☑️' +} +if (conf.LANG == 'HI') { + fulleva_dsc = 'पूरी तरह कार्यात्मक Eva सुविधाओं को सक्रिय करता है। अपने खाते को चैटबॉट में बदलें!' + already_on = 'ईवा आर्टिफिशियल इंटेलिजेंस पहले से ही पूरी तरह कार्यात्मक है' + already_off = 'ईवा एआई वर्तमान में अर्ध-कार्यात्मक है' + succ_on = 'ईवा पूरी तरह कार्यात्मक रूप से खुल गई! कृपया थोड़ी प्रतीक्षा करें! ✅' + succ_off = 'अर्ध-कार्यात्मक करने के लिए ईवा सेट! कृपया थोड़ी प्रतीक्षा करें! ☑️' +} +if (conf.LANG == 'ML') { + fulleva_dsc = 'പൂർണ്ണമായും പ്രവർത്തനക്ഷമമായ Eva സവിശേഷതകൾ സജീവമാക്കുന്നു. നിങ്ങളുടെ അക്കൗണ്ട് ഒരു ചാറ്റ്ബോട്ടാക്കി മാറ്റുക!' + already_on = 'ഇവ കൃത്രിമബുദ്ധി ഇതിനകം പൂർണ്ണമായി പ്രവർത്തിക്കുന്നു.' + already_off = 'ഇവാ AI നിലവിൽ സെമി-ഫംഗ്ഷണൽ ആണ്.' + succ_on = 'ഇവ പൂർണ്ണമായും പ്രവർത്തനക്ഷമമായി തുറന്നു! കുറച്ച് കാത്തിരിക്കൂ! ✅' + succ_off = 'സെമി-ഫങ്ഷണൽ ആയി ഇവാ സജ്ജമാക്കുക! കുറച്ച് കാത്തിരിക്കൂ! ☑️' +} +if (conf.LANG == 'PT') { + fulleva_dsc = 'Ativa recursos Eva totalmente funcionais. Transforme sua conta em um chatbot!' + already_on = 'A inteligência artificial Eva já está totalmente funcional.' + already_off = 'Eva AI está semi-funcional.' + succ_on = 'Eva abriu totalmente funcionalmente! Por favor espere um pouco! ✅' + succ_off = 'Eva definida como semi-funcional! Por favor espere um pouco! ☑️' +} +if (conf.LANG == 'ID') { + fulleva_dsc = 'Mengaktifkan fitur Eva yang berfungsi penuh. Ubah akun Anda menjadi chatbot!' + already_on = 'Kecerdasan buatan Eva sudah berfungsi penuh.' + already_off = 'Eva AI saat ini semi-fungsional.' + succ_on = 'Eva Dibuka Sepenuhnya Secara Fungsional! Harap tunggu sebentar! ✅' + succ_off = 'Eva Set ke Semi-Fungsional! Mohon tunggu sebentar! ☑️' +} + +Asena.addCommand({ pattern: 'fulleva ?(.*)', desc: fulleva_dsc, fromMe: true, usage: '.fulleva on / off' }, (async (message, match) => { + var eva_status = `${conf.FULLEVA}` + if (match[1] == 'on') { + if (eva_status == 'true') { + return await message.client.sendMessage(message.jid, '*' + already_on + '*', MessageType.text) + } + else { + await heroku.patch(baseURI + '/config-vars', { + body: { + ['FULL_EVA']: 'true' + } + }); + await message.client.sendMessage(message.jid, '*' + succ_on + '*', MessageType.text) + } + } + else if (match[1] == 'off') { + if (eva_status !== 'true') { + return await message.client.sendMessage(message.jid, '*' + already_off + '*', MessageType.text) + } + else { + await heroku.patch(baseURI + '/config-vars', { + body: { + ['FULL_EVA']: 'false' + } + }); + await message.client.sendMessage(message.jid, '*' + succ_off + '*', MessageType.text) + } + } +})); diff --git a/plugins/QandA.js b/plugins/QandA.js new file mode 100644 index 0000000..743be55 --- /dev/null +++ b/plugins/QandA.js @@ -0,0 +1,31 @@ +const Asena = require('../events'); +const {MessageType} = require('@adiwajshing/baileys'); +const axios = require('axios'); +const Config = require('../config'); + +// CMD_HELP +const brainly = "Finds the answer." +const usage = ".brainly " + +const butuh = "```Enter the Question!```" + +Asena.addCommand({ pattern: 'brainly ?(.*)', fromMe: false, desc: brainly, usage: usage }, async (message, match) => { + + const Soal = match[1] + + if (match[1] === '') return await message.client.sendMessage(message.jid, butuh, MessageType.text); + + await axios + .get(`https://api.xteam.xyz/brainly?APIKEY=10c4105200edc0f0&soal=${Soal}`) + .then(async (response) => { + const { + soal, + jawaban, + } = response.data + + const msg = `*Soal:* ${soal} +*Jawaban Brainly:* ${jawaban.replace(/1Question/g, '*(1) Question*').replace(/2Question/g, '*(2) Question*').replace(/3Question/g, '*(3) Question*').replace(/Answer/g, '*Answer*').replace(/Brainly Found/g, '')}` + await message.client.sendMessage(message.jid, msg, MessageType.text) + }) + }, + ) diff --git a/plugins/XMedia.js b/plugins/XMedia.js new file mode 100644 index 0000000..354a32f --- /dev/null +++ b/plugins/XMedia.js @@ -0,0 +1,2733 @@ +/* Codded by @phaticusthiccy +Telegram: t.me/phaticusthiccy +Instagram: www.instagram.com/kyrie.baran +*/ + +const Asena = require('../events'); +const {MessageType,Mimetype} = require('@adiwajshing/baileys'); +const fs = require('fs'); +const ffmpeg = require('fluent-ffmpeg'); +const {execFile} = require('child_process'); +const cwebp = require('cwebp-bin'); +const Config = require('../config'); + +const Language = require('../language'); +const Lang = Language.getString('conventer'); + +if (Config.WORKTYPE == 'private') { + + Asena.addCommand({pattern: 'pxmedia', fromMe: true, desc: Lang.XMEDİA_DESC}, (async (message, match) => { + + await message.sendMessage('\n ```XMEDIA COMMANDS ARE 👇``` \n\n ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​\n\n💻Usage: *.mp4enhance*\nℹ️Desc:Enhance video’s quality.\n\n💻Usage: *.interp*\nℹ️Desc:Increases the FPS of the video.\n\n💻Usage: *.mp4slowmo*\nℹ️Desc:Applies true-slowmo to non-slow motion videos.\n\n💻Usage: *.x4mp4*\nℹ️Desc:Reduce video’s quality by 75%.\n\n💻Usage: *.x2mp4*\nℹ️Desc: Reduce video’s quality by 50%.\n\n💻Usage: *.gif*\nℹ️Desc:Converts video to gif.\n\n💻Usage: *.agif*\nℹ️Desc:Converts video to voiced gif.\n\n💻Usage: *.mp4blur*\nℹ️Desc: Blurs the background of the video.\n\n💻Usage: *.mp4stab*\nℹ️Desc: Decreases the vibration of the video.\n\n💻Usage: *.mp4rainbow*\nℹ️Desc: Applies a rainbow effect to video.\n\n💻Usage: *.mp4color*\nℹ️Desc:Makes the colors of the video more vivid and beautiful.\n\n💻Usage: *.mp4art*\nℹ️Desc:Applies a art effect to the video.\n\n💻Usage: *.mp4negative*\nℹ️Desc:Applies a negative color filter to the video.\n\n💻Usage: *.mp4vintage*\nℹ️Desc:Applies a nostalgic effect to video.\n\n💻Usage: *.mp4bw*\nℹ️Desc: Applies a monochrome effect to video.\n\n💻Usage: *.mp4reverse*\nℹ️Desc: Plays the video in reverse.\n\n💻Usage: *.mp4edge*\nℹ️Desc:Applies a edge effect to the video.\n\n💻Usage: *.mp4image*\nℹ️Desc: Converts photo to 5 sec video.\n\n💻Usage: *.spectrum*\nℹ️Desc: Converts the spectrum of sound into video.\n\n💻Usage: *.waves*\nℹ️Desc: Converts the wave range of sound to video.\n\n💻Usage: *.frequency*\nℹ️Desc: Converts the frequency range of sound to video.\n\n💻Usage: *.avec*\nℹ️Desc: Converts the histogram of sound to video.\n\n💻Usage: *.volumeaudio*\nℹ️Desc: Converts the decibel value of the sound into video.\n\n💻Usage: *.cqtaudio*\nℹ️Desc: Converts the CQT value of audio to video.\n\n💻Usage: *.mp3eq*\nℹ️Desc: Adjusts the sound to a crystal clear level.\n\n💻Usage: *.mp3crusher*\nℹ️Desc:Distorts the sound, makes ridiculous.\n\n💻Usage: *.mp3reverse*\nℹ️Desc:Plays the sound in reverse.\n\n💻Usage: *.mp3pitch*\nℹ️Desc:Makes the sound thinner and faster.\n\n💻Usage *.mp3low*\nℹ️Desc:Makes the sound deep and slower.\n\n💻Usage: *.x2mp3*\nℹ️Desc: Makes the sound twice as fast.\n\n💻Usage: *.mp3volume*\nℹ️Desc: 🇹🇷 Ses seviyesini fazalca arttırır.\n🇬🇧 Increase sound level so much.\n\n💻Usage: *.bwimage*\nℹ️Desc: 🇹🇷 Fotoğrafa monochrome efekti uygular.\n🇬🇧 Applies a monochrome effect to image.\n\n💻Usage: *.vintageimage*\nℹ️Desc: 🇹🇷 Fotoğrafa vintage efekti uygular.\n🇬🇧 Applies a vinatge effect to video.\n\n💻Usage: *.edgeimage*\nℹ️Desc: 🇹🇷 Fotoğrafa edge efekti uygular.\n🇬🇧 Applies a edge effect to the photo.\n\n💻Usage: *.enhanceimage*\nℹ️Desc: 🇹🇷 Fotoğrafı daha net hale getirir.\n🇬🇧 Makes the photo clearer.\n\n💻Usage: *.blurimage*\nℹ️Desc: 🇹🇷 Fotoğrafın arka planını bulanıklaştırır.\n🇬🇧 Blurs the background of the photo.\n\n💻Usage: *.grenimage*\nℹ️Desc: 🇹🇷 Fotoğrafa gren efekti uygular.\n🇬🇧 Applies grain effect to the photo.\n\n💻Usage: *.negativeimage*\nℹ️Desc: 🇹🇷 Fotoğrafa negatif renk filtresi uygular.\n🇬🇧 Applies a negative color filter to the photo.\n\n💻Usage: *.rainbowimage*\nℹ️Desc: 🇹🇷 Fotoğrafa gökkuşağı efekti uygular.\n🇬🇧 Applies rainbow effect to the photo.\n\n💻Usage: *.colorimage*\nℹ️Desc: 🇹🇷 Fotoğrafın renklerini daha canlı ve çekici yapar.\n🇬🇧 It makes the colors of the photo more vivid and attractive.\n\n💻Usage: *.artimage*\nℹ️Desc: 🇹🇷 Fotoğrafa çizim efekti uygular.\n🇬🇧 Applies a art effect to the photo.'); + + })); + Asena.addCommand({pattern: 'ownercmnd', fromMe: true, desc: 'set of commands for bot user or sudo'}, (async (message, match) => { + + await message.sendMessage('\n ``` BOT OWNER COMMANDS ARE 👇``` \n\n ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​\n\n🦠 Command: !install\n📍 Description: Install external plugins.\n\n🦠 Command: !plugin\n📍 Description: Shows the plugins you have installed.\n\n🦠 Command: !remove\n📍 Description: Removes the plugin.\n\n🦠 Command: !ban\n📍 Description: Ban someone in the group. Reply to message or tag a person to use command.\n\n🦠 Command: !add\n📍 Description: Adds someone to the group.\n\n🦠 Command: !promote\n📍 Description: Makes any person an admin.\n\n🦠 Command: !demote\n📍 Description: Takes the authority of any admin.\n\n🦠 Command: !mute\n📍 Description: Mute the group chat. Only the admins can send a message.\n\n🦠 Command: !unmute\n📍 Description: Unmute the group chat. Anyone can send a message.\n\n🦠 Command: !invite\n📍 Description: Provides the groups invitation link.\n\n🦠 Command: !afk\n📍 Description: It makes you AFK - Away From Keyboard.\n\n🦠 Command: !del\n📍 Description: Deletes The Replied Message Send By The Bot [ ✅ Official External Plugin ]\n\n🦠 Command: !justspam\n📍 Description: spam the sticker you replyed.\n\n🦠 Command: !welcome\n📍 Description: It sets the welcome message. If you leave it blank it shows the welcome message.\n\n🦠 Command: !goodbye\n📍 Description: Sets the goodbye message. If you leave blank, it shows the goodbye message\n\n🦠 Command: !phelp\n📍 Description: Gives information about using the bot from the Help menu.\n\n🦠 Command: !degis\n\n🦠 Command: !restart\n📍 Description: Restart pinky\n\n🦠 Command: !shutdown\n📍 Description: Shutdown pinky\n\n🦠 Command: !dyno\n📍 Description: Check heroku dyno usage\n\n🦠 Command: !setvar\n📍 Description: Set heroku config var\n\n🦠 Command: !delvar\n📍 Description: Delete heroku config var\n\n🦠 Command: !getvar\n📍 Description: Get heroku config var\n\n🦠 Command: !leave\n📍 Description: It kicks you from the group you are using it in.\n\n🦠 Command: !pp\n📍 Description: Makes the profile photo what photo you reply.\n\n🦠 Command: !block\n📍 Description: Block user.\n\n🦠 Command: !unblock\n📍 Description: Unblock user.\n\n🦠 Command: !jid\n📍 Description: Giving users JID.\n\n🦠 Command: !scam\n📍 Description: Creates 5 minutes of fake actions.\n\n🦠 Command: !spam\\n📍 Description: It spam until you stop it.\n⌨️ Example: .spam test\n\n🦠 Command: !filtre\n📍 Description: add filtre in chats\neg: .filter "input" "output"\n\n🦠 Command: !tagall\n📍 Description: Tags everyone in the group.\n\n🦠 Command: !stam\n📍 Description: sends the replyed messages to all the members in the group \n\n🦠 Command: !update\n📍 Description: Checks the update.\n\n🦠 Command: update now\n📍 Description: It makes updates.'); + + })); + + Asena.addCommand({pattern: 'codtts', fromMe: false, desc: 'language code to change the voice in .tts & also for .trt translation'}, (async (message, match) => { + + await message.sendMessage('\n https://drive.google.com/file/d/1r4l7QcdEiu9wAOgqxTGB6KWBVsg_U1cu/view?usp=drivesdk \n'); + + })); + + Asena.addCommand({pattern: 'px4mp4', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + if (!message.reply_message.video) 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: 'HERE IT IS'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'px2mp4', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + if (!message.reply_message.video) 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: 'HERE IT IS'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pmp4image', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + if (!message.reply_message.image) 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: 'HERE IT IS'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pspectrum', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + if (!message.reply_message) 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: 'HERE IT IS'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pwaves', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + if (!message.reply_message) 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: 'PLK'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pfrequency', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + if (!message.reply_message) 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: 'HERE IT IS'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pavec', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + if (!message.reply_message) 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: 'HERE IT IS'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pvolumeaudio', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + if (!message.reply_message) 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: 'PLK'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pcqtaudio', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + if (!message.reply_message) 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: 'HERE IT IS'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pmp3eq', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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}) + })); + + Asena.addCommand({pattern: 'pmp3crusher', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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}) + })); + + Asena.addCommand({pattern: 'pmp3reverse', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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}) + })); + + Asena.addCommand({pattern: 'pmp4vintage', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pmp4reverse', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pmp4bw', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pbwimage', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pvintageimage', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pmp4enhance', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pblurimage', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pmp4blur', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pmp3pitch', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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}) + })); + + Asena.addCommand({pattern: 'pmp4edge', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pmp3low', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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}) + })); + + Asena.addCommand({pattern: 'px2mp3', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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}) + })); + + Asena.addCommand({pattern: 'pedgeimage', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'penhanceimage', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pmp3volume', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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}) + })); + + Asena.addCommand({pattern: 'pgif', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pagif', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pgrenimage', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pinterp ?(.*)', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + if (!message.reply_message.video) return await message.sendMessage('*Need Video and FPS Value!*\nEx: ```.interp 100```'); + if (message.reply_message.video && match[1] <= 10) return await message.sendMessage('*Low FPS Value ⚠️*\n*Please, type over 10*'); + if (message.reply_message.video && match[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=${match[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: `Made by WhatsAsena\n_Interpolated to ${match[1]} FPS_`}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'prainbowimage', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pmp4rainbow', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pnegativeimage', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pmp4negative', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pmp4art', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'partimage', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pmp4stab', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pmp4color', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pcolorimage', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'pmp4slowmo', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + if (!message.reply_message.video) 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 by PLK'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); +} +else if (Config.WORKTYPE == 'public') { + + Asena.addCommand({pattern: 'xmedia', fromMe: false, desc: Lang.XMEDİA_DESC}, (async (message, match) => { + + await message.sendMessage('\n ```XMEDIA COMMANDS ARE 👇``` \n\n ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​\n\n💻Usage: *.mp4enhance*\nℹ️Desc:Enhance video’s quality.\n\n💻Usage: *.interp*\nℹ️Desc:Increases the FPS of the video.\n\n💻Usage: *.mp4slowmo*\nℹ️Desc:Applies true-slowmo to non-slow motion videos.\n\n💻Usage: *.x4mp4*\nℹ️Desc:Reduce video’s quality by 75%.\n\n💻Usage: *.x2mp4*\nℹ️Desc: Reduce video’s quality by 50%.\n\n💻Usage: *.gif*\nℹ️Desc:Converts video to gif.\n\n💻Usage: *.agif*\nℹ️Desc:Converts video to voiced gif.\n\n💻Usage: *.mp4blur*\nℹ️Desc: Blurs the background of the video.\n\n💻Usage: *.mp4stab*\nℹ️Desc: Decreases the vibration of the video.\n\n💻Usage: *.mp4rainbow*\nℹ️Desc: Applies a rainbow effect to video.\n\n💻Usage: *.mp4color*\nℹ️Desc:Makes the colors of the video more vivid and beautiful.\n\n💻Usage: *.mp4art*\nℹ️Desc:Applies a art effect to the video.\n\n💻Usage: *.mp4negative*\nℹ️Desc:Applies a negative color filter to the video.\n\n💻Usage: *.mp4vintage*\nℹ️Desc:Applies a nostalgic effect to video.\n\n💻Usage: *.mp4bw*\nℹ️Desc: Applies a monochrome effect to video.\n\n💻Usage: *.mp4reverse*\nℹ️Desc: Plays the video in reverse.\n\n💻Usage: *.mp4edge*\nℹ️Desc:Applies a edge effect to the video.\n\n💻Usage: *.mp4image*\nℹ️Desc: Converts photo to 5 sec video.\n\n💻Usage: *.spectrum*\nℹ️Desc: Converts the spectrum of sound into video.\n\n💻Usage: *.waves*\nℹ️Desc: Converts the wave range of sound to video.\n\n💻Usage: *.frequency*\nℹ️Desc: Converts the frequency range of sound to video.\n\n💻Usage: *.avec*\nℹ️Desc: Converts the histogram of sound to video.\n\n💻Usage: *.volumeaudio*\nℹ️Desc: Converts the decibel value of the sound into video.\n\n💻Usage: *.cqtaudio*\nℹ️Desc: Converts the CQT value of audio to video.\n\n💻Usage: *.mp3eq*\nℹ️Desc: Adjusts the sound to a crystal clear level.\n\n💻Usage: *.mp3crusher*\nℹ️Desc:Distorts the sound, makes ridiculous.\n\n💻Usage: *.mp3reverse*\nℹ️Desc:Plays the sound in reverse.\n\n💻Usage: *.mp3pitch*\nℹ️Desc:Makes the sound thinner and faster.\n\n💻Usage *.mp3low*\nℹ️Desc:Makes the sound deep and slower.\n\n💻Usage: *.x2mp3*\nℹ️Desc: Makes the sound twice as fast.\n\n💻Usage: *.mp3volume*\nℹ️Desc: 🇹🇷 Ses seviyesini fazalca arttırır.\n🇬🇧 Increase sound level so much.\n\n💻Usage: *.bwimage*\nℹ️Desc: 🇹🇷 Fotoğrafa monochrome efekti uygular.\n🇬🇧 Applies a monochrome effect to image.\n\n💻Usage: *.vintageimage*\nℹ️Desc: 🇹🇷 Fotoğrafa vintage efekti uygular.\n🇬🇧 Applies a vinatge effect to video.\n\n💻Usage: *.edgeimage*\nℹ️Desc: 🇹🇷 Fotoğrafa edge efekti uygular.\n🇬🇧 Applies a edge effect to the photo.\n\n💻Usage: *.enhanceimage*\nℹ️Desc: 🇹🇷 Fotoğrafı daha net hale getirir.\n🇬🇧 Makes the photo clearer.\n\n💻Usage: *.blurimage*\nℹ️Desc: 🇹🇷 Fotoğrafın arka planını bulanıklaştırır.\n🇬🇧 Blurs the background of the photo.\n\n💻Usage: *.grenimage*\nℹ️Desc: 🇹🇷 Fotoğrafa gren efekti uygular.\n🇬🇧 Applies grain effect to the photo.\n\n💻Usage: *.negativeimage*\nℹ️Desc: 🇹🇷 Fotoğrafa negatif renk filtresi uygular.\n🇬🇧 Applies a negative color filter to the photo.\n\n💻Usage: *.rainbowimage*\nℹ️Desc: 🇹🇷 Fotoğrafa gökkuşağı efekti uygular.\n🇬🇧 Applies rainbow effect to the photo.\n\n💻Usage: *.colorimage*\nℹ️Desc: 🇹🇷 Fotoğrafın renklerini daha canlı ve çekici yapar.\n🇬🇧 It makes the colors of the photo more vivid and attractive.\n\n💻Usage: *.artimage*\nℹ️Desc: 🇹🇷 Fotoğrafa çizim efekti uygular.\n🇬🇧 Applies a art effect to the photo.'); + + })); + + Asena.addCommand({pattern: 'ownercmnd', fromMe: true, desc: 'set of commands for bot user or sudo'}, (async (message, match) => { + + await message.sendMessage('\n ``` BOT OWNER COMMANDS ARE 👇``` \n\n ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​\n\n🦠 Command: !install\n📍 Description: Install external plugins.\n\n🦠 Command: !plugin\n📍 Description: Shows the plugins you have installed.\n\n🦠 Command: !remove\n📍 Description: Removes the plugin.\n\n🦠 Command: !ban\n📍 Description: Ban someone in the group. Reply to message or tag a person to use command.\n\n🦠 Command: !add\n📍 Description: Adds someone to the group.\n\n🦠 Command: !promote\n📍 Description: Makes any person an admin.\n\n🦠 Command: !demote\n📍 Description: Takes the authority of any admin.\n\n🦠 Command: !mute\n📍 Description: Mute the group chat. Only the admins can send a message.\n\n🦠 Command: !unmute\n📍 Description: Unmute the group chat. Anyone can send a message.\n\n🦠 Command: !invite\n📍 Description: Provides the groups invitation link.\n\n🦠 Command: !afk\n📍 Description: It makes you AFK - Away From Keyboard.\n\n🦠 Command: !del\n📍 Description: Deletes The Replied Message Send By The Bot [ ✅ Official External Plugin ]\n\n🦠 Command: !justspam\n📍 Description: spam the sticker you replyed.\n\n🦠 Command: !welcome\n📍 Description: It sets the welcome message. If you leave it blank it shows the welcome message.\n\n🦠 Command: !goodbye\n📍 Description: Sets the goodbye message. If you leave blank, it shows the goodbye message\n\n🦠 Command: !phelp\n📍 Description: Gives information about using the bot from the Help menu.\n\n🦠 Command: !degis\n\n🦠 Command: !restart\n📍 Description: Restart pinky\n\n🦠 Command: !shutdown\n📍 Description: Shutdown pinky\n\n🦠 Command: !dyno\n📍 Description: Check heroku dyno usage\n\n🦠 Command: !setvar\n📍 Description: Set heroku config var\n\n🦠 Command: !delvar\n📍 Description: Delete heroku config var\n\n🦠 Command: !getvar\n📍 Description: Get heroku config var\n\n🦠 Command: !leave\n📍 Description: It kicks you from the group you are using it in.\n\n🦠 Command: !pp\n📍 Description: Makes the profile photo what photo you reply.\n\n🦠 Command: !block\n📍 Description: Block user.\n\n🦠 Command: !unblock\n📍 Description: Unblock user.\n\n🦠 Command: !jid\n📍 Description: Giving users JID.\n\n🦠 Command: !scam\n📍 Description: Creates 5 minutes of fake actions.\n\n🦠 Command: !spam\\n📍 Description: It spam until you stop it.\n⌨️ Example: .spam test\n\n🦠 Command: !filtre\n📍 Description: add filtre in chats\neg: .filter "input" "output"\n\n🦠 Command: !tagall\n📍 Description: Tags everyone in the group.\n\n🦠 Command: !stam\n📍 Description: sends the replyed messages to all the members in the group \n\n🦠 Command: !update\n📍 Description: Checks the update.\n\n🦠 Command: update now\n📍 Description: It makes updates.'); + + })); + + Asena.addCommand({pattern: 'codtts', fromMe: false, desc: 'language code to change the voice in .tts & also for .trt translation'}, (async (message, match) => { + + await message.sendMessage('\n https://drive.google.com/file/d/1r4l7QcdEiu9wAOgqxTGB6KWBVsg_U1cu/view?usp=drivesdk \n'); + + })); + + Asena.addCommand({pattern: 'x4mp4', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'x2mp4', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp4image', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'spectrum', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'waves', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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: 'PLK'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'frequency', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'avec', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'volumeaudio', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'cqtaudio', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp3eq', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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}) + })); + + Asena.addCommand({pattern: 'mp3crusher', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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}) + })); + + Asena.addCommand({pattern: 'mp3reverse', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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}) + })); + + Asena.addCommand({pattern: 'mp4vintage', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp4reverse', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp4bw', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'bwimage', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'vintageimage', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp4enhance', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'blurimage', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp4blur', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp3pitch', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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}) + })); + + Asena.addCommand({pattern: 'mp4edge', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp3low', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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}) + })); + + Asena.addCommand({pattern: 'x2mp3', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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}) + })); + + Asena.addCommand({pattern: 'edgeimage', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'enhanceimage', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp3volume', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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}) + })); + + Asena.addCommand({pattern: 'gif', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'agif', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'grenimage', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'interp ?(.*)', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + if (!message.reply_message.video) return await message.sendMessage('*Need Video and FPS Value!*\nEx: ```.interp 100```'); + if (message.reply_message.video && match[1] <= 10) return await message.sendMessage('*Low FPS Value ⚠️*\n*Please, type over 10*'); + if (message.reply_message.video && match[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=${match[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: `Made by WhatsAsena\n_Interpolated to ${match[1]} FPS_`}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'rainbowimage', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp4rainbow', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'negativeimage', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp4negative', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp4art', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'artimage', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp4stab', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp4color', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'colorimage', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp4slowmo', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + 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 by PLK'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + Asena.addCommand({pattern: 'xmedia', fromMe: true, desc: Lang.XMEDİA_DESC, dontAddCommandList: true}, (async (message, match) => { + + await message.sendMessage('\n ```XMEDIA COMMANDS ARE 👇``` \n\n ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​\n\n💻Usage: *.mp4enhance*\nℹ️Desc:Enhance video’s quality.\n\n💻Usage: *.interp*\nℹ️Desc:Increases the FPS of the video.\n\n💻Usage: *.mp4slowmo*\nℹ️Desc:Applies true-slowmo to non-slow motion videos.\n\n💻Usage: *.x4mp4*\nℹ️Desc:Reduce video’s quality by 75%.\n\n💻Usage: *.x2mp4*\nℹ️Desc: Reduce video’s quality by 50%.\n\n💻Usage: *.gif*\nℹ️Desc:Converts video to gif.\n\n💻Usage: *.agif*\nℹ️Desc:Converts video to voiced gif.\n\n💻Usage: *.mp4blur*\nℹ️Desc: Blurs the background of the video.\n\n💻Usage: *.mp4stab*\nℹ️Desc: Decreases the vibration of the video.\n\n💻Usage: *.mp4rainbow*\nℹ️Desc: Applies a rainbow effect to video.\n\n💻Usage: *.mp4color*\nℹ️Desc:Makes the colors of the video more vivid and beautiful.\n\n💻Usage: *.mp4art*\nℹ️Desc:Applies a art effect to the video.\n\n💻Usage: *.mp4negative*\nℹ️Desc:Applies a negative color filter to the video.\n\n💻Usage: *.mp4vintage*\nℹ️Desc:Applies a nostalgic effect to video.\n\n💻Usage: *.mp4bw*\nℹ️Desc: Applies a monochrome effect to video.\n\n💻Usage: *.mp4reverse*\nℹ️Desc: Plays the video in reverse.\n\n💻Usage: *.mp4edge*\nℹ️Desc:Applies a edge effect to the video.\n\n💻Usage: *.mp4image*\nℹ️Desc: Converts photo to 5 sec video.\n\n💻Usage: *.spectrum*\nℹ️Desc: Converts the spectrum of sound into video.\n\n💻Usage: *.waves*\nℹ️Desc: Converts the wave range of sound to video.\n\n💻Usage: *.frequency*\nℹ️Desc: Converts the frequency range of sound to video.\n\n💻Usage: *.avec*\nℹ️Desc: Converts the histogram of sound to video.\n\n💻Usage: *.volumeaudio*\nℹ️Desc: Converts the decibel value of the sound into video.\n\n💻Usage: *.cqtaudio*\nℹ️Desc: Converts the CQT value of audio to video.\n\n💻Usage: *.mp3eq*\nℹ️Desc: Adjusts the sound to a crystal clear level.\n\n💻Usage: *.mp3crusher*\nℹ️Desc:Distorts the sound, makes ridiculous.\n\n💻Usage: *.mp3reverse*\nℹ️Desc:Plays the sound in reverse.\n\n💻Usage: *.mp3pitch*\nℹ️Desc:Makes the sound thinner and faster.\n\n💻Usage *.mp3low*\nℹ️Desc:Makes the sound deep and slower.\n\n💻Usage: *.x2mp3*\nℹ️Desc: Makes the sound twice as fast.\n\n💻Usage: *.mp3volume*\nℹ️Desc: 🇹🇷 Ses seviyesini fazalca arttırır.\n🇬🇧 Increase sound level so much.\n\n💻Usage: *.bwimage*\nℹ️Desc: 🇹🇷 Fotoğrafa monochrome efekti uygular.\n🇬🇧 Applies a monochrome effect to image.\n\n💻Usage: *.vintageimage*\nℹ️Desc: 🇹🇷 Fotoğrafa vintage efekti uygular.\n🇬🇧 Applies a vinatge effect to video.\n\n💻Usage: *.edgeimage*\nℹ️Desc: 🇹🇷 Fotoğrafa edge efekti uygular.\n🇬🇧 Applies a edge effect to the photo.\n\n💻Usage: *.enhanceimage*\nℹ️Desc: 🇹🇷 Fotoğrafı daha net hale getirir.\n🇬🇧 Makes the photo clearer.\n\n💻Usage: *.blurimage*\nℹ️Desc: 🇹🇷 Fotoğrafın arka planını bulanıklaştırır.\n🇬🇧 Blurs the background of the photo.\n\n💻Usage: *.grenimage*\nℹ️Desc: 🇹🇷 Fotoğrafa gren efekti uygular.\n🇬🇧 Applies grain effect to the photo.\n\n💻Usage: *.negativeimage*\nℹ️Desc: 🇹🇷 Fotoğrafa negatif renk filtresi uygular.\n🇬🇧 Applies a negative color filter to the photo.\n\n💻Usage: *.rainbowimage*\nℹ️Desc: 🇹🇷 Fotoğrafa gökkuşağı efekti uygular.\n🇬🇧 Applies rainbow effect to the photo.\n\n💻Usage: *.colorimage*\nℹ️Desc: 🇹🇷 Fotoğrafın renklerini daha canlı ve çekici yapar.\n🇬🇧 It makes the colors of the photo more vivid and attractive.\n\n💻Usage: *.artimage*\nℹ️Desc: 🇹🇷 Fotoğrafa çizim efekti uygular.\n🇬🇧 Applies a art effect to the photo.'); + + })); + + Asena.addCommand({pattern: 'x4mp4', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + if (!message.reply_message.video) 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'x2mp4', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + if (!message.reply_message.video) 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp4image', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + if (!message.reply_message.image) 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'spectrum', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + if (!message.reply_message) 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'waves', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + if (!message.reply_message) 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'frequency', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + if (!message.reply_message) 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'avec', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + if (!message.reply_message) 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'volumeaudio', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + if (!message.reply_message) 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'cqtaudio', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + if (!message.reply_message) 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp3eq', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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}) + })); + + Asena.addCommand({pattern: 'mp3crusher', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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}) + })); + + Asena.addCommand({pattern: 'mp3reverse', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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}) + })); + + Asena.addCommand({pattern: 'mp4vintage', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp4reverse', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp4bw', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'bwimage', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'vintageimage', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp4enhance', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'blurimage', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp4blur', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp3pitch', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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}) + })); + + Asena.addCommand({pattern: 'mp4edge', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp3low', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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}) + })); + + Asena.addCommand({pattern: 'x2mp3', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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}) + })); + + Asena.addCommand({pattern: 'edgeimage', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'enhanceimage', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp3volume', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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}) + })); + + Asena.addCommand({pattern: 'gif', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'agif', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'grenimage', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'interp ?(.*)', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + if (!message.reply_message.video) return await message.sendMessage('*Need Video and FPS Value!*\nEx: ```.interp 100```'); + if (message.reply_message.video && match[1] <= 10) return await message.sendMessage('*Low FPS Value ⚠️*\n*Please, type over 10*'); + if (message.reply_message.video && match[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=${match[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: `Made by PLK\n_Interpolated to ${match[1]} FPS_`}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'rainbowimage', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp4rainbow', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'negativeimage', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp4negative', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp4art', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'artimage', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp4stab', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp4color', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'colorimage', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + 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 message.sendMessage(fs.readFileSync('output.jpg'), MessageType.image, {mimetype: Mimetype.jpg, caption: 'HERE IT IS 🥰'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); + + Asena.addCommand({pattern: 'mp4slowmo', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + if (!message.reply_message.video) 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 by PLK'}); + }); + return await message.client.deleteMessage(message.jid, {id: downloading.key.id, remoteJid: message.jid, fromMe: true}) + })); +} diff --git a/plugins/_asena.js b/plugins/_asena.js new file mode 100644 index 0000000..02e9585 --- /dev/null +++ b/plugins/_asena.js @@ -0,0 +1,229 @@ +/* Copyright (C) 2021 vishnu prasad +Licensed under the GPL-3.0 License; +you may not use this file except in compliance with the License. +WhatsAsena - Yusuf Usta +*/ + +const Asena = require('../events'); +const Config = require('../config'); +const {MessageType} = require('@adiwajshing/baileys'); + +const Language = require('../language'); +const Lang = Language.getString('_asena'); + +if (Config.WORKTYPE == 'private') { + + Asena.addCommand({pattern: 'alexa ?(.*)', fromMe: true, dontAddCommandList: true}, (async (message, match) => { + + var CMD_HELP = ''; + if (match[1] === '') { + Asena.commands.map( + async (command) => { + if (command.dontAddCommandList || command.pattern === undefined) return; + try { + var match = command.pattern.toString().match(/(\W*)([A-Za-zğüşıiöç1234567890 ]*)/); + var mmatch = command.pattern.toString().match(/(\W*)([A-Za-züşiğ öç1234567890]*)/)[2] + } catch { + var match = [command.pattern]; + } + + var HANDLER = ''; + + if (/\[(\W*)\]/.test(Config.HANDLERS)) { + HANDLER = Config.HANDLERS.match(/\[(\W*)\]/)[1][0]; + } else { + HANDLER = '.'; + } + if (command.desc == '' && !command.usage == '' && command.warn == '') { + CMD_HELP += '*🧩 ' + Lang.COMMAND + ':* ```' + (match.length >= 3 ? (HANDLER + mmatch) : command.pattern) + '```\n' + '*❄ ' + Lang.EXAMPLE + ':* ```' + command.usage + '```\n\n'; + } + if (!command.desc == '' && command.usage == '' && command.warn == '') { + CMD_HELP += '*🧩 ' + Lang.COMMAND + ':* ```' + (match.length >= 3 ? (HANDLER + mmatch) : command.pattern) + '```\n' + '*🎯 ' + Lang.DESC + ':* ```' + command.desc + '``` \n\n'; + } + if (command.desc == '' && command.usage == '' && !command.warn == '') { + CMD_HELP += '*🧩 ' + Lang.COMMAND + ':* ```' + (match.length >= 3 ? (HANDLER + mmatch) : command.pattern) + '```\n' + '*⚠️ ' + Lang.WARN + ':* ```' + command.warn + '```\n\n' + } + if (!command.desc == '' && !command.usage == '' && command.warn == '') { + CMD_HELP += '*🧩 ' + Lang.COMMAND + ':* ```' + (match.length >= 3 ? (HANDLER + mmatch) : command.pattern) + '```\n' + '*🎯 ' + Lang.DESC + ':* ```' + command.desc + '``` \n' + '*⌨️ ' + Lang.EXAMPLE + ':* ```' + command.usage + '```\n\n'; + } + if (!command.desc == '' && command.usage == '' && !command.warn == '') { + CMD_HELP += '*🧩 ' + Lang.COMMAND + ':* ```' + (match.length >= 3 ? (HANDLER + mmatch) : command.pattern) + '```\n' + '*🎯 ' + Lang.DESC + ':* ```' + command.desc + '``` \n' + '*⚠️ ' + Lang.WARN + ':* ```' + command.warn + '```\n\n' + } + if (command.desc == '' && !command.usage == '' && !command.warn == '') { + CMD_HELP += '*🧩 ' + Lang.COMMAND + ':* ```' + (match.length >= 3 ? (HANDLER + mmatch) : command.pattern) + '```\n' + '*❄ ' + Lang.EXAMPLE + ':* ```' + command.usage + '```\n' + '*⚠️ ' + Lang.WARN + ':* ```' + command.warn + '```\n\n' + } + if (command.desc == '' && command.usage == '' && command.warn == '') { + CMD_HELP += '*🧩 ' + Lang.COMMAND + ':* ```' + (match.length >= 3 ? (HANDLER + mmatch) : command.pattern) + '```\n\n' + } + if (!command.desc == '' && !command.usage == '' && !command.warn == '') { + CMD_HELP += '*🧩 ' + Lang.COMMAND + ':* ```' + (match.length >= 3 ? (HANDLER + mmatch) : command.pattern) + '```\n' + '*🎯 ' + Lang.DESC + ':* ```' + command.desc + '``` \n' + '*⌨️ ' + Lang.EXAMPLE + ':* ```' + command.usage + '```\n' + '*⚠️ ' + Lang.WARN + ':* ```' + command.warn + '```\n\n' + } + } + ); + await message.client.sendMessage( + message.jid,' ●▬▬▬ *BlackPanther Private* ▬▬▬●\n\n \n\n ```insta & fb command under maintenance``` \n\n ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ \n' + CMD_HELP, MessageType.text,{quoted: message.data} + ); + } else { + var CMD_HELP = ''; + Asena.commands.map( + async (command) => { + if (command.dontAddCommandList || command.pattern === undefined) return; + try { + var cmatch = command.pattern.toString().match(/(\W*)([A-Za-zğüşıiöç1234567890 ]*)/); + var cmmatch = command.pattern.toString().match(/(\W*)([A-Za-züşiğ öç1234567890]*)/)[2] + } catch { + var cmatch = [command.pattern]; + } + if (cmmatch.endsWith(' ')) { + var cmmatch = command.pattern.toString().match(/(\W*)([A-Za-züşiğ öç1234567890]*)/)[2].replace(' ', '') + } + if (cmmatch == match[1]) { + var HANDLER = ''; + + if (/\[(\W*)\]/.test(Config.HANDLERS)) { + HANDLER = Config.HANDLERS.match(/\[(\W*)\]/)[1][0]; + } else { + HANDLER = '.'; + } + if (command.desc == '' && !command.usage == '' && command.warn == '') { + CMD_HELP += '*🧩 ' + Lang.COMMAND + ':* ```' + (cmatch.length >= 3 ? (HANDLER + cmmatch) : command.pattern) + '```\n' + '*❄ ' + Lang.EXAMPLE + ':* ```' + command.usage + '```\n\n'; + } + if (!command.desc == '' && command.usage == '' && command.warn == '') { + CMD_HELP += '*🧩 ' + Lang.COMMAND + ':* ```' + (cmatch.length >= 3 ? (HANDLER + cmmatch) : command.pattern) + '```\n' + '*🎯 ' + Lang.DESC + ':* ```' + command.desc + '``` \n\n'; + } + if (command.desc == '' && command.usage == '' && !command.warn == '') { + CMD_HELP += '*🧩 ' + Lang.COMMAND + ':* ```' + (cmatch.length >= 3 ? (HANDLER + cmmatch) : command.pattern) + '```\n' + '*⚠️ ' + Lang.WARN + ':* ```' + command.warn + '```\n\n' + } + if (!command.desc == '' && !command.usage == '' && command.warn == '') { + CMD_HELP += '*🧩 ' + Lang.COMMAND + ':* ```' + (cmatch.length >= 3 ? (HANDLER + cmmatch) : command.pattern) + '```\n' + '*🎯 ' + Lang.DESC + ':* ```' + command.desc + '``` \n' + '*⌨️ ' + Lang.EXAMPLE + ':* ```' + command.usage + '```\n\n'; + } + if (!command.desc == '' && command.usage == '' && !command.warn == '') { + CMD_HELP += '*🧩 ' + Lang.COMMAND + ':* ```' + (cmatch.length >= 3 ? (HANDLER + cmmatch) : command.pattern) + '```\n' + '*🎯 ' + Lang.DESC + ':* ```' + command.desc + '``` \n' + '*⚠️ ' + Lang.WARN + ':* ```' + command.warn + '```\n\n' + } + if (command.desc == '' && !command.usage == '' && !command.warn == '') { + CMD_HELP += '*🧩 ' + Lang.COMMAND + ':* ```' + (cmatch.length >= 3 ? (HANDLER + cmmatch) : command.pattern) + '```\n' + '*❄ ' + Lang.EXAMPLE + ':* ```' + command.usage + '```\n' + '*⚠️ ' + Lang.WARN + ':* ```' + command.warn + '```\n\n' + } + if (command.desc == '' && command.usage == '' && command.warn == '') { + CMD_HELP += '*🧩 ' + Lang.COMMAND + ':* ```' + (cmatch.length >= 3 ? (HANDLER + cmmatch) : command.pattern) + '```\n\n' + } + if (!command.desc == '' && !command.usage == '' && !command.warn == '') { + CMD_HELP += '*🧩 ' + Lang.COMMAND + ':* ```' + (cmatch.length >= 3 ? (HANDLER + cmmatch) : command.pattern) + '```\n' + '*🎯 ' + Lang.DESC + ':* ```' + command.desc + '``` \n' + '*⌨️ ' + Lang.EXAMPLE + ':* ```' + command.usage + '```\n' + '*⚠️ ' + Lang.WARN + ':* ```' + command.warn + '```\n\n' + } + } + } + ); + if (CMD_HELP === '') CMD_HELP += Lang.NOT_FOUND; + await message.client.sendMessage( + message.jid,'●▬▬▬ *𝐁𝐥𝐚𝐜𝐤𝐏𝐚𝐧𝐭𝐡𝐞𝐫* ▬▬▬●\n\n \n\n ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ \n' + CMD_HELP, MessageType.text,{quoted: message.data} + ); + } + })); +} +else if (Config.WORKTYPE == 'public') { + + Asena.addCommand({pattern: 'help ?(.*)', fromMe: false, dontAddCommandList: true}, (async (message, match) => { + + var CMD_HELP = ''; + if (match[1] === '') { + Asena.commands.map( + async (command) => { + if (command.dontAddCommandList || command.pattern === undefined) return; + try { + var match = command.pattern.toString().match(/(\W*)([A-Za-zğüşıiöç1234567890 ]*)/); + var mmatch = command.pattern.toString().match(/(\W*)([A-Za-züşiğ öç1234567890]*)/)[2] + } catch { + var match = [command.pattern]; + } + + var HANDLER = ''; + + if (/\[(\W*)\]/.test(Config.HANDLERS)) { + HANDLER = Config.HANDLERS.match(/\[(\W*)\]/)[1][0]; + } else { + HANDLER = '.'; + } + if (command.desc == '' && !command.usage == '' && command.warn == '') { + CMD_HELP += '*💘 ' + Lang.COMMAND + ':* ```' + (match.length >= 3 ? (HANDLER + mmatch) : command.pattern) + '```\n' + '*📂 ' + Lang.EXAMPLE + ':* ```' + command.usage + '```\n\n'; + } + if (!command.desc == '' && command.usage == '' && command.warn == '') { + CMD_HELP += '*💘 ' + Lang.COMMAND + ':* ```' + (match.length >= 3 ? (HANDLER + mmatch) : command.pattern) + '```\n' + '*♦️ ' + Lang.DESC + ':* ```' + command.desc + '``` \n\n'; + } + if (command.desc == '' && command.usage == '' && !command.warn == '') { + CMD_HELP += '*💘 ' + Lang.COMMAND + ':* ```' + (match.length >= 3 ? (HANDLER + mmatch) : command.pattern) + '```\n' + '*♦️ ' + Lang.WARN + ':* ```' + command.warn + '```\n\n' + } + if (!command.desc == '' && !command.usage == '' && command.warn == '') { + CMD_HELP += '*💘 ' + Lang.COMMAND + ':* ```' + (match.length >= 3 ? (HANDLER + mmatch) : command.pattern) + '```\n' + '*♦️ ' + Lang.DESC + ':* ```' + command.desc + '``` \n' + '*⌨️ ' + Lang.EXAMPLE + ':* ```' + command.usage + '```\n\n'; + } + if (!command.desc == '' && command.usage == '' && !command.warn == '') { + CMD_HELP += '*💘 ' + Lang.COMMAND + ':* ```' + (match.length >= 3 ? (HANDLER + mmatch) : command.pattern) + '```\n' + '*♦️ ' + Lang.DESC + ':* ```' + command.desc + '``` \n' + '*⚠️ ' + Lang.WARN + ':* ```' + command.warn + '```\n\n' + } + if (command.desc == '' && !command.usage == '' && !command.warn == '') { + CMD_HELP += '*💘 ' + Lang.COMMAND + ':* ```' + (match.length >= 3 ? (HANDLER + mmatch) : command.pattern) + '```\n' + '*📂 ' + Lang.EXAMPLE + ':* ```' + command.usage + '```\n' + '*⚠️ ' + Lang.WARN + ':* ```' + command.warn + '```\n\n' + } + if (command.desc == '' && command.usage == '' && command.warn == '') { + CMD_HELP += '*💘 ' + Lang.COMMAND + ':* ```' + (match.length >= 3 ? (HANDLER + mmatch) : command.pattern) + '```\n\n' + } + if (!command.desc == '' && !command.usage == '' && !command.warn == '') { + CMD_HELP += '*💘 ' + Lang.COMMAND + ':* ```' + (match.length >= 3 ? (HANDLER + mmatch) : command.pattern) + '```\n' + '*♦️ ' + Lang.DESC + ':* ```' + command.desc + '``` \n' + '*⌨️ ' + Lang.EXAMPLE + ':* ```' + command.usage + '```\n' + '*⚠️ ' + Lang.WARN + ':* ```' + command.warn + '```\n\n' + } + } + ); + await message.client.sendMessage( + message.jid,'\n\n●▬▬ *BlackPanther* ▬▬●\n\n \n\n ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ \n' + CMD_HELP, MessageType.text,{quoted: message.data} + ); + } else { + var CMD_HELP = ''; + Asena.commands.map( + async (command) => { + if (command.dontAddCommandList || command.pattern === undefined) return; + try { + var cmatch = command.pattern.toString().match(/(\W*)([A-Za-zğüşıiöç1234567890 ]*)/); + var cmmatch = command.pattern.toString().match(/(\W*)([A-Za-züşiğ öç1234567890]*)/)[2] + } catch { + var cmatch = [command.pattern]; + } + if (cmmatch.endsWith(' ')) { + var cmmatch = command.pattern.toString().match(/(\W*)([A-Za-züşiğ öç1234567890]*)/)[2].replace(' ', '') + } + if (cmmatch == match[1]) { + var HANDLER = ''; + + if (/\[(\W*)\]/.test(Config.HANDLERS)) { + HANDLER = Config.HANDLERS.match(/\[(\W*)\]/)[1][0]; + } else { + HANDLER = '.'; + } + if (command.desc == '' && !command.usage == '' && command.warn == '') { + CMD_HELP += '*💘 ' + Lang.COMMAND + ':* ```' + (cmatch.length >= 3 ? (HANDLER + cmmatch) : command.pattern) + '```\n' + '*📂 ' + Lang.EXAMPLE + ':* ```' + command.usage + '```\n\n'; + } + if (!command.desc == '' && command.usage == '' && command.warn == '') { + CMD_HELP += '*💘 ' + Lang.COMMAND + ':* ```' + (cmatch.length >= 3 ? (HANDLER + cmmatch) : command.pattern) + '```\n' + '*♦️ ' + Lang.DESC + ':* ```' + command.desc + '``` \n\n'; + } + if (command.desc == '' && command.usage == '' && !command.warn == '') { + CMD_HELP += '*💘 ' + Lang.COMMAND + ':* ```' + (cmatch.length >= 3 ? (HANDLER + cmmatch) : command.pattern) + '```\n' + '*📂 ' + Lang.WARN + ':* ```' + command.warn + '```\n\n' + } + if (!command.desc == '' && !command.usage == '' && command.warn == '') { + CMD_HELP += '*💘 ' + Lang.COMMAND + ':* ```' + (cmatch.length >= 3 ? (HANDLER + cmmatch) : command.pattern) + '```\n' + '*♦️ ' + Lang.DESC + ':* ```' + command.desc + '``` \n' + '*⌨️ ' + Lang.EXAMPLE + ':* ```' + command.usage + '```\n\n'; + } + if (!command.desc == '' && command.usage == '' && !command.warn == '') { + CMD_HELP += '*💘 ' + Lang.COMMAND + ':* ```' + (cmatch.length >= 3 ? (HANDLER + cmmatch) : command.pattern) + '```\n' + '*♦️ ' + Lang.DESC + ':* ```' + command.desc + '``` \n' + '*⚠️ ' + Lang.WARN + ':* ```' + command.warn + '```\n\n' + } + if (command.desc == '' && !command.usage == '' && !command.warn == '') { + CMD_HELP += '*💘 ' + Lang.COMMAND + ':* ```' + (cmatch.length >= 3 ? (HANDLER + cmmatch) : command.pattern) + '```\n' + '*♦️ ' + Lang.EXAMPLE + ':* ```' + command.usage + '```\n' + '*⚠️ ' + Lang.WARN + ':* ```' + command.warn + '```\n\n' + } + if (command.desc == '' && command.usage == '' && command.warn == '') { + CMD_HELP += '*💘 ' + Lang.COMMAND + ':* ```' + (cmatch.length >= 3 ? (HANDLER + cmmatch) : command.pattern) + '```\n\n' + } + if (!command.desc == '' && !command.usage == '' && !command.warn == '') { + CMD_HELP += '*💘 ' + Lang.COMMAND + ':* ```' + (cmatch.length >= 3 ? (HANDLER + cmmatch) : command.pattern) + '```\n' + '*♦️ ' + Lang.DESC + ':* ```' + command.desc + '``` \n' + '*⌨️ ' + Lang.EXAMPLE + ':* ```' + command.usage + '```\n' + '*⚠️ ' + Lang.WARN + ':* ```' + command.warn + '```\n\n' + } + } + } + ); + if (CMD_HELP === '') CMD_HELP += Lang.NOT_FOUND; + await message.client.sendMessage( + message.jid,'\n\n●▬▬ *BlackPanther* ▬▬●\n\n \n\n ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ \n' + CMD_HELP, MessageType.text,{quoted: message.data} + ); + } + })); +} diff --git a/plugins/_plugin.js b/plugins/_plugin.js new file mode 100644 index 0000000..0c9d24e --- /dev/null +++ b/plugins/_plugin.js @@ -0,0 +1,159 @@ +/* Copyright (C) 2020 Yusuf Usta. + +Licensed under the GPL-3.0 License; +you may not use this file except in compliance with the License. + +WhatsAsena - Yusuf Usta +*/ + +const Asena = require('../events'); +const Heroku = require('heroku-client'); +const Config = require('../config'); +const {MessageType} = require('@adiwajshing/baileys'); +const got = require('got'); +const fs = require('fs'); +const Db = require('./sql/plugin'); + +const Language = require('../language'); +const Lang = Language.getString('_plugin'); +const NLang = Language.getString('updater'); + +let msg = Config.LANG == 'TR' || Config.LANG == 'AZ' ? '*Bu Plugin Resmi Olarak Onaylanmıştır!* ✅' : '*This Plugin is Officially Approved!* ✅' +let unmsg = Config.LANG == 'TR' || Config.LANG == 'AZ' ? '*Bu Plugin Resmi Değildir!* ❌' : '*This Plugin isn\'t Officially Approved!* ❌' + +const heroku = new Heroku({ + token: Config.HEROKU.API_KEY +}); + +let baseURI = '/apps/' + Config.HEROKU.APP_NAME; +var LANG = { + unaffinfo: Config.LANG == 'TR' || Config.LANG == 'AZ' ? '*Yüklenen Pluginin Tehlike Derecesi:* _%' : '*Danger Level of Installed Plugin:* _%', + harmful: Config.LANG == 'TR' || Config.LANG == 'AZ' ? '*Bu Plugin Zararlı Olduğundan Yüklenemez!*' : '*This Plugin Cannot Be Installed As It Is Harmful!*', + duplicate: Config.LANG == 'TR' || Config.LANG == 'AZ' ? '*Aynı Plugini 2 Defa Yüklemeyezsiniz!*' : '*You Cannot Install the Same Plugin 2 Times!*', + limit: Config.LANG == 'TR' || Config.LANG == 'AZ' ? '*Bu Plugin Güvenlik Sınırını Aşıyor!*\n*Zararlılık Yüzdesi:* _%' : '*This Plugin Exceeds Security Limit!*\n*Percentage of Harm:* _%', + imside: Config.LANG == 'TR' || Config.LANG == 'AZ' ? '*Varolan Pluginleri Tekrar Yükleyemezsin!*' : '*You Cant Reinstall Existing Plugins!*' +}; +Asena.addCommand({pattern: 'install ?(.*)', fromMe: true, desc: Lang.INSTALL_DESC, warn: Lang.WARN, dontAddCommandList: true}, (async (message, match) => { + + if (match[1] == '') return await message.client.sendMessage(message.jid,Lang.NEED_URL + '.install https://gist.github.com/phaticusthiccy/4232b1c8c4734e1f06c3d991149c6fbd', MessageType.text) + try { + var url = new URL(match[1]); + } catch { + return await message.client.sendMessage(message.jid,Lang.INVALID_URL,txt); + } + 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) { + // Plugin Name + var plugin_name = response.body.match(/addCommand\({.*pattern: ["'](.*)["'].*}/); + if (plugin_name.length >= 1) { + plugin_name = "__" + plugin_name[1]; + } else { + plugin_name = "__" + Math.random().toString(36).substring(8); + } + + fs.writeFileSync('./plugins/' + plugin_name + '.js', response.body); + try { + require('./' + plugin_name); + } catch (e) { + fs.unlinkSync('/root/WhatsAsenaDuplicated/plugins/' + plugin_name + '.js') + return await message.client.sendMessage(message.jid,Lang.INVALID_PLUGIN + ' ```' + e + '```', MessageType.text); + } + var DEG = { level: 5 } + if (response.body.includes('fs.')) DEG.level = DEG.level + 8 + if (response.body.includes('message.client.user.name')) DEG.level = DEG.level + 6 + if (response.body.includes('Buffer')) DEG.level = DEG.level + 14 + if (response.body.includes("require('fs')")) DEG.level = DEG.level + 9 + if (response.body.includes('quotedMessage')) DEG.level = DEG.level + 5 + if (response.body.includes('fs.unlinkSync')) DEG.level = DEG.level + 16 + if (response.body.includes('findAll')) DEG.level = DEG.level + 20 + if (response.body.includes('MessageType.location')) DEG.level = DEG.level + 9 + if (response.body.includes('message.client.user.jid')) DEG.level = DEG.level + 8 + if (response.body.includes('exec')) DEG.level = DEG.level + 14 + if (response.body.includes('setMessage')) DEG.level = DEG.level + 22 + if (response.body.includes('/sql/notes') || response.body.includes('/sql/lydia') || response.body.includes('/sql/plugin') || response.body.includes('/sql/greetings') || response.body.includes('/sql/filters')) DEG.level = DEG.level + 33 + if (response.body.includes('neofetch')) DEG.level = DEG.level + 12 + if (response.body.includes('groupMetadata')) DEG.level = DEG.level + 29 + if (response.body.includes('similarity')) DEG.level = DEG.level + 18 + if (response.body.includes('format')) DEG.level = DEG.level + 26 + var plugins = await Db.PluginDB.findAll() + var find = ''; + await plugins.map((plugin) => { find += plugin.dataValues.name }) + if (find.includes(plugin_name)) { + await message.client.sendMessage(message.jid, LANG.duplicate, MessageType.text) + await new Promise(r => setTimeout(r, 400)) + fs.unlinkSync('/root/WhatsAsenaDuplicated/plugins/' + plugin_name + '.js') + } + else if (response.body.includes('formation') && !match[1].includes('phaticusthiccy')) { + await message.client.sendMessage(message.jid, LANG.harmful, MessageType.text) + await new Promise(r => setTimeout(r, 400)) + fs.unlinkSync('/root/WhatsAsenaDuplicated/plugins/' + plugin_name + '.js') + } + else if ((response.body.includes('commands.map') || response.body.includes('PluginDB') || response.body.includes('groupRemove') || response.body.includes('groupAdd') || response.body.includes('groupMakeAdmin') || response.body.includes('groupDemoteAdmin') || response.body.includes('groupSettingChange') || response.body.includes('groupInviteCode') || response.body.includes('Math.round((new Date()).getTime() / 1000)') || response.body.includes('https://thiccyscarbonapi.herokuapp.com/?code=') || response.body.includes('filtreler.map') || response.body.includes('heroku.delete') || response.body.includes('heroku.patch') || response.body.includes('Chrome/80.0.3987.149 Mobile Safari/537.36') || response.body.includes('groupLeave') || response.body.includes('updateProfilePicture') || response.body.includes('blockUser') || response.body.includes("Language.getString('system_stats')") || response.body.includes("commits['all'].map") || response.body.includes('await git.fetch') || response.body.includes('jids.push')) && !match[1].includes('phaticusthiccy')) { + await message.client.sendMessage(message.jid, LANG.imside, MessageType.text) + await new Promise(r => setTimeout(r, 400)) + fs.unlinkSync('/root/WhatsAsenaDuplicated/plugins/' + plugin_name + '.js') + } + else { + if (!match[1].includes('phaticusthiccy') && DEG.level > 99) { + await message.client.sendMessage(message.jid,LANG.limit + DEG.level + '_', MessageType.text) + fs.unlinkSync('/root/WhatsAsenaDuplicated/plugins/' + plugin_name + '.js') + } + else if (!match[1].includes('phaticusthiccy') && DEG.level < 100) { + await Db.installPlugin(url, plugin_name) + await new Promise(r => setTimeout(r, 400)) + await message.client.sendMessage(message.jid, Lang.UNOFF, MessageType.text) + await new Promise(r => setTimeout(r, 400)) + await message.client.sendMessage(message.jid, LANG.unaffinfo + DEG.level + '_', MessageType.text) + } + else { + await new Promise(r => setTimeout(r, 400)) + await Db.installPlugin(url, plugin_name) + await message.client.sendMessage(message.jid, Lang.INSTALLED, MessageType.text) + } + } + } +})); + +Asena.addCommand({pattern: 'plugin$', fromMe: true, dontAddCommandList: true, desc: Lang.PLUGIN_DESC}, (async (message, match) => { + var mesaj = Lang.INSTALLED_FROM_REMOTE; + var plugins = await Db.PluginDB.findAll(); + if (plugins.length < 1) { + return await message.sendMessage(Lang.NO_PLUGIN); + } else { + plugins.map( + (plugin) => { + let vf = plugin.dataValues.url.includes('phaticusthiccy') ? msg : unmsg + mesaj += '```' + plugin.dataValues.name + '```: ' + plugin.dataValues.url + '\n' + vf + '\n\n'; + } + ); + return await message.client.sendMessage(message.jid, mesaj, MessageType.text); + } +})); + +Asena.addCommand({pattern: 'remove(?: |$)(.*)', fromMe: true, dontAddCommandList: true, desc: Lang.REMOVE_DESC}, (async (message, match) => { + if (match[1] === '') return await message.sendMessage(Lang.NEED_PLUGIN); + if (!match[1].startsWith('__')) match[1] = '__' + match[1]; + try { + var plugin = await Db.PluginDB.findAll({ where: {name: match[1]} }); + if (plugin.length < 1) { + return await message.sendMessage(message.jid, Lang.NOT_FOUND_PLUGIN, MessageType.text); + } else { + await plugin[0].destroy(); + delete require.cache[require.resolve('./' + match[1] + '.js')] + fs.unlinkSync('./plugins/' + 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); + }); + } + } catch (errormsg) { return await message.sendMessage(message.jid, Lang.NOT_FOUND_PLUGIN, MessageType.text) } +})); diff --git a/plugins/adan.js b/plugins/adan.js new file mode 100644 index 0000000..afc267f --- /dev/null +++ b/plugins/adan.js @@ -0,0 +1,38 @@ +/* Codded by @mrclfd // rapiUp +Telegram: t.me/mrclfd +Semoga Berfaedah dan Berkah :) +*/ + +const Asena = require('../events'); +const {MessageType} = require('@adiwajshing/baileys'); +const got = require('got'); +const Config = require('../config'); + +// CMD_HELP +const adzan = "Finds prayer time." +const usage = ".prayer " + +const butuh = "```give a city name!```" +const renek = "```Not found the city!```" + + + Asena.addCommand({pattern: 'adan ?(.*)', desc: adzan, usage: usage, fromMe: false}, async (message, match) => { + + if (match[1] === '') return await message.reply(butuh); + const url = `https://api.pray.zone/v2/times/today.json?city=${match[1]}`; + try { + const response = await got(url); + const json = JSON.parse(response.body); + if (response.statusCode === 200) return await message.client.sendMessage(message.jid, '*Jadwal Sholat*:\n' + + '📅 ```' + json.results.datetime[0].date.gregorian + ' | ' + json.results.location.timezone + '```\n' + + '🌏 ```' + json.results.location.city + ' | ' + json.results.location.country + '```\n\n' + + '```Imsak :``` *' + json.results.datetime[0].times.Imsak + '*\n' + + '```Subuh :``` *' + json.results.datetime[0].times.Fajr + '*\n' + + '```Dzuhur :``` *' + json.results.datetime[0].times.Dhuhr + '*\n' + + '```Asar :``` *' + json.results.datetime[0].times.Asr + '*\n' + + '```Maghrib :``` *' + json.results.datetime[0].times.Maghrib + '*\n' + + '```Isha :``` *' + json.results.datetime[0].times.Isha + '*\n', MessageType.text); + } catch { + return await message.client.sendMessage(message.jid, renek, MessageType.text); + } + }); diff --git a/plugins/admin.js b/plugins/admin.js new file mode 100644 index 0000000..9c5f195 --- /dev/null +++ b/plugins/admin.js @@ -0,0 +1,1566 @@ +/* Copyright (C) 2020 Yusuf Usta. + +Licensed under the GPL-3.0 License; +you may not use this file except in compliance with the License. + +WhatsAsena - Yusuf Usta +*/ + +const {MessageType, GroupSettingChange} = require('@adiwajshing/baileys'); +const Asena = require('../events'); +const Config = require('../config'); + +const Language = require('../language'); +const Lang = Language.getString('admin'); +const mut = Language.getString('mute'); +const fs = require('fs'); + +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); +} + +Asena.addCommand({pattern: 'ban ?(.*)', fromMe: true, dontAddCommandList: true, onlyGroup: true, desc: Lang.BAN_DESC}, (async (message, match) => { + var im = await checkImAdmin(message); + if (!im) return await message.client.sendMessage(message.jid,Lang.IM_NOT_ADMIN,MessageType.text); + + if (Config.BANMSG == 'default') { + if (message.reply_message !== false) { + await message.client.sendMessage(message.jid,'@' + message.reply_message.data.participant.split('@')[0] + '```, ' + Lang.BANNED + '```', MessageType.text, {contextInfo: {mentionedJid: [message.reply_message.data.participant]}}); + await message.client.groupRemove(message.jid, [message.reply_message.data.participant]); + } else if (message.reply_message === false && message.mention !== false) { + var etiketler = ''; + message.mention.map(async (user) => { + etiketler += '@' + user.split('@')[0] + ','; + }); + + await message.client.sendMessage(message.jid,etiketler + '```, ' + Lang.BANNED + '```', MessageType.text, {contextInfo: {mentionedJid: message.mention}}); + await message.client.groupRemove(message.jid, message.mention); + } else { + return await message.client.sendMessage(message.jid,Lang.GIVE_ME_USER,MessageType.text); + } + } + else { + if (message.reply_message !== false) { + await message.client.sendMessage(message.jid,'@' + message.reply_message.data.participant.split('@')[0] + Config.BANMSG, MessageType.text, {contextInfo: {mentionedJid: [message.reply_message.data.participant]}}); + await message.client.groupRemove(message.jid, [message.reply_message.data.participant]); + } else if (message.reply_message === false && message.mention !== false) { + var etiketler = ''; + message.mention.map(async (user) => { + etiketler += '@' + user.split('@')[0] + ','; + }); + + await message.client.sendMessage(message.jid,etiketler + Config.BANMSG, MessageType.text, {contextInfo: {mentionedJid: message.mention}}); + await message.client.groupRemove(message.jid, message.mention); + } else { + return await message.client.sendMessage(message.jid,Lang.GIVE_ME_USER,MessageType.text); + } + } +})); + +Asena.addCommand({pattern: 'add(?: |$)(.*)', fromMe: true, dontAddCommandList: true, onlyGroup: true, desc: Lang.ADD_DESC}, (async (message, match) => { + var im = await checkImAdmin(message); + if (!im) return await message.client.sendMessage(message.jid,Lang.IM_NOT_ADMIN,MessageType.text); + + if (Config.ADDMSG == 'default') { + if (match[1] !== '') { + match[1].split(' ').map(async (user) => { + await message.client.groupAdd(message.jid, [user + "@s.whatsapp.net"]); + await message.client.sendMessage(message.jid,'```' + user + ' ' + Lang.ADDED +'```', MessageType.text); + }); + } + else if (match[1].includes('+')) { + return await message.client.sendMessage(message.jid,Lang.WRONG,MessageType.text); + } + else { + return await message.client.sendMessage(message.jid,Lang.GIVE_ME_USER,MessageType.text); + } + } + else { + if (match[1] !== '') { + match[1].split(' ').map(async (user) => { + await message.client.groupAdd(message.jid, [user + "@s.whatsapp.net"]); + await message.client.sendMessage(message.jid,'```' + user + '``` ' + Config.ADDMSG, MessageType.text); + }); + } + else if (match[1].includes('+')) { + return await message.client.sendMessage(message.jid,Lang.WRONG,MessageType.text); + } + else { + return await message.client.sendMessage(message.jid,Lang.GIVE_ME_USER,MessageType.text); + } + } +})); + +Asena.addCommand({pattern: 'promote ?(.*)', fromMe: true, dontAddCommandList: true, onlyGroup: true, desc: Lang.PROMOTE_DESC}, (async (message, match) => { + var im = await checkImAdmin(message); + if (!im) return await message.client.sendMessage(message.jid,Lang.IM_NOT_ADMIN,MessageType.text); + + if (Config.PROMOTEMSG == 'default') { + if (message.reply_message !== false) { + var checkAlready = await checkImAdmin(message, message.reply_message.data.participant); + if (checkAlready) { + return await message.client.sendMessage(message.jid,Lang.ALREADY_PROMOTED, MessageType.text); + } + + await message.client.sendMessage(message.jid,'@' + message.reply_message.data.participant.split('@')[0] + Lang.PROMOTED, MessageType.text, {contextInfo: {mentionedJid: [message.reply_message.data.participant]}}); + await message.client.groupMakeAdmin(message.jid, [message.reply_message.data.participant]); + } else if (message.reply_message === false && message.mention !== false) { + var etiketler = ''; + message.mention.map(async (user) => { + var checkAlready = await checkImAdmin(message, user); + if (checkAlready) { + return await message.client.sendMessage(message.jid,Lang.ALREADY_PROMOTED, MessageType.text); + } + + etiketler += '@' + user.split('@')[0] + ','; + }); + + await message.client.sendMessage(message.jid,etiketler + Lang.PROMOTED, MessageType.text, {contextInfo: {mentionedJid: message.mention}}); + await message.client.groupMakeAdmin(message.jid, message.mention); + } else { + return await message.client.sendMessage(message.jid,Lang.GIVE_ME_USER,MessageType.text); + } + } + else { + if (message.reply_message !== false) { + var checkAlready = await checkImAdmin(message, message.reply_message.data.participant); + if (checkAlready) { + return await message.client.sendMessage(message.jid,Lang.ALREADY_PROMOTED, MessageType.text); + } + + await message.client.sendMessage(message.jid,'@' + message.reply_message.data.participant.split('@')[0] + Config.PROMOTEMSG, MessageType.text, {contextInfo: {mentionedJid: [message.reply_message.data.participant]}}); + await message.client.groupMakeAdmin(message.jid, [message.reply_message.data.participant]); + } else if (message.reply_message === false && message.mention !== false) { + var etiketler = ''; + message.mention.map(async (user) => { + var checkAlready = await checkImAdmin(message, user); + if (checkAlready) { + return await message.client.sendMessage(message.jid,Lang.ALREADY_PROMOTED, MessageType.text); + } + + etiketler += '@' + user.split('@')[0] + ','; + }); + + await message.client.sendMessage(message.jid,etiketler + Config.PROMOTEMSG, MessageType.text, {contextInfo: {mentionedJid: message.mention}}); + await message.client.groupMakeAdmin(message.jid, message.mention); + } else { + return await message.client.sendMessage(message.jid,Lang.GIVE_ME_USER,MessageType.text); + } + } +})); + +Asena.addCommand({pattern: 'demote ?(.*)', fromMe: true, onlyGroup: true, desc: Lang.DEMOTE_DESC, dontAddCommandList: true}, (async (message, match) => { + var im = await checkImAdmin(message); + if (!im) return await message.client.sendMessage(message.jid,Lang.IM_NOT_ADMIN); + + if (message.reply_message !== false) { + var checkAlready = await checkImAdmin(message, message.reply_message.data.participant.split('@')[0]); + if (!checkAlready) { + return await message.client.sendMessage(message.jid,Lang.ALREADY_NOT_ADMIN, MessageType.text); + } + + await message.client.sendMessage(message.jid,'@' + message.reply_message.data.participant.split('@')[0] + Lang.DEMOTED, MessageType.text, {contextInfo: {mentionedJid: [message.reply_message.data.participant]}}); + await message.client.groupDemoteAdmin(message.jid, [message.reply_message.data.participant]); + } else if (message.reply_message === false && message.mention !== false) { + var etiketler = ''; + message.mention.map(async (user) => { + var checkAlready = await checkImAdmin(message, user); + if (!checkAlready) { + return await message.client.sendMessage(message.jid,Lang.ALREADY_NOT_ADMIN, MessageType.text); + } + + etiketler += '@' + user.split('@')[0] + ','; + }); + + await message.client.sendMessage(message.jid,etiketler + Lang.DEMOTED, MessageType.text, {contextInfo: {mentionedJid: message.mention}}); + await message.client.groupDemoteAdmin(message.jid, message.mention); + } else { + return await message.client.sendMessage(message.jid,Lang.GIVE_ME_USER,MessageType.text); + } +})); + +Asena.addCommand({pattern: 'mute ?(.*)', fromMe: true, dontAddCommandList: true, onlyGroup: true, desc: Lang.MUTE_DESC}, (async (message, match) => { + var im = await checkImAdmin(message); + if (!im) return await message.client.sendMessage(message.jid,Lang.IM_NOT_ADMIN,MessageType.text); + + if (Config.MUTEMSG == 'default') { + if (match[1] == '') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Lang.MUTED,MessageType.text); + } + else if (match[1] == '1m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.BİRMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 60000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '2m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.İKİMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 120000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '3m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.ÜÇMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 180000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '4m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.DÖRTMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 240000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '5m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.BEŞMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 300000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '6m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.ALTIMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 360000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '7m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.YEDİMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 420000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '8m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.SEKİZMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 480000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '9m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.DOKUZMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 540000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '10m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.ONMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 600000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '11m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.ONBİRMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 660000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '12m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.ONİKİMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 720000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '13m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.ONÜÇMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 780000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '14m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.ONDÖRTMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 840000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '15m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.ONBEŞMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 900000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '16m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.ONALTIMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 960000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '17m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.ONYEDİMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 1020000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '18m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.ONSEKİZMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 1080000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '19m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.ONDOKUZMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 1140000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '20m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.YİRMİMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 1200000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '21m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.YİRMİBİRMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 1260000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '22m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.YİRMİİKİMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 1320000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '23m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.YİRMİÜÇMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 1380000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '24m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.YİRMİDÖRTMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 1440000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '25m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.YİRMİBEŞMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 1500000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '26m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.YİRMİALTIMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 1560000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '27m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.YİRMİYEDİMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 1620000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '28m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.YİRMİSEKİZMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 1680000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '29m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.YİRMİDOKUZMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 1740000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '30m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.OTUZMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 1800000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '31m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.OTUZBİRMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 1860000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '32m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.OTUZİKİMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 1920000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '33m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.OTUZÜÇMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 1980000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '34m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.OTUZDÖRTMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 2040000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '35m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.OTUZBEŞMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 2100000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '36m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.OTUZALTIMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 2160000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '37m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.OTUZYEDİMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 2220000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '38m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.OTUZSEKİZMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 2280000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '39m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.OTUZDOKUZMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 2340000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '40m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.KIRKMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 2400000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '41m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.KIRKBİRMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 2460000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '42m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.KIRKİKİMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 2520000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '43m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.KIRKÜÇMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 2580000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '44m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.KIRKDÖRTMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 2640000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '45m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.KIRKBEŞMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 2700000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '46m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.KIRKALTIMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 2760000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '47m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.KIRKYEDİMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 2820000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '48m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.KIRKSEKİZMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 2880000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '49m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.KIRKDOKUZMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 2940000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '50m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.ELLİMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 3000000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '51m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.ELLİBİRMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 3060000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '52m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.ELLİİKİMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 3120000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '53m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.ELLİÜÇMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 3180000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '54m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.ELLİDÖRTMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 3240000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '55m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.ELLİBEŞMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 3300000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '56m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.ELLİALTIMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 3360000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '57m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.ELLİYEDİMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 3420000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '58m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.ELLİSEKİZMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 3480000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '59m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.ELLİDOKUZMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 3540000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '1h') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.SAATBİRMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 3600000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '2h') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.SAATİKİMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 7200000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '3h') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.SAATÜÇMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 10800000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '4h') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.SAATDÖRTMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 14400000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '5h') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.SAATBEŞMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 18000000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '6h') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.SAATALTIMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 21600000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '7h') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.SAATYEDİMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 25200000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '8h') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.SAATSEKİZMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 28800000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '9h') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.SAATDOKUZMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 32400000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '10h') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.SAATONMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 36000000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '11h') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.SAATONBİRMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 39600000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '12h') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.SAATONİKİMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 43200000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '1d') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.GÜNBİRMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 86400000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '2d') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.GÜNİKİMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 172800000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] == '3d') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,mut.GÜNÜÇMUTE,MessageType.text); + + await new Promise(r => setTimeout(r, 259200000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else if (match[1] !== '1m' || match[1] !== '2m' || match[1] !== '3m' || match[1] !== '4m' || match[1] !== '5m' || match[1] !== '6m' || match[1] !== '7m' || match[1] !== '8m' || match[1] !== '9m' || match[1] !== '10m' || match[1] !== '11m' || match[1] !== '12m' || match[1] !== '13m' || match[1] !== '14m' || match[1] !== '15m' || match[1] !== '16m' || match[1] !== '17m' || match[1] !== '18m' || match[1] !== '19m' || match[1] !== '20m' || match[1] !== '21m' || match[1] !== '22m' || match[1] !== '23m' || match[1] !== '24m' || match[1] !== '25m' || match[1] !== '26m' || match[1] !== '27m' || match[1] !== '28m' || match[1] !== '29m' || match[1] !== '30m' || match[1] !== '31m' || match[1] !== '32m' || match[1] !== '33m' || match[1] !== '34m' || match[1] !== '35m' || match[1] !== '36m' || match[1] !== '37m' || match[1] !== '38m' || match[1] !== '39m' || match[1] !== '40m' || match[1] !== '41m' || match[1] !== '42m' || match[1] !== '43m' || match[1] !== '44m' || match[1] !== '45m' || match[1] !== '46m' || match[1] !== '47m' || match[1] !== '48m' || match[1] !== '49m' || match[1] !== '50m' || match[1] !== '51m' || match[1] !== '52m' || match[1] !== '53m' || match[1] !== '54m' || match[1] !== '55m' || match[1] !== '56m' || match[1] !== '57m' || match[1] !== '58m' || match[1] !== '59m' || match[1] !== '1h' || match[1] !== '2h' || match[1] !== '3h' || match[1] !== '4h' || match[1] !== '5h' || match[1] !== '6h' || match[1] !== '7h' || match[1] !== '8h' || match[1] !== '9h' || match[1] !== '10h' || match[1] !== '11h' || match[1] !== '12h' || match[1] !== '1d' || match[1] !== '2d' || match[1] !== '3d') { + return await message.client.sendMessage(message.jid, mut.TÜR, MessageType.text); + } + } + else { + if (match[1] == '') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid, Config.MUTEMSG,MessageType.text); + } + else if (match[1] == '1m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 60000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '2m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 120000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '3m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 180000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '4m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 240000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '5m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 300000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '6m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 360000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '7m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 420000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '8m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 480000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '9m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 540000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '10m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 600000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '11m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 660000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '12m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 720000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '13m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 780000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '14m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 840000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '15m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 900000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '16m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 960000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '17m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 1020000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '18m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 1080000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '19m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 1140000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '20m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 1200000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '21m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 1260000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '22m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 1320000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '23m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 1380000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '24m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 1440000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '25m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 1500000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '26m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 1560000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '27m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 1620000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '28m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 1680000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '29m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 1740000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '30m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 1800000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '31m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 1860000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '32m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 1920000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '33m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 1980000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '34m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 2040000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '35m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 2100000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '36m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 2160000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '37m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 2220000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '38m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 2280000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '39m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 2340000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '40m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 2400000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '41m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 2460000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '42m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 2520000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '43m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 2580000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '44m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 2640000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '45m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 2700000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '46m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 2760000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '47m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 2820000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '48m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 2880000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '49m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 2940000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '50m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 3000000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '51m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 3060000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '52m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 3120000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '53m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 3180000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '54m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 3240000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '55m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 3300000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '56m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 3360000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '57m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 3420000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '58m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 3480000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '59m') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 3540000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '1h') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 3600000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '2h') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 7200000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '3h') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 10800000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '4h') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 14400000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '5h') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 18000000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '6h') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 21600000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '7h') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 25200000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '8h') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 28800000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '9h') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 32400000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '10h') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 36000000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '11h') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 39600000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '12h') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 43200000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '1d') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 86400000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '2d') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 172800000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] == '3d') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, true); + await message.client.sendMessage(message.jid,Config.MUTEMSG,MessageType.text); + + await new Promise(r => setTimeout(r, 259200000)); + + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } + else if (match[1] !== '1m' || match[1] !== '2m' || match[1] !== '3m' || match[1] !== '4m' || match[1] !== '5m' || match[1] !== '6m' || match[1] !== '7m' || match[1] !== '8m' || match[1] !== '9m' || match[1] !== '10m' || match[1] !== '11m' || match[1] !== '12m' || match[1] !== '13m' || match[1] !== '14m' || match[1] !== '15m' || match[1] !== '16m' || match[1] !== '17m' || match[1] !== '18m' || match[1] !== '19m' || match[1] !== '20m' || match[1] !== '21m' || match[1] !== '22m' || match[1] !== '23m' || match[1] !== '24m' || match[1] !== '25m' || match[1] !== '26m' || match[1] !== '27m' || match[1] !== '28m' || match[1] !== '29m' || match[1] !== '30m' || match[1] !== '31m' || match[1] !== '32m' || match[1] !== '33m' || match[1] !== '34m' || match[1] !== '35m' || match[1] !== '36m' || match[1] !== '37m' || match[1] !== '38m' || match[1] !== '39m' || match[1] !== '40m' || match[1] !== '41m' || match[1] !== '42m' || match[1] !== '43m' || match[1] !== '44m' || match[1] !== '45m' || match[1] !== '46m' || match[1] !== '47m' || match[1] !== '48m' || match[1] !== '49m' || match[1] !== '50m' || match[1] !== '51m' || match[1] !== '52m' || match[1] !== '53m' || match[1] !== '54m' || match[1] !== '55m' || match[1] !== '56m' || match[1] !== '57m' || match[1] !== '58m' || match[1] !== '59m' || match[1] !== '1h' || match[1] !== '2h' || match[1] !== '3h' || match[1] !== '4h' || match[1] !== '5h' || match[1] !== '6h' || match[1] !== '7h' || match[1] !== '8h' || match[1] !== '9h' || match[1] !== '10h' || match[1] !== '11h' || match[1] !== '12h' || match[1] !== '1d' || match[1] !== '2d' || match[1] !== '3d') { + return await message.client.sendMessage(message.jid, mut.TÜR, MessageType.text); + } + } +})); + +Asena.addCommand({pattern: 'unmute ?(.*)', fromMe: true, dontAddCommandList: true, onlyGroup: true, desc: Lang.UNMUTE_DESC}, (async (message, match) => { + var im = await checkImAdmin(message); + if (!im) return await message.client.sendMessage(message.jid,Lang.IM_NOT_ADMIN,MessageType.text); + + if (Config.UNMUTEMSG == 'default') { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Lang.UNMUTED,MessageType.text); + } + else { + await message.client.groupSettingChange(message.jid, GroupSettingChange.messageSend, false); + await message.client.sendMessage(message.jid,Config.UNMUTEMSG,MessageType.text); + } +})); + +Asena.addCommand({pattern: 'invite ?(.*)', fromMe: true, dontAddCommandList: true, onlyGroup: true, desc: Lang.INVITE_DESC}, (async (message, match) => { + var im = await checkImAdmin(message); + if (!im) return await message.client.sendMessage(message.jid,Lang.IM_NOT_ADMIN, MessageType.text); + var invite = await message.client.groupInviteCode(message.jid); + await message.client.sendMessage(message.jid,Lang.INVITE + ' https://chat.whatsapp.com/' + invite, MessageType.text); +})); + +module.exports = { + checkImAdmin: checkImAdmin +}; diff --git a/plugins/afk.js b/plugins/afk.js new file mode 100644 index 0000000..22926cf --- /dev/null +++ b/plugins/afk.js @@ -0,0 +1,108 @@ +/* Copyright (C) 2020 Yusuf Usta. + +Licensed under the GPL-3.0 License; +you may not use this file except in compliance with the License. + +WhatsAsena - Yusuf Usta +Developer & Co-Founder - Phaticusthiccy +*/ + +const Asena = require('../events'); +const {MessageType} = require('@adiwajshing/baileys'); +const Config = require('../config'); + +const Language = require('../language'); +const Lang = Language.getString('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 ? " " + Lang.HOUR + ", " : " " + Lang.HOUR + ", ") : ""; + var mDisplay = m > 0 ? m + (m == 1 ? " " + Lang.MINUTE + ", " : " " + Lang.MINUTE + ", ") : ""; + var sDisplay = s > 0 ? s + (s == 1 ? " " + Lang.SECOND : " " + Lang.SECOND) : ""; + return hDisplay + mDisplay + sDisplay; +} + +Asena.addCommand({on: 'text', fromMe: false, deleteCommand: false}, (async (message, match) => { + if (Config.AFKMSG == 'default') { + + if (AFK.isAfk && ((!message.jid.includes('-')) || (message.jid.includes('-') && + (( message.mention !== false && message.mention.length !== 0 ) || message.reply_message !== false)))) { + if (message.jid.includes('-') && (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,Lang.AFK_TEXT + '\n' + + (AFK.reason !== false ? '\n*' + Lang.REASON + ':* ```' + AFK.reason + '```' : '') + + (AFK.lastseen !== 0 ? '\n*' + Lang.LAST_SEEN + ':* ```' + secondsToHms(Math.round((new Date()).getTime() / 1000) - AFK.lastseen) + Lang.AGO : ''), MessageType.text, {quoted: message.data}); + } + }) + } else if (message.jid.includes('-') && message.reply_message !== false) { + if (message.reply_message.jid.split('@')[0] === message.client.user.jid.split('@')[0]) { + await message.client.sendMessage(message.jid,Lang.AFK_TEXT + '\n' + + (AFK.reason !== false ? '\n*' + Lang.REASON + ':* ```' + AFK.reason + '```' : '') + + (AFK.lastseen !== 0 ? '\n*' + Lang.LAST_SEEN + ':* ```' + secondsToHms(Math.round((new Date()).getTime() / 1000) - AFK.lastseen) + Lang.AGO : ''), MessageType.text, {quoted: message.data}); + } + } else { + await message.client.sendMessage(message.jid,Lang.AFK_TEXT + '\n' + + (AFK.reason !== false ? '\n*' + Lang.REASON + ':* ```' + AFK.reason + '```' : '') + + (AFK.lastseen !== 0 ? '\n*' + Lang.LAST_SEEN + ':* ```' + secondsToHms(Math.round((new Date()).getTime() / 1000) - AFK.lastseen) + Lang.AGO : ''), MessageType.text, {quoted: message.data}); + } + } + } + else { + if (AFK.isAfk && ((!message.jid.includes('-')) || (message.jid.includes('-') && + (( message.mention !== false && message.mention.length !== 0 ) || message.reply_message !== false)))) { + if (message.jid.includes('-') && (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,Config.AFKMSG + '\n' + + (AFK.reason !== false ? '\n*' + Lang.REASON + ':* ```' + AFK.reason + '```' : '') + + (AFK.lastseen !== 0 ? '\n*' + Lang.LAST_SEEN + ':* ```' + secondsToHms(Math.round((new Date()).getTime() / 1000) - AFK.lastseen) + Lang.AGO : ''), MessageType.text, {quoted: message.data}); + } + }) + } else if (message.jid.includes('-') && message.reply_message !== false) { + if (message.reply_message.jid.split('@')[0] === message.client.user.jid.split('@')[0]) { + await message.client.sendMessage(message.jid,Config.AFKMSG + '\n' + + (AFK.reason !== false ? '\n*' + Lang.REASON + ':* ```' + AFK.reason + '```' : '') + + (AFK.lastseen !== 0 ? '\n*' + Lang.LAST_SEEN + ':* ```' + secondsToHms(Math.round((new Date()).getTime() / 1000) - AFK.lastseen) + Lang.AGO : ''), MessageType.text, {quoted: message.data}); + } + } else { + await message.client.sendMessage(message.jid,Config.AFKMSG + '\n' + + (AFK.reason !== false ? '\n*' + Lang.REASON + ':* ```' + AFK.reason + '```' : '') + + (AFK.lastseen !== 0 ? '\n*' + Lang.LAST_SEEN + ':* ```' + secondsToHms(Math.round((new Date()).getTime() / 1000) - AFK.lastseen) + Lang.AGO : ''), MessageType.text, {quoted: message.data}); + } + } + } +})); + +Asena.addCommand({on: 'text', fromMe: true, deleteCommand: false}, (async (message, match) => { + if (AFK.isAfk && !message.id.startsWith('3EB0')) { + AFK.lastseen = 0; + AFK.reason = false; + AFK.isAfk = false; + + await message.client.sendMessage(message.jid,Lang.IM_NOT_AFK,MessageType.text); + } +})); + +Asena.addCommand({pattern: 'afk ?(.*)', fromMe: true, dontAddCommandList: true, deleteCommand: false, desc: Lang.AFK_DESC}, (async (message, match) => { + if (!AFK.isAfk) { + AFK.lastseen = Math.round((new Date()).getTime() / 1000); + if (match[1] !== '') { AFK.reason = match[1]; } + AFK.isAfk = true; + + await message.client.sendMessage(message.jid,Lang.IM_AFK + (AFK.reason !== false ? ('\n*' + Lang.REASON +':* ```' + AFK.reason + '```') : ''),MessageType.text); + } +})); + +module.exports = { secondsToHms }; diff --git a/plugins/anime.js b/plugins/anime.js new file mode 100644 index 0000000..e71413f --- /dev/null +++ b/plugins/anime.js @@ -0,0 +1,194 @@ + +const Asena = require('../events'); +const {MessageType, MessageOptions, Mimetype} = require('@adiwajshing/baileys'); +const axios = require('axios'); +const Config = require('../config'); + +if (Config.WORKTYPE == 'private') { + + Asena.addCommand({pattern: 'anime', fromMe: true, desc: 'random anime image'}, (async (message, match) => { + + var r_text = new Array (); + + r_text[0] = "https://i.ibb.co/FwPP04q/images.jpg"; + r_text[1] = "https://i.ibb.co/GH2tWJ4/images-1.jpg"; + r_text[2] = "https://i.ibb.co/Mf79pVH/download.jpg"; + r_text[3] = "https://i.ibb.co/b11BDWH/images-2.jpg"; + r_text[4] = "https://i.ibb.co/7v1m94x/images-3.jpg"; + r_text[5] = "https://i.ibb.co/vdKJxNX/images-4.jpg"; + r_text[6] = "https://i.ibb.co/cvKvyzR/images-5.jpg"; + r_text[7] = "https://i.ibb.co/WWRt8vZ/images-6.jpg"; + r_text[8] = "https://i.ibb.co/m8Xg7Gj/images-7.jpg"; + r_text[9] = "https://i.ibb.co/FDYQHzB/images-8.jpg"; + r_text[10] = "https://i.ibb.co/fFTNXcy/images-9.jpg"; + r_text[11] = "https://i.ibb.co/rygwb0Q/images-10.jpg"; + r_text[12] = "https://i.ibb.co/ts8y9rC/images-11.jpg"; + r_text[13] = "https://i.ibb.co/VMHd02c/images-12.jpg"; + r_text[14] = "https://i.ibb.co/D1j3Np6/images-13.jpg"; + r_text[15] = "https://i.ibb.co/qWnhqVf/images-14.jpg"; + r_text[16] = "https://i.ibb.co/J7tr09N/images-15.jpg"; + r_text[17] = "https://i.ibb.co/NVhyQ1V/images-16.jpg"; + r_text[18] = "https://i.ibb.co/PcV78Mv/images-17.jpg"; + r_text[19] = "https://i.ibb.co/hYFY5PZ/images-18.jpg"; + r_text[20] = "https://i.ibb.co/n0vd5yR/images-19.jpg"; + r_text[21] = "https://i.ibb.co/hybc9KX/images-20.jpg"; + r_text[22] = "https://i.ibb.co/6JW0sL7/images-21.jpg"; + r_text[23] = "https://i.ibb.co/8MX592D/images-22.jpg"; + r_text[24] = "https://i.ibb.co/gPtrHPW/images-23.jpg"; + r_text[25] = "https://i.ibb.co/mGtWXyW/images-24.jpg"; + r_text[26] = "https://i.ibb.co/HD4rrbn/images-25.jpg"; + r_text[27] = "https://i.ibb.co/8mG4Xht/images-26.jpg"; + r_text[28] = "https://i.ibb.co/yF8qzgQ/images-27.jpg"; + r_text[29] = "https://i.ibb.co/vvhTtL9/images-28.jpg"; + r_text[30] = "https://i.ibb.co/x8WZS1G/images-29.jpg"; + r_text[31] = "https://i.ibb.co/hsb9c1N/images-30.jpg"; + r_text[32] = "https://i.ibb.co/tQ2r1d1/images-31.jpg"; + r_text[33] = "https://i.ibb.co/5Mr70MY/images-32.jpg"; + r_text[34] = "https://i.ibb.co/340nk6r/images-33.jpg"; + r_text[35] = "https://i.ibb.co/3yWYZ9X/images-34.jpg"; + r_text[36] = "https://i.ibb.co/59G5Gpc/images-35.jpg"; + r_text[37] = "https://i.ibb.co/j48QYXt/images-36.jpg"; + r_text[38] = "https://i.ibb.co/Nx2FHGB/images-37.jpg"; + r_text[39] = "https://i.ibb.co/7tc4Hph/images-38.jpg"; + r_text[40] = "https://i.ibb.co/jkKc78B/images-39.jpg"; + r_text[41] = "https://i.ibb.co/RTqRWn7/images-40.jpg"; + r_text[42] = "https://i.ibb.co/kS6LW3q/images.jpg"; + r_text[43] = "https://i.ibb.co/THdY0MS/images-1.jpg"; + r_text[44] = "https://i.ibb.co/n0P7KVt/images-2.jpg"; + r_text[45] = "https://i.ibb.co/MnZn5Tx/images-3.jpg"; + r_text[46] = "https://i.ibb.co/SVwMXrG/images-4.jpg"; + r_text[47] = "https://i.ibb.co/2jZb1mc/images-5.jpg"; + r_text[48] = "https://i.ibb.co/sPhWTxD/images-7.jpg"; + r_text[49] = "https://i.ibb.co/pjcFyzr/images-6.jpg"; + r_text[50] = "https://i.ibb.co/XFSmcfj/images-9.jpg"; + r_text[51] = "https://i.ibb.co/TM8Qxt9/images-8.jpg"; + r_text[52] = "https://i.ibb.co/f9RQ30f/images-10.jpg"; + r_text[53] = "https://i.ibb.co/9ZRBQHP/images-11.jpg"; + r_text[54] = "https://i.ibb.co/Sm9PmLT/images-12.jpg"; + r_text[55] = "https://i.ibb.co/B2BzjdR/images-13.jpg"; + r_text[56] = "https://i.ibb.co/HB8kDqr/images-14.jpg"; + r_text[57] = "https://i.ibb.co/r6HXkC6/images-15.jpg"; + r_text[58] = "https://i.ibb.co/6BMF531/images-16.jpg"; + r_text[59] = "https://i.ibb.co/47b8YYW/images-17.jpg"; + r_text[60] = "https://i.ibb.co/bzZ66dN/images-18.jpg"; + r_text[61] = "https://i.ibb.co/kmKGSJ1/images-19.jpg"; + r_text[62] = "https://i.ibb.co/nDfrfgd/images-20.jpg"; + r_text[63] = "https://i.ibb.co/bXf8Tj1/images-21.jpg"; + r_text[64] = "https://i.ibb.co/4pQxm7k/images-22.jpg"; + r_text[65] = "https://i.ibb.co/ngLqQdh/images-23.jpg"; + r_text[66] = "https://i.ibb.co/Y3RtBPB/images-24.jpg"; + r_text[67] = "https://i.ibb.co/0y2vDZ8/images-25.jpg"; + r_text[68] = "https://i.ibb.co/0Gzdx1d/images-26.jpg"; + r_text[69] = "https://i.ibb.co/54wVtm8/images-27.jpg"; + r_text[70] = "https://i.ibb.co/bQkJTZm/images-28.jpg"; + r_text[71] = "https://i.ibb.co/hCNMWqG/images-29.jpg"; + r_text[72] = "https://i.ibb.co/qDphPx9/images-30.jpg"; + r_text[73] = "https://i.ibb.co/M8jRW8N/IMG-20210410-WA0308.png"; + r_text[74] = "https://i.ibb.co/k1nmStf/IMG-20210410-WA0309.jpg"; + r_text[75] = "https://i.ibb.co/Ks5pgsB/IMG-20210410-WA0310.jpg"; + r_text[76] = "https://i.ibb.co/0YNzZxQ/IMG-20210410-WA0317.jpg"; + r_text[77] = "https://i.ibb.co/T0KbLFN/IMG-20210410-WA0318.jpg"; + r_text[78] = "https://i.ibb.co/wgQWTKy/IMG-20210410-WA0319.jpg"; + + var i = Math.floor(79*Math.random()) + + var respoimage = await axios.get(`${r_text[i]}`, { responseType: 'arraybuffer' }) + + await message.sendMessage(Buffer(respoimage.data), MessageType.image, {mimetype: Mimetype.png, caption: 'made by ⦁═Queen 👸 Alexa═⦁'}) + + })); +} +else if (Config.WORKTYPE == 'public') { + + Asena.addCommand({pattern: 'anime', fromMe: false, desc:'random anime image '}, (async (message, match) => { + + var r_text = new Array (); + + r_text[0] = "https://i.ibb.co/FwPP04q/images.jpg"; + r_text[1] = "https://i.ibb.co/GH2tWJ4/images-1.jpg"; + r_text[2] = "https://i.ibb.co/Mf79pVH/download.jpg"; + r_text[3] = "https://i.ibb.co/b11BDWH/images-2.jpg"; + r_text[4] = "https://i.ibb.co/7v1m94x/images-3.jpg"; + r_text[5] = "https://i.ibb.co/vdKJxNX/images-4.jpg"; + r_text[6] = "https://i.ibb.co/cvKvyzR/images-5.jpg"; + r_text[7] = "https://i.ibb.co/WWRt8vZ/images-6.jpg"; + r_text[8] = "https://i.ibb.co/m8Xg7Gj/images-7.jpg"; + r_text[9] = "https://i.ibb.co/FDYQHzB/images-8.jpg"; + r_text[10] = "https://i.ibb.co/fFTNXcy/images-9.jpg"; + r_text[11] = "https://i.ibb.co/rygwb0Q/images-10.jpg"; + r_text[12] = "https://i.ibb.co/ts8y9rC/images-11.jpg"; + r_text[13] = "https://i.ibb.co/VMHd02c/images-12.jpg"; + r_text[14] = "https://i.ibb.co/D1j3Np6/images-13.jpg"; + r_text[15] = "https://i.ibb.co/qWnhqVf/images-14.jpg"; + r_text[16] = "https://i.ibb.co/J7tr09N/images-15.jpg"; + r_text[17] = "https://i.ibb.co/NVhyQ1V/images-16.jpg"; + r_text[18] = "https://i.ibb.co/PcV78Mv/images-17.jpg"; + r_text[19] = "https://i.ibb.co/hYFY5PZ/images-18.jpg"; + r_text[20] = "https://i.ibb.co/n0vd5yR/images-19.jpg"; + r_text[21] = "https://i.ibb.co/hybc9KX/images-20.jpg"; + r_text[22] = "https://i.ibb.co/6JW0sL7/images-21.jpg"; + r_text[23] = "https://i.ibb.co/8MX592D/images-22.jpg"; + r_text[24] = "https://i.ibb.co/gPtrHPW/images-23.jpg"; + r_text[25] = "https://i.ibb.co/mGtWXyW/images-24.jpg"; + r_text[26] = "https://i.ibb.co/HD4rrbn/images-25.jpg"; + r_text[27] = "https://i.ibb.co/8mG4Xht/images-26.jpg"; + r_text[28] = "https://i.ibb.co/yF8qzgQ/images-27.jpg"; + r_text[29] = "https://i.ibb.co/vvhTtL9/images-28.jpg"; + r_text[30] = "https://i.ibb.co/x8WZS1G/images-29.jpg"; + r_text[31] = "https://i.ibb.co/hsb9c1N/images-30.jpg"; + r_text[32] = "https://i.ibb.co/tQ2r1d1/images-31.jpg"; + r_text[33] = "https://i.ibb.co/5Mr70MY/images-32.jpg"; + r_text[34] = "https://i.ibb.co/340nk6r/images-33.jpg"; + r_text[35] = "https://i.ibb.co/3yWYZ9X/images-34.jpg"; + r_text[36] = "https://i.ibb.co/59G5Gpc/images-35.jpg"; + r_text[37] = "https://i.ibb.co/j48QYXt/images-36.jpg"; + r_text[38] = "https://i.ibb.co/Nx2FHGB/images-37.jpg"; + r_text[39] = "https://i.ibb.co/7tc4Hph/images-38.jpg"; + r_text[40] = "https://i.ibb.co/jkKc78B/images-39.jpg"; + r_text[41] = "https://i.ibb.co/RTqRWn7/images-40.jpg"; + r_text[42] = "https://i.ibb.co/kS6LW3q/images.jpg"; + r_text[43] = "https://i.ibb.co/THdY0MS/images-1.jpg"; + r_text[44] = "https://i.ibb.co/n0P7KVt/images-2.jpg"; + r_text[45] = "https://i.ibb.co/MnZn5Tx/images-3.jpg"; + r_text[46] = "https://i.ibb.co/SVwMXrG/images-4.jpg"; + r_text[47] = "https://i.ibb.co/2jZb1mc/images-5.jpg"; + r_text[48] = "https://i.ibb.co/sPhWTxD/images-7.jpg"; + r_text[49] = "https://i.ibb.co/pjcFyzr/images-6.jpg"; + r_text[50] = "https://i.ibb.co/XFSmcfj/images-9.jpg"; + r_text[51] = "https://i.ibb.co/TM8Qxt9/images-8.jpg"; + r_text[52] = "https://i.ibb.co/f9RQ30f/images-10.jpg"; + r_text[53] = "https://i.ibb.co/9ZRBQHP/images-11.jpg"; + r_text[54] = "https://i.ibb.co/Sm9PmLT/images-12.jpg"; + r_text[55] = "https://i.ibb.co/B2BzjdR/images-13.jpg"; + r_text[56] = "https://i.ibb.co/HB8kDqr/images-14.jpg"; + r_text[57] = "https://i.ibb.co/r6HXkC6/images-15.jpg"; + r_text[58] = "https://i.ibb.co/6BMF531/images-16.jpg"; + r_text[59] = "https://i.ibb.co/47b8YYW/images-17.jpg"; + r_text[60] = "https://i.ibb.co/bzZ66dN/images-18.jpg"; + r_text[61] = "https://i.ibb.co/kmKGSJ1/images-19.jpg"; + r_text[62] = "https://i.ibb.co/nDfrfgd/images-20.jpg"; + r_text[63] = "https://i.ibb.co/bXf8Tj1/images-21.jpg"; + r_text[64] = "https://i.ibb.co/4pQxm7k/images-22.jpg"; + r_text[65] = "https://i.ibb.co/ngLqQdh/images-23.jpg"; + r_text[66] = "https://i.ibb.co/Y3RtBPB/images-24.jpg"; + r_text[67] = "https://i.ibb.co/0y2vDZ8/images-25.jpg"; + r_text[68] = "https://i.ibb.co/0Gzdx1d/images-26.jpg"; + r_text[69] = "https://i.ibb.co/54wVtm8/images-27.jpg"; + r_text[70] = "https://i.ibb.co/bQkJTZm/images-28.jpg"; + r_text[71] = "https://i.ibb.co/hCNMWqG/images-29.jpg"; + r_text[72] = "https://i.ibb.co/qDphPx9/images-30.jpg"; + r_text[73] = "https://i.ibb.co/M8jRW8N/IMG-20210410-WA0308.png"; + r_text[74] = "https://i.ibb.co/k1nmStf/IMG-20210410-WA0309.jpg"; + r_text[75] = "https://i.ibb.co/Ks5pgsB/IMG-20210410-WA0310.jpg"; + r_text[76] = "https://i.ibb.co/0YNzZxQ/IMG-20210410-WA0317.jpg"; + r_text[77] = "https://i.ibb.co/T0KbLFN/IMG-20210410-WA0318.jpg"; + r_text[78] = "https://i.ibb.co/wgQWTKy/IMG-20210410-WA0319.jpg"; + + var i = Math.floor(79*Math.random()) + + var respoimage = await axios.get(`${r_text[i]}`, { responseType: 'arraybuffer' }) + + await message.sendMessage(Buffer(respoimage.data), MessageType.image, {mimetype: Mimetype.png, caption: 'made by ⦁═Queen 👸 Alexa═⦁'}) + + })); +} diff --git a/plugins/antiswitch.js b/plugins/antiswitch.js new file mode 100644 index 0000000..1c9c9cc --- /dev/null +++ b/plugins/antiswitch.js @@ -0,0 +1,100 @@ +/* Copyright (C) 2020 Yusuf Usta. +Licensed under the GPL-3.0 License; +you may not use this file except in compliance with the License. +WhatsAsena - Yusuf Usta +*/ + +const Asena = require('../events'); +const config = require('../config'); +const Heroku = require('heroku-client'); +const heroku = new Heroku({ + token: config.HEROKU.API_KEY +}); +let baseURI = '/apps/' + config.HEROKU.APP_NAME; + + var l_dsc = '' + var alr_on = '' + var alr_off = '' + var succ_on = '' + var succ_off = '' + if (config.LANG == 'TR') { + l_dsc = 'Antilink aracını etkinleştirir.' + alr_on = 'Antilink halihazırda açık!' + alr_off = 'Antilink halihazırda kapalı!' + succ_on = 'Antilink Başarıyla Açıldı!' + succ_off = 'Antilink Başarıyla Kapatıldı!' + } + if (config.LANG == 'EN') { + l_dsc = 'Activates the Antilink tool.' + alr_on = 'Antilink is already open!' + alr_off = 'Antilink is currently closed!' + succ_on = 'Antilink Opened Successfully!' + succ_off = 'Antilink Closed Successfully!' + } + if (config.LANG == 'AZ') { + l_dsc = 'Antilink alətini aktivləşdirir.' + alr_on = 'Antilink hazırda açıqdır!' + alr_off = 'Antilink hazırda bağlıdır!' + succ_on = '*Antilink Uğurla Açıldı!*' + succ_off = '*Antilink Uğurla Bağlandı!*' + } + if (config.LANG == 'HI') { + l_dsc = 'एंटीलिंक टूल को सक्रिय करता है।' + alr_on = 'एंटीलिंक पहले से ही खुला है!' + alr_off = 'एंटीलिंक वर्तमान में बंद है!' + succ_on = 'एंटीलिंक सफलतापूर्वक खोला गया!' + succ_off = 'एंटीलिंक सफलतापूर्वक बंद!' + } + if (config.LANG == 'ML') { + l_dsc = 'ആന്റിലിങ്ക് ഉപകരണം സജീവമാക്കുന്നു.' + alr_on = 'ആന്റിലിങ്ക് ഇതിനകം തുറന്നു!' + alr_off = 'ആന്റിലിങ്ക് നിലവിൽ അടച്ചിരിക്കുന്നു!' + succ_on = 'ആന്റിലിങ്ക് വിജയകരമായി തുറന്നു!' + succ_off = 'ആന്റിലിങ്ക് വിജയകരമായി അടച്ചു!' + } + if (config.LANG == 'PT') { + l_dsc = 'Ativa a ferramenta Antilink.' + alr_on = 'O Antilink já está aberto!' + alr_off = 'Antilink está fechado no momento!' + succ_on = 'Antilink aberto com sucesso!' + succ_off = 'Antilink fechado com sucesso!' + } + if (config.LANG == 'RU') { + l_dsc = 'Активирует инструмент Antilink.' + alr_on = 'Антилинк уже открыт!' + alr_off = 'Антилинк сейчас закрыт!' + succ_on = 'Антилинк успешно открыт!' + succ_off = 'Антилинк успешно закрыт!' + } + if (config.LANG == 'ES') { + l_dsc = 'Activa la herramienta Antilink.' + alr_on = '¡Antilink ya está abierto!' + alr_off = '¡Antilink está cerrado actualmente!' + succ_on = '¡Antilink se abrió con éxito!' + succ_off = 'Antilink cerrado correctamente!' + } + if (config.LANG == 'ID') { + l_dsc = 'Mengaktifkan alat Antilink.' + alr_on = 'Antilink sudah terbuka!' + alr_off = 'Antilink saat ini ditutup!' + succ_on = 'Antilink Berhasil Dibuka!' + succ_off = 'Antilink Berhasil Ditutup!' + } + Asena.addCommand({pattern: 'antilink ?(.*)', fromMe: true, desc: l_dsc, usage: '.antilink on / off' }, (async (message, match) => { + if (match[1] == 'off') { + await heroku.patch(baseURI + '/config-vars', { + body: { + ['ANTİ_LİNK']: 'false' + } + }); + await message.sendMessage(succ_off) + } else if (match[1] == 'on') { + await heroku.patch(baseURI + '/config-vars', { + body: { + ['ANTİ_LİNK']: 'true' + } + }); + await message.sendMessage(succ_on) + } + })); + diff --git a/plugins/up_down.js b/plugins/up_down.js new file mode 100644 index 0000000..764537c --- /dev/null +++ b/plugins/up_down.js @@ -0,0 +1,20 @@ +/* Copyright (C) 2020 Yusuf Usta. + +Licensed under the GPL-3.0 License; +you may not use this file except in compliance with the License. + +WhatsAsena - Yusuf Usta + + +const Asena = require('../events'); +const {MessageType, Mimetype} = require('@adiwajshing/baileys'); +const got = require('got') +const fs = require('fs') +const Language = require('../language'); +const Lang = Language.getString('up_down'); + +Asena.addCommand({pattern: 'download ?(.*)', fromMe: true, desc: Lang.MEMES_DESC, usage: 'meme top;bottom'}, (async (message, match) => { + if (message.reply_message === false) return await message.sendMessage(Lang.NEED_REPLY); + +})); +*/ diff --git a/plugins/updater.js b/plugins/updater.js new file mode 100644 index 0000000..c9927ea --- /dev/null +++ b/plugins/updater.js @@ -0,0 +1,98 @@ +/* Copyright (C) 2020 Yusuf Usta. + +Licensed under the GPL-3.0 License; +you may not use this file except in compliance with the License. + +WhatsAsena - Yusuf Usta +*/ + +const simpleGit = require('simple-git'); +const git = simpleGit(); +const Asena = require('../events'); +const {MessageType} = require('@adiwajshing/baileys'); +const Config = require('../config'); +const exec = require('child_process').exec; +const Heroku = require('heroku-client'); +const { PassThrough } = require('stream'); +const heroku = new Heroku({ token: Config.HEROKU.API_KEY }) + +const Language = require('../language'); +const Lang = Language.getString('updater'); + + +Asena.addCommand({pattern: 'update$', fromMe: true, desc: Lang.UPDATER_DESC}, (async (message, match) => { + await git.fetch(); + var commits = await git.log([Config.BRANCH + '..origin/' + Config.BRANCH]); + if (commits.total === 0) { + await message.client.sendMessage( + message.jid, + Lang.UPDATE, MessageType.text + ); + } else { + var degisiklikler = Lang.NEW_UPDATE; + commits['all'].map( + (commit) => { + degisiklikler += '🔹 [' + commit.date.substring(0, 10) + ']: ' + commit.message + ' <' + commit.author_name + '>\n'; + } + ); + + await message.client.sendMessage( + message.jid, + degisiklikler + '```', MessageType.text + ); + } +})); + +Asena.addCommand({pattern: 'update now$', fromMe: true, desc: Lang.UPDATE_NOW_DESC}, (async (message, match) => { + await git.fetch(); + var commits = await git.log([Config.BRANCH + '..origin/' + Config.BRANCH]); + if (commits.total === 0) { + return await message.client.sendMessage( + message.jid, + Lang.UPDATE, MessageType.text + ); + } else { + var guncelleme = await message.reply(Lang.UPDATING); + if (Config.HEROKU.HEROKU) { + try { + var app = await heroku.get('/apps/' + Config.HEROKU.APP_NAME) + } catch { + await message.client.sendMessage( + message.jid,Lang.INVALID_HEROKU, MessageType.text); + await new Promise(r => setTimeout(r, 1000)); + return await message.client.sendMessage( + message.jid,Lang.IN_AF, MessageType.text); + } + + git.fetch('upstream', Config.BRANCH); + git.reset('hard', ['FETCH_HEAD']); + + var git_url = app.git_url.replace( + "https://", "https://api:" + Config.HEROKU.API_KEY + "@" + ) + + try { + await git.addRemote('heroku', git_url); + } catch { console.log('heroku remote ekli'); } + await git.push('heroku', Config.BRANCH); + + await message.client.sendMessage( + message.jid,Lang.UPDATED, MessageType.text); + + await message.sendMessage(Lang.AFTER_UPDATE); + + } else { + git.pull((async (err, update) => { + if(update && update.summary.changes) { + await message.client.sendMessage( + message.jid,Lang.UPDATED_LOCAL, MessageType.text); + exec('npm install').stderr.pipe(process.stderr); + } else if (err) { + await message.client.sendMessage( + message.jid,'*❌ Güncelleme başarısız oldu!*\n*Hata:* ```' + err + '```', MessageType.text); + } + })); + await guncelleme.delete(); + } + } +})); diff --git a/plugins/updown.js b/plugins/updown.js new file mode 100644 index 0000000..6cd376e --- /dev/null +++ b/plugins/updown.js @@ -0,0 +1,529 @@ +/* +const Asena = require('../events'); +const { MessageType } = require('@adiwajshing/baileys'); +const { similarity } = require('../similarity') +const Language = require('../language'); +const Lang = Language.getString('aiscanner'); +const pb = require('../config'); + +if (pb.WORKTYPE == 'private') { + Asena.addCommand({ pattern: '.', fromMe: true, dontAddCommandList: true }, (async (message, match) => { + if(message.fromMe) return + let command = [ + 'xmedia', + 'install', + 'plugin', + 'remove', + 'ban', + 'add', + 'promote', + 'demote', + 'mute', + 'unmute', + 'invite', + 'afk', + 'carbon', + 'mp4audio', + 'imagesticker', + 'deepai', + 'term', + 'ffmpeg', + 'filter', + 'stop', + 'welcome', + 'goodbye', + 'help', + 'restart', + 'shutdown', + 'dyno', + 'setvar', + 'delvar', + 'getvar', + 'locate', + 'meme', + 'neko', + 'notes', + 'save', + 'deleteNotes', + 'ocr', + 'kickme', + 'pp', + 'block', + 'unblock', + 'jid', + 'removebg', + 'scam', + 'trt', + 'currency', + 'tts', + 'song', + 'video', + 'yt', + 'wiki', + 'img', + 'github', + 'lyric', + 'covid', + 'ss', + 'insta', + 'animesay', + 'changesay', + 'trumpsay', + 'audio spam', + 'foto spam', + 'sticker spam', + 'vid spam', + 'killspam', + 'spam', + 'sticker', + 'alive', + 'sysd', + 'tagall', + 'tblend', + 'ttp', + 'att', + 'glowttp', + 'unvoice', + 'update', + 'voicy', + 'wallpaper', + 'weather', + 'speedtest', + 'ping', + 'short', + 'log', + 'report', + 'tagadmin', + 'gaymeter', + 'roll', + 'faceai', + 'colorai', + 'superai', + 'waifuai', + 'animai', + 'moodai', + 'dreamai', + 'ttiai', + 'neuraltalkai', + 'nudityai', + 'toonai', + 'ganstyle', + 'textai', + 'x2mp4', + 'x4mp4', + 'gif', + 'agif', + 'mp4enhance', + 'mp4blur', + 'interp', + 'mp4slowmo', + 'mp4stab', + 'mp4rainbow', + 'mp4color', + 'mp4art', + 'mp4negative', + 'mp4vintage', + 'mp4bw', + 'mp4reverse', + 'mp4edge', + 'mp4image', + 'spectrum', + 'waves', + 'frequency', + 'avec', + 'volumeaudio', + 'cqtaudio', + 'mp3eq', + 'mp3crusher', + 'mp3reverse', + 'mp3pitch', + 'mp3low', + 'x2mp3', + 'mp3volume', + 'bwimage', + 'vintageimage', + 'edgeimage', + 'enhanceimage', + 'blurimage', + 'grenimage', + 'negativeimage', + 'rainbowimage', + 'colorimage', + 'artimage', + 'degis', + 'scan', + 'whois', + 'lesmeter', + 'asena' ] + let sml = ''; + let string = match['input'].split(' ')[0]; + string = string.slice(1, match['input'].split(' ')[0].length); + let msg = Lang.FOUND + for (let i = 0; i < command.length; i++) { + let smlarity = similarity(command[i], string) + if (smlarity == 1) { + index1 = command[i].split('') + index2 = string.split('') + for (let j = 0; j < index1.length; j++) { + while (index1[j] != index2[j]) { + return await message.client.sendMessage(message.jid, msg + command[i] + '```', MessageType.text) + } + } + return; + } + if (smlarity > 0.6 && smlarity !== 0) { + sml += command[i] + '```' + } + } + if(sml.length < 1) return; + await message.client.sendMessage(message.jid, msg + sml, MessageType.text) + + })); +} +else if (pb.WORKTYPE == 'public') { + Asena.addCommand({ pattern: '.', fromMe: false, dontAddCommandList: true }, (async (message, match) => { + if(message.fromMe) return + let command = [ + 'xmedia', + 'install', + 'plugin', + 'remove', + 'ban', + 'add', + 'promote', + 'demote', + 'mute', + 'unmute', + 'invite', + 'afk', + 'carbon', + 'mp4audio', + 'imagesticker', + 'deepai', + 'term', + 'ffmpeg', + 'filter', + 'stop', + 'welcome', + 'goodbye', + 'help', + 'restart', + 'shutdown', + 'dyno', + 'setvar', + 'delvar', + 'getvar', + 'locate', + 'meme', + 'neko', + 'notes', + 'save', + 'deleteNotes', + 'ocr', + 'kickme', + 'pp', + 'block', + 'unblock', + 'jid', + 'removebg', + 'scam', + 'trt', + 'currency', + 'tts', + 'song', + 'video', + 'yt', + 'wiki', + 'img', + 'github', + 'lyric', + 'covid', + 'ss', + 'insta', + 'animesay', + 'changesay', + 'trumpsay', + 'audio spam', + 'foto spam', + 'sticker spam', + 'vid spam', + 'killspam', + 'spam', + 'sticker', + 'alive', + 'sysd', + 'tagall', + 'tblend', + 'ttp', + 'att', + 'glowttp', + 'unvoice', + 'update', + 'voicy', + 'wallpaper', + 'weather', + 'speedtest', + 'ping', + 'short', + 'log', + 'report', + 'tagadmin', + 'gaymeter', + 'roll', + 'faceai', + 'colorai', + 'superai', + 'waifuai', + 'animai', + 'moodai', + 'dreamai', + 'ttiai', + 'neuraltalkai', + 'nudityai', + 'toonai', + 'ganstyle', + 'textai', + 'x2mp4', + 'x4mp4', + 'gif', + 'agif', + 'mp4enhance', + 'mp4blur', + 'interp', + 'mp4slowmo', + 'mp4stab', + 'mp4rainbow', + 'mp4color', + 'mp4art', + 'mp4negative', + 'mp4vintage', + 'mp4bw', + 'mp4reverse', + 'mp4edge', + 'mp4image', + 'spectrum', + 'waves', + 'frequency', + 'avec', + 'volumeaudio', + 'cqtaudio', + 'mp3eq', + 'mp3crusher', + 'mp3reverse', + 'mp3pitch', + 'mp3low', + 'x2mp3', + 'mp3volume', + 'bwimage', + 'vintageimage', + 'edgeimage', + 'enhanceimage', + 'blurimage', + 'grenimage', + 'negativeimage', + 'rainbowimage', + 'colorimage', + 'artimage', + 'degis', + 'scan', + 'whois', + 'lesmeter', + 'asena' ] + let sml = ''; + let string = match['input'].split(' ')[0]; + string = string.slice(1, match['input'].split(' ')[0].length); + let msg = Lang.FOUND + for (let i = 0; i < command.length; i++) { + let smlarity = similarity(command[i], string) + if (smlarity == 1) { + index1 = command[i].split('') + index2 = string.split('') + for (let j = 0; j < index1.length; j++) { + while (index1[j] != index2[j]) { + return await message.client.sendMessage(message.jid, msg + command[i] + '```', MessageType.text) + } + } + return; + } + if (smlarity > 0.6 && smlarity !== 0) { + sml += command[i] + '```' + } + } + if(sml.length < 1) return; + await message.client.sendMessage(message.jid, msg + sml, MessageType.text) + + })); + Asena.addCommand({ pattern: '.', fromMe: true, dontAddCommandList: true }, (async (message, match) => { + if(message.fromMe) return + let command = [ + 'xmedia', + 'install', + 'plugin', + 'remove', + 'ban', + 'add', + 'promote', + 'demote', + 'mute', + 'unmute', + 'invite', + 'afk', + 'carbon', + 'mp4audio', + 'imagesticker', + 'deepai', + 'term', + 'ffmpeg', + 'filter', + 'stop', + 'welcome', + 'goodbye', + 'help', + 'restart', + 'shutdown', + 'dyno', + 'setvar', + 'delvar', + 'getvar', + 'locate', + 'meme', + 'neko', + 'notes', + 'save', + 'deleteNotes', + 'ocr', + 'kickme', + 'pp', + 'block', + 'unblock', + 'jid', + 'removebg', + 'scam', + 'trt', + 'currency', + 'tts', + 'song', + 'video', + 'yt', + 'wiki', + 'img', + 'github', + 'lyric', + 'covid', + 'ss', + 'insta', + 'animesay', + 'changesay', + 'trumpsay', + 'audio spam', + 'foto spam', + 'sticker spam', + 'vid spam', + 'killspam', + 'spam', + 'sticker', + 'alive', + 'sysd', + 'tagall', + 'tblend', + 'ttp', + 'att', + 'glowttp', + 'unvoice', + 'update', + 'voicy', + 'wallpaper', + 'weather', + 'speedtest', + 'ping', + 'short', + 'log', + 'report', + 'tagadmin', + 'gaymeter', + 'roll', + 'faceai', + 'colorai', + 'superai', + 'waifuai', + 'animai', + 'moodai', + 'dreamai', + 'ttiai', + 'neuraltalkai', + 'nudityai', + 'toonai', + 'ganstyle', + 'textai', + 'x2mp4', + 'x4mp4', + 'gif', + 'agif', + 'mp4enhance', + 'mp4blur', + 'interp', + 'mp4slowmo', + 'mp4stab', + 'mp4rainbow', + 'mp4color', + 'mp4art', + 'mp4negative', + 'mp4vintage', + 'mp4bw', + 'mp4reverse', + 'mp4edge', + 'mp4image', + 'spectrum', + 'waves', + 'frequency', + 'avec', + 'volumeaudio', + 'cqtaudio', + 'mp3eq', + 'mp3crusher', + 'mp3reverse', + 'mp3pitch', + 'mp3low', + 'x2mp3', + 'mp3volume', + 'bwimage', + 'vintageimage', + 'edgeimage', + 'enhanceimage', + 'blurimage', + 'grenimage', + 'negativeimage', + 'rainbowimage', + 'colorimage', + 'artimage', + 'degis', + 'scan', + 'whois', + 'lesmeter', + 'asena' ] + let sml = ''; + let string = match['input'].split(' ')[0]; + string = string.slice(1, match['input'].split(' ')[0].length); + let msg = Lang.FOUND + for (let i = 0; i < command.length; i++) { + let smlarity = similarity(command[i], string) + if (smlarity == 1) { + index1 = command[i].split('') + index2 = string.split('') + for (let j = 0; j < index1.length; j++) { + while (index1[j] != index2[j]) { + return await message.client.sendMessage(message.jid, msg + command[i] + '```', MessageType.text) + } + } + return; + } + if (smlarity > 0.6 && smlarity !== 0) { + sml += command[i] + '```' + } + } + if(sml.length < 1) return; + await message.client.sendMessage(message.jid, msg + sml, MessageType.text) + + })); +} +*/ diff --git a/plugins/web.js b/plugins/web.js new file mode 100644 index 0000000..9eee782 --- /dev/null +++ b/plugins/web.js @@ -0,0 +1,489 @@ +/* Copyright (C) 2020 Yusuf Usta. + +Licensed under the GPL-3.0 License; +you may not use this file except in compliance with the License. + +WhatsAsena - Yusuf Usta +*/ + +const Asena = require('../events'); +const {MessageType} = require('@adiwajshing/baileys'); +const speedTest = require('@lh2020/speedtest-net'); +const TinyURL = require('tinyurl'); +const Config = require('../config'); + +const Language = require('../language'); +const Lang = Language.getString('web'); +const SLang = Language.getString('webss'); +/* +var LANG = { RES: '' } +if (Config.LANG == 'TR') LANG.RES == '*Komut Bulunamadı!*\n*Benzer Komut:*' +if (Config.LANG == 'EN') LANG.RES == '*Command not Found!*\n*Similar Command:*' +if (Config.LANG == 'AZ') LANG.RES == '*Komanda tapılmadı!*\n*Oxşar əmr:*' +if (Config.LANG == 'PT') LANG.RES == '*Comando não encontrado!*\n*Comando Similar:*' +if (Config.LANG == 'RU') LANG.RES == '*Команда не найдена!*\n*Аналогичная команда:*' +if (Config.LANG == 'ID') LANG.RES == '*Perintah tidak ditemukan!*\n*Perintah serupa:*' +if (Config.LANG == 'ES') LANG.RES == '*¡Comando no encontrado!*\n*Comando similar:*' +if (Config.LANG == 'ML') LANG.RES == '*കമാൻഡ് കണ്ടില്ല!*\n*സമാന കമാൻഡ്:*' +if (Config.LANG == 'HI') LANG.RES == '*यह कमांड नहीं मिला!*\n*समान कमांड:*' + +function editDistance(comm, wr) { + comm = comm.toLowerCase(); + wr = wr.toLowerCase(); + + var costs = new Array(); + for (var i = 0; i <= comm.length; i++) { + var lastValue = i; + for (var j = 0; j <= wr.length; j++) { + if (i == 0) + costs[j] = j; + else { + if (j > 0) { + var newValue = costs[j - 1]; + if (comm.charAt(i - 1) != wr.charAt(j - 1)) + newValue = Math.min(Math.min(newValue, lastValue), + costs[j]) + 1; + costs[j - 1] = lastValue; + lastValue = newValue; + } + } + } + if (i > 0) + costs[wr.length] = lastValue; + } + return costs[wr.length]; +} + +function similarity(comm, wr) { + var longer = comm; + var shorter = wr; + if (comm.length < wr.length) { + longer = wr; + shorter = comm; + } + var longerLength = longer.length; + if (longerLength == 0) { + return 1.0; + } + return (longerLength - editDistance(longer, shorter)) / parseFloat(longerLength); +} + +Asena.addCommand({pattern: '?(.*)', fromMe: true, deleteCommand: false, dontAddCommandList: true}, (async (message, match) => { + var HANDLER = ''; + if (/\[(\W*)\]/.test(Config.HANDLERS)) { + HANDLER = Config.HANDLERS.match(/\[(\W*)\]/)[1][0]; + } else { + HANDLER = '.'; + } + const id = message.jid + var usm = HANDLER + match[1] + var xmedia = await similarity('xmedia',HANDLER + match[1]) + var install = await similarity('install',HANDLER + match[1]) + var plugin = await similarity('plugin',HANDLER + match[1]) + var remove = await similarity('remove',HANDLER + match[1]) + // var ban = await similarity('ban',HANDLER + match[1]) + // var add = await similarity('add',HANDLER + match[1]) + var promote = await similarity('promote',HANDLER + match[1]) + var demote = await similarity('demote',HANDLER + match[1]) + // var mute = await similarity('mute',HANDLER + match[1]) + // var unmute = await similarity('unmute',HANDLER + match[1]) + var invite = await similarity('invite',HANDLER + match[1]) + // var afk = await similarity('afk',HANDLER + match[1]) + var carbon = await similarity('carbon',HANDLER + match[1]) + var mp4audio = await similarity('mp4audio',HANDLER + match[1]) + var imagesticker = await similarity('imagesticker',HANDLER + match[1]) + var deepai = await similarity('deepai',HANDLER + match[1]) + var term = await similarity('term',HANDLER + match[1]) + var ffmpeg = await similarity('ffmpeg',HANDLER + match[1]) + var filter = await similarity('filter',HANDLER + match[1]) + // var stop = await similarity('stop',HANDLER + match[1]) + var welcome = await similarity('welcome',HANDLER + match[1]) + var goodbye = await similarity('goodbye',HANDLER + match[1]) + var help = await similarity('help',HANDLER + match[1]) + var degis = await similarity('degis',HANDLER + match[1]) + var restart = await similarity('restart',HANDLER + match[1]) + var shutdown = await similarity('shutdown',HANDLER + match[1]) + var dyno = await similarity('dyno',HANDLER + match[1]) + var setvar = await similarity('setvar',HANDLER + match[1]) + var delvar = await similarity('delvar',HANDLER + match[1]) + var getvar = await similarity('getvar',HANDLER + match[1]) + var locate = await similarity('locate',HANDLER + match[1]) + // var log = await similarity('log',HANDLER + match[1]) + var meme = await similarity('meme',HANDLER + match[1]) + var neko = await similarity('neko',HANDLER + match[1]) + var notes = await similarity('notes',HANDLER + match[1]) + // var save = await similarity('save',HANDLER + match[1]) + var deleteNotes = await similarity('deleteNotes',HANDLER + match[1]) + // var ocr = await similarity('ocr',HANDLER + match[1]) + var kickme = await similarity('kickme',HANDLER + match[1]) + // var pp = await similarity('pp',HANDLER + match[1]) + // var block = await similarity('block',HANDLER + match[1]) + // var unblock = await similarity('unblock',HANDLER + match[1]) + var jid = await similarity('jid',HANDLER + match[1]) + var removebg = await similarity('removebg',HANDLER + match[1]) + var report = await similarity('report',HANDLER + match[1]) + var scam = await similarity('scam',HANDLER + match[1]) + var scan = await similarity('scan',HANDLER + match[1]) + var trt = await similarity('trt',HANDLER + match[1]) + var currency = await similarity('currency',HANDLER + match[1]) + var tts = await similarity('tts',HANDLER + match[1]) + + var song = await similarity('song',HANDLER + match[1]) + var video = await similarity('video',HANDLER + match[1]) + // var yt = await similarity('yt',HANDLER + match[1]) + var wiki = await similarity('wiki',HANDLER + match[1]) + // var img = await similarity('img',HANDLER + match[1]) + var github = await similarity('github',HANDLER + match[1]) + var lyric = await similarity('lyric',HANDLER + match[1]) + var covid = await similarity('covid',HANDLER + match[1]) + // var ss = await similarity('ss',HANDLER + match[1]) + var insta = await similarity('insta',HANDLER + match[1]) + var animesay = await similarity('animesay',HANDLER + match[1]) + var changesay = await similarity('changesay',HANDLER + match[1]) + var trumpsay = await similarity('trumpsay',HANDLER + match[1]) + var audiospam = await similarity('audio spam',HANDLER + match[1]) + var fotospam = await similarity('foto spam',HANDLER + match[1]) + var stickerspam = await similarity('sticker spam',HANDLER + match[1]) + var vidspam = await similarity('vid spam',HANDLER + match[1]) + var killspam = await similarity('killspam',HANDLER + match[1]) + + var spam = await similarity('spam',HANDLER + match[1]) + var sticker = await similarity('sticker',HANDLER + match[1]) + var alive = await similarity('alive',usm) + var sysd = await similarity('sysd',HANDLER + match[1]) + var tagadmin = await similarity('tagadmin',HANDLER + match[1]) + var tagall = await similarity('tagall',HANDLER + match[1]) + var tblend = await similarity('tblend',HANDLER + match[1]) + // var ttp = await similarity('ttp',HANDLER + match[1]) + // var attp = await similarity('attp',HANDLER + match[1]) + var glowttp = await similarity('glowttp',HANDLER + match[1]) + var unvoice = await similarity('unvoice',HANDLER + match[1]) + // var update = await similarity('update',HANDLER + match[1]) + // var updatenow = await similarity('update now',HANDLER + match[1]) + var voicy = await similarity('voicy',HANDLER + match[1]) + var wallpaper = await similarity('wallpaper',HANDLER + match[1]) + var weather = await similarity('weather',HANDLER + match[1]) + var speedtest = await similarity('speedtest',HANDLER + match[1]) + var ping = await similarity('ping',HANDLER + match[1]) + var short = await similarity('short',HANDLER + match[1]) + var calc = await similarity('calc',HANDLER + match[1]) + var whois = await similarity('whois',HANDLER + match[1]) + var mp4enhance = await similarity('mp4enhance',HANDLER + match[1]) + var interp = await similarity('interp',HANDLER + match[1]) + var mp4slowmo = await similarity('mp4slowmo',HANDLER + match[1]) + var x4mp4 = await similarity('x4mp4',HANDLER + match[1]) + var x2mp4 = await similarity('x2mp4',HANDLER + match[1]) + var gif = await similarity('gif',HANDLER + match[1]) + var agif = await similarity('agif',HANDLER + match[1]) + var mp4blur = await similarity('mp4blur',HANDLER + match[1]) + var mp4stab = await similarity('mp4stab',HANDLER + match[1]) + var mp4rainbow = await similarity('mp4rainbow',HANDLER + match[1]) + var mp4color = await similarity('mp4color',HANDLER + match[1]) + var mp4art = await similarity('mp4art',HANDLER + match[1]) + var mp4negative = await similarity('mp4negative',HANDLER + match[1]) + var mp4vintage = await similarity('mp4vintage',HANDLER + match[1]) + var mp4bw = await similarity('mp4bw',HANDLER + match[1]) + var mp4reverse = await similarity('mp4reverse',HANDLER + match[1]) + var mp4edge = await similarity('mp4enge',HANDLER + match[1]) + var mp4image = await similarity('mp4image',HANDLER + match[1]) + var spectrum = await similarity('spectrum',HANDLER + match[1]) + var waves = await similarity('waves',HANDLER + match[1]) + var frequency = await similarity('frequency',HANDLER + match[1]) + var avec = await similarity('avec',HANDLER + match[1]) + var volumeaudio = await similarity('volumeaudio',HANDLER + match[1]) + var cqtaudio = await similarity('cqtaudio',HANDLER + match[1]) + var mp3eq = await similarity('mp3eq',HANDLER + match[1]) + var mp3crusher = await similarity('mp3crusher',HANDLER + match[1]) + var mp3reverse = await similarity('mp3reverse',HANDLER + match[1]) + var mp3pitch = await similarity('mp3pitch',HANDLER + match[1]) + var mp3low = await similarity('mp3low',HANDLER + match[1]) + var x2mp3 = await similarity('x2mp3',HANDLER + match[1]) + var mp3volume = await similarity('mp3volume',HANDLER + match[1]) + var bwimage = await similarity('bwimage',HANDLER + match[1]) + var vintageimage = await similarity('vintageimage',HANDLER + match[1]) + var edgeimage = await similarity('edgeimage',HANDLER + match[1]) + var enhanceimage = await similarity('enhanceimage',HANDLER + match[1]) + var blurimage = await similarity('blurimage',HANDLER + match[1]) + var grenimage = await similarity('grenimage',HANDLER + match[1]) + var negativeimage = await similarity('negativeimage',HANDLER + match[1]) + var rainbowimage = await similarity('rainbowimage',HANDLER + match[1]) + var colorimage = await similarity('colorimage',HANDLER + match[1]) + var artimage = await similarity('artimage',HANDLER + match[1]) + var moodai = await similarity('moodai',HANDLER + match[1]) + var colorai = await similarity('colorai',HANDLER + match[1]) + var superai = await similarity('superai',HANDLER + match[1]) + var waifuai = await similarity('waifuai',HANDLER + match[1]) + var dreamai = await similarity('dreamai',HANDLER + match[1]) + var neuraltalkai = await similarity('neuraltalkai',HANDLER + match[1]) + var ttiai = await similarity('ttiai',HANDLER + match[1]) + var toonai = await similarity('toonai',HANDLER + match[1]) + var textai = await similarity('textai',HANDLER + match[1]) + var nudityai = await similarity('nudityai',HANDLER + match[1]) + var ganstyle = await similarity('ganstyle',HANDLER + match[1]) + + if (message.message.startsWith(HANDLER)) { + if (xmedia > 0.6 && !match[1].includes('xmedia')) { return await message.client.sendMessage(id,LANG.RES + ' ```$xmedia```', MessageType.text) } + // else if (install > 0.6 && !match[1].includes('install')) { return await message.client.sendMessage(id,LANG.RES + ' ```$install```', MessageType.text) } + else if (plugin > 0.6 && !match[1].includes('plugin')) { return await message.client.sendMessage(id,LANG.RES + ' ```$plugin```', MessageType.text) } + else if (remove > 0.6 && !match[1].includes('remove')) { return await message.client.sendMessage(id,LANG.RES + ' ```$remove```', MessageType.text) } + // else if (ban > 0.6 && !match[1].includes('ban')) { return await message.client.sendMessage(id,LANG.RES + ' ```$ban```', MessageType.text) } + // else if (add > 0.6 && !match[1].includes('add')) { return await message.client.sendMessage(id,LANG.RES + ' ```$add```', MessageType.text) } + else if (promote > 0.6 && !match[1].includes('promote')) { return await message.client.sendMessage(id,LANG.RES + ' ```$promote```', MessageType.text) } + else if (demote> 0.6 && !match[1].includes('demote')) { return await message.client.sendMessage(id,LANG.RES + ' ```$demote```', MessageType.text) } + // else if (mute > 0.6 && !match[1].includes('mute')) { return await message.client.sendMessage(id,LANG.RES + ' ```$mute```', MessageType.text) } + // else if (unmute > 0.6 && !match[1].includes('unmute')) { return await message.client.sendMessage(id,LANG.RES + ' ```$unmute```', MessageType.text) } + else if (invite > 0.6 && !match[1].includes('invite')) { return await message.client.sendMessage(id,LANG.RES + ' ```$invite```', MessageType.text) } + // else if (afk > 0.6 && !match[1].includes('afk')) { return await message.client.sendMessage(id,LANG.RES + ' ```$afk```', MessageType.text) } + else if (carbon > 0.6 && !match[1].includes('carbon')) { return await message.client.sendMessage(id,LANG.RES + ' ```$carbon```', MessageType.text) } + else if (mp4audio > 0.6 && !match[1].includes('mp4audio')) { return await message.client.sendMessage(id,LANG.RES + ' ```$mp4audio```', MessageType.text) } + else if (deepai > 0.6 && !match[1].includes('deepai')) { return await message.client.sendMessage(id,LANG.RES + ' ```$deepai```', MessageType.text) } + else if (term > 0.6 && !match[1].includes('term')) { return await message.client.sendMessage(id,LANG.RES + ' ```$term```', MessageType.text) } + else if (ffmpeg > 0.6 && !match[1].includes('ffmpeg')) { return await message.client.sendMessage(id,LANG.RES + ' ```$ffmpeg```', MessageType.text) } + else if (filter > 0.6 && !match[1].includes('filter')) { return await message.client.sendMessage(id,LANG.RES + ' ```$filter```', MessageType.text) } + // else if (stop > 0.6 && !match[1].includes('stop')) { return await message.client.sendMessage(id,LANG.RES + ' ```$stop```', MessageType.text) } + else if (welcome > 0.6 && !match[1].includes('welcome')) { return await message.client.sendMessage(id,LANG.RES + ' ```$welcome```', MessageType.text) } + else if (goodbye > 0.6 && !match[1].includes('goodbye')) { return await message.client.sendMessage(id,LANG.RES + ' ```$goodbye```', MessageType.text) } + else if (help> 0.6 && !match[1].includes('help')) { return await message.client.sendMessage(id,LANG.RES + ' ```$help```', MessageType.text) } + else if (degis > 0.6 && !match[1].includes('degis')) { return await message.client.sendMessage(id,LANG.RES + ' ```$degis```', MessageType.text) } + else if (restart > 0.6 && !match[1].includes('restart')) { return await message.client.sendMessage(id,LANG.RES + ' ```$restart```', MessageType.text) } + else if (shutdown > 0.6 && !match[1].includes('shutdown')) { return await message.client.sendMessage(id,LANG.RES + ' ```$shutdown```', MessageType.text) } + else if (dyno> 0.6 && !match[1].includes('dyno')) { return await message.client.sendMessage(id,LANG.RES + ' ```$dyno```', MessageType.text) } + else if (setvar > 0.6 && !match[1].includes('setvar')) { return await message.client.sendMessage(id,LANG.RES + ' ```$setvar```', MessageType.text) } + else if (delvar > 0.6 && !match[1].includes('delvar')) { return await message.client.sendMessage(id,LANG.RES + ' ```$delvar```', MessageType.text) } + else if (getvar > 0.6 && !match[1].includes('getvar')) { return await message.client.sendMessage(id,LANG.RES + ' ```$getvar```', MessageType.text) } + + else if (locate > 0.6 && !match[1].includes('locate')) { return await message.client.sendMessage(id,LANG.RES + ' ```$locate```', MessageType.text) } + // else if (log > 0.6 && !match[1].includes('log')) { return await message.client.sendMessage(id,LANG.RES + ' ```$log```', MessageType.text) } + else if (meme> 0.6 && !match[1].includes('meme')) { return await message.client.sendMessage(id,LANG.RES + ' ```$meme```', MessageType.text) } + else if (neko > 0.6 && !match[1].includes('neko')) { return await message.client.sendMessage(id,LANG.RES + ' ```$neko```', MessageType.text) } + else if (notes > 0.6 && !match[1].includes('notes')) { return await message.client.sendMessage(id,LANG.RES + ' ```$notes```', MessageType.text) } + // else if (save > 0.6 && !match[1].includes('save')) { return await message.client.sendMessage(id,LANG.RES + ' ```$save```', MessageType.text) } + else if (deleteNotes > 0.6 && !match[1].includes('deleteNotes')) { return await message.client.sendMessage(id,LANG.RES + ' ```$deleteNotes```', MessageType.text) } + // else if (ocr > 0.6 && !match[1].includes('ocr')) { return await message.client.sendMessage(id,LANG.RES + ' $ocr', MessageType.text) } + else if (kickme > 0.6 && !match[1].includes('kickme')) { return await message.client.sendMessage(id,LANG.RES + ' $kickme', MessageType.text) } + // else if (pp > 0.6 && !match[1].includes('pp')) { return await message.client.sendMessage(id,LANG.RES + ' $pp', MessageType.text) } + // else if (block > 0.6 && !match[1].includes('block')) { return await message.client.sendMessage(id,LANG.RES + ' $block', MessageType.text) } + // else if (unblock > 0.6 && !match[1].includes('unblock')) { return await message.client.sendMessage(id,LANG.RES + ' $unblock', MessageType.text) } + else if (jid > 0.6 && !match[1].includes('jid')) { return await message.client.sendMessage(id,LANG.RES + ' $jid', MessageType.text) } + else if (removebg > 0.6 && !match[1].includes('removebg')) { return await message.client.sendMessage(id,LANG.RES + ' $removebg', MessageType.text) } + else if (report > 0.6 && !match[1].includes('report')) { return await message.client.sendMessage(id,LANG.RES + ' $report', MessageType.text) } + // else if (scam > 0.6 && !match[1].includes('scam')) { return await message.client.sendMessage(id,LANG.RES + ' $scam', MessageType.text) } + // else if (scan > 0.6 && !match[1].includes('scan')) { return await message.client.sendMessage(id,LANG.RES + ' $scan', MessageType.text) } + // else if (trt > 0.6 && !match[1].includes('trt')) { return await message.client.sendMessage(id,LANG.RES + ' $trt', MessageType.text) } + // else if (currency > 0.6 && !match[1].includes('currency')) { return await message.client.sendMessage(id,LANG.RES + ' $currency', MessageType.text) } + // else if (tts > 0.6 && !match[1].includes('tts')) { return await message.client.sendMessage(id,LANG.RES + ' $tts', MessageType.text) } + else if (song > 0.6 && !match[1].includes('song')) { return await message.client.sendMessage(id,LANG.RES + ' $song', MessageType.text) } + else if (video > 0.6 && !match[1].includes('video')) { return await message.client.sendMessage(id,LANG.RES + ' $video', MessageType.text) } + // else if (yt > 0.6 && !match[1].includes('yt')) { return await message.client.sendMessage(id,LANG.RES + ' $yt', MessageType.text) } + else if (wiki > 0.6 && !match[1].includes('wiki')) { return await message.client.sendMessage(id,LANG.RES + ' $wiki', MessageType.text) } + // else if (img > 0.6 && !match[1].includes('img')) { return await message.client.sendMessage(id,LANG.RES + ' $img', MessageType.text) } + else if (github > 0.6 && !match[1].includes('github')) { return await message.client.sendMessage(id,LANG.RES + ' $github', MessageType.text) } + else if (lyric > 0.6 && !match[1].includes('lyric')) { return await message.client.sendMessage(id,LANG.RES + ' $lyric', MessageType.text) } + else if (covid > 0.6 && !match[1].includes('covid')) { return await message.client.sendMessage(id,LANG.RES + ' $covid', MessageType.text) } + // else if (ss > 0.6 && !match[1].includes('ss')) { return await message.client.sendMessage(id,LANG.RES + ' $ss', MessageType.text) } + else if (insta > 0.6 && !match[1].includes('insta')) { return await message.client.sendMessage(id,LANG.RES + ' $insta', MessageType.text) } + else if (animesay > 0.6 && !match[1].includes('animesay')) { return await message.client.sendMessage(id,LANG.RES + ' $animesay', MessageType.text) } + else if (changesay > 0.6 && !match[1].includes('changesay')) { return await message.client.sendMessage(id,LANG.RES + ' $changesay', MessageType.text) } + else if (trumpsay > 0.6 && !match[1].includes('trumpsay')) { return await message.client.sendMessage(id,LANG.RES + ' $trumpsay', MessageType.text) } + else if (audiospam > 0.6 && !match[1].includes('audio spam')) { return await message.client.sendMessage(id,LANG.RES + ' $audio spam', MessageType.text) } + else if (fotospam > 0.6 && !match[1].includes('foto spam')) { return await message.client.sendMessage(id,LANG.RES + ' $foto spam', MessageType.text) } + else if (stickerspam > 0.6 && !match[1].includes('sticker spam')) { return await message.client.sendMessage(id,LANG.RES + ' $sticker spam', MessageType.text) } + else if (vidspam > 0.6 && !match[1].includes('vid spam')) { return await message.client.sendMessage(id,LANG.RES + ' $vid spam', MessageType.text) } + + else if (killspam > 0.6 && !match[1].includes('killspam')) { return await message.client.sendMessage(id,LANG.RES + ' $killspam', MessageType.text) } + else if (spam > 0.6 && !match[1].includes('spam')) { return await message.client.sendMessage(id,LANG.RES + ' $spam', MessageType.text) } + else if (sticker > 0.6 && !match[1].includes('sticker')) { return await message.client.sendMessage(id,LANG.RES + ' $sticker', MessageType.text) } + else if (alive > 0.6 && !match[1].includes('alive')) { return await message.client.sendMessage(id,LANG.RES + ' $alive', MessageType.text) } + else if (sysd > 0.6 && !match[1].includes('sysd')) { return await message.client.sendMessage(id,LANG.RES + ' $sysd', MessageType.text) } + else if (tagadmin > 0.6 && !match[1].includes('tagadmin')) { return await message.client.sendMessage(id,LANG.RES + ' $tagadmin', MessageType.text) } + else if (tagall > 0.6 && !match[1].includes('tagall')) { return await message.client.sendMessage(id,LANG.RES + ' $taggall', MessageType.text) } + else if (tblend > 0.6 && !match[1].includes('tblend')) { return await message.client.sendMessage(id,LANG.RES + ' $tblend', MessageType.text) } + // else if (ttp > 0.6 && !match[1].includes('ttp')) { return await message.client.sendMessage(id,LANG.RES + ' $ttp', MessageType.text) } + // else if (attp > 0.6 && !match[1].includes('attp')) { return await message.client.sendMessage(id,LANG.RES + ' $attp', MessageType.text) } + else if (glowttp > 0.6 && !match[1].includes('glowttp')) { return await message.client.sendMessage(id,LANG.RES + ' $glowttp', MessageType.text) } + else if (unvoice > 0.6 && !match[1].includes('unvoice')) { return await message.client.sendMessage(id,LANG.RES + ' $unvoice', MessageType.text) } + // else if (update > 0.6 && !match[1].includes('update' && !match[1].includes('update now')) { return await message.client.sendMessage(id,LANG.RES + ' $update', MessageType.text) } + // else if (updatenow > 0.6 && !match[1].includes('update now')) { return await message.client.sendMessage(id,LANG.RES + ' $updatenow', MessageType.text) } + else if (voicy > 0.6 && !match[1].includes('voicy')) { return await message.client.sendMessage(id,LANG.RES + ' $voicy', MessageType.text) } + else if (wallpaper > 0.6 && !match[1].includes('wallpaper')) { return await message.client.sendMessage(id,LANG.RES + ' $wallpaper', MessageType.text) } + else if (weather > 0.6 && !match[1].includes('weather')) { return await message.client.sendMessage(id,LANG.RES + ' $weather', MessageType.text) } + else if (speedtest > 0.6 && !match[1].includes('speedtest')) { return await message.client.sendMessage(id,LANG.RES + ' $speedtest', MessageType.text) } + else if (ping > 0.6 && !match[1].includes('ping')) { return await message.client.sendMessage(id,LANG.RES + ' $ping', MessageType.text) } + else if (short > 0.6 && !match[1].includes('short')) { return await message.client.sendMessage(id,LANG.RES + ' $short', MessageType.text) } + else if (calc > 0.6 && !match[1].includes('calc')) { return await message.client.sendMessage(id,LANG.RES + ' $calc', MessageType.text) } + else if (whois > 0.6 && !match[1].includes('whois')) { return await message.client.sendMessage(id,LANG.RES + ' $whois', MessageType.text) } + /* else if (mp4enhance > 0.6 && !match[1].includes('mp4enhance')) { return await message.client.sendMessage(id,LANG.RES + ' $mp4enhance', MessageType.text) } + else if (interp > 0.6 && !match[1].includes('interp')) { return await message.client.sendMessage(id,LANG.RES + ' $img', MessageType.text) } + else if (mp4slowmo > 0.6 && !match[1].includes('mp4slowmo')) { return await message.client.sendMessage(id,LANG.RES + ' $mp4slowmo', MessageType.text) } + else if (x4mp4 > 0.6 && !match[1].includes('x4mp4')) { return await message.client.sendMessage(id,LANG.RES + ' $x4mp4', MessageType.text) } + else if (x2mp4 > 0.6 && !match[1].includes('x2mp4')) { return await message.client.sendMessage(id,LANG.RES + ' $x2mp4', MessageType.text) } + else if (gif > 0.6 && !match[1].includes('gif')) { return await message.client.sendMessage(id,LANG.RES + ' $gif', MessageType.text) } + else if (agif > 0.6 && !match[1].includes('agif')) { return await message.client.sendMessage(id,LANG.RES + ' $agif', MessageType.text) } + else if (mp4blur > 0.6 && !match[1].includes('mp4blur')) { return await message.client.sendMessage(id,LANG.RES + ' $mp4blur', MessageType.text) } + else if (mp4stab > 0.6 && !match[1].includes('mp4stab')) { return await message.client.sendMessage(id,LANG.RES + ' ```$mp4stab```', MessageType.text) } + else if (mp4rainbow > 0.6 && !match[1].includes('mp4rainbow')) { return await message.client.sendMessage(id,LANG.RES + ' ```$mp4rainbow```', MessageType.text) } + else if (mp4color > 0.6 && !match[1].includes('mp4color')) { return await message.client.sendMessage(id,LANG.RES + ' ```$mp4color```', MessageType.text) } + else if (mp4art > 0.6 && !match[1].includes('mp4art')) { return await message.client.sendMessage(id,LANG.RES + ' ```$mp4art```', MessageType.text) } + else if (mp4negative > 0.6 && !match[1].includes('mp4negative')) { return await message.client.sendMessage(id,LANG.RES + ' ```$mp4negative```', MessageType.text) } + else if (mp4vintage > 0.6 && !match[1].includes('mp4vintage')) { return await message.client.sendMessage(id,LANG.RES + ' ```$mp4vintage```', MessageType.text) } + else if (mp4bw > 0.6 && !match[1].includes('mp4bw')) { return await message.client.sendMessage(id,LANG.RES + ' ```$mp4bw```', MessageType.text) } + else if (mp4reverse > 0.6 && !match[1].includes('mp4reverse')) { return await message.client.sendMessage(id,LANG.RES + ' ```$mp4reverse```', MessageType.text) } + else if (mp4edge > 0.6 && !match[1].includes('mp4edge')) { return await message.client.sendMessage(id,LANG.RES + ' ```$mp4edge```', MessageType.text) } + else if (mp4image > 0.6 && !match[1].includes('mp4image')) { return await message.client.sendMessage(id,LANG.RES + ' ```$mp4image```', MessageType.text) } + else if (spectrum > 0.6 && !match[1].includes('spectrum')) { return await message.client.sendMessage(id,LANG.RES + ' ```$spectrum```', MessageType.text) } + else if (waves > 0.6 && !match[1].includes('waves')) { return await message.client.sendMessage(id,LANG.RES + ' ```$waves```', MessageType.text) } + else if (frequency > 0.6 && !match[1].includes('frequency')) { return await message.client.sendMessage(id,LANG.RES + ' ```$frequency```', MessageType.text) } + else if (avec > 0.6 && !match[1].includes('avec')) { return await message.client.sendMessage(id,LANG.RES + ' ```$avec```', MessageType.text) } + else if (volumeaudio > 0.6 && !match[1].includes('volumeaudio')) { return await message.client.sendMessage(id,LANG.RES + ' ```$volumeaudio```', MessageType.text) } + else if (cqtaudio > 0.6 && !match[1].includes('cqtaudio')) { return await message.client.sendMessage(id,LANG.RES + ' ```$cqtaudio```', MessageType.text) } + else if (mp3eq > 0.6 && !match[1].includes('mp3eq')) { return await message.client.sendMessage(id,LANG.RES + ' ```$mp3eq```', MessageType.text) } + else if (mp3crusher > 0.6 && !match[1].includes('mp3crusher')) { return await message.client.sendMessage(id,LANG.RES + ' ```$mp3crusher```', MessageType.text) } + else if (mp3reverse > 0.6 && !match[1].includes('mp3reverse')) { return await message.client.sendMessage(id,LANG.RES + ' ```$mp3reverse```', MessageType.text) } + else if (mp3pitch > 0.6 && !match[1].includes('mp3pitch')) { return await message.client.sendMessage(id,LANG.RES + ' ```$mp3pitch```', MessageType.text) } + else if (mp3low > 0.6 && !match[1].includes('mp3low')) { return await message.client.sendMessage(id,LANG.RES + ' ```$mp3low```', MessageType.text) } + else if (x2mp3 > 0.6 && !match[1].includes('x2mp3')) { return await message.client.sendMessage(id,LANG.RES + ' ```$x2mp3```', MessageType.text) } + else if (mp3volume > 0.6 && !match[1].includes('mp3volume')) { return await message.client.sendMessage(id,LANG.RES + ' ```$mp3volume```', MessageType.text) } + else if (bwimage > 0.6 && !match[1].includes('bwimage')) { return await message.client.sendMessage(id,LANG.RES + ' ```$bwimage```', MessageType.text) } + else if (vintageimage > 0.6 && !match[1].includes('vintageimage')) { return await message.client.sendMessage(id,LANG.RES + ' ```$vintageimage```', MessageType.text) } + else if (edgeimage > 0.6 && !match[1].includes('edgeimage')) { return await message.client.sendMessage(id,LANG.RES + ' ```$edgeimage```', MessageType.text) } + else if (enhanceimage > 0.6 && !match[1].includes('enhanceimage')) { return await message.client.sendMessage(id,LANG.RES + ' ```$enhanceimage```', MessageType.text) } + else if (blurimage > 0.6 && !match[1].includes('blurimage')) { return await message.client.sendMessage(id,LANG.RES + ' ```$blurimage```', MessageType.text) } + else if (grenimage > 0.6 && !match[1].includes('grenimage')) { return await message.client.sendMessage(id,LANG.RES + ' ```$grenimage```', MessageType.text) } + else if (negativeimage> 0.6 && !match[1].includes('negativeimage')) { return await message.client.sendMessage(id,LANG.RES + ' ```$negativeimage```', MessageType.text) } + else if (rainbowimage > 0.6 && !match[1].includes('rainbowimage')) { return await message.client.sendMessage(id,LANG.RES + ' ```$rainbowimage```', MessageType.text) } + else if (colorimage > 0.6 && !match[1].includes('colorimage')) { return await message.client.sendMessage(id,LANG.RES + ' ```$colorimage```', MessageType.text) } + else if (artimage > 0.6 && !match[1].includes('artimage')) { return await message.client.sendMessage(id,LANG.RES + ' ```$artimage```', MessageType.text) } + else if (moodai > 0.6 && !match[1].includes('moodai')) { return await message.client.sendMessage(id,LANG.RES + ' ```$moodai```', MessageType.text) } + else if (colorai > 0.6 && !match[1].includes('colorai')) { return await message.client.sendMessage(id,LANG.RES + ' ```$colorai```', MessageType.text) } + else if (superai > 0.6 && !match[1].includes('superai')) { return await message.client.sendMessage(id,LANG.RES + ' ```$superai```', MessageType.text) } + else if (waifuai > 0.6 && !match[1].includes('waifuai')) { return await message.client.sendMessage(id,LANG.RES + ' ```$waifuai```', MessageType.text) } + else if (dreamai > 0.6 && !match[1].includes('dreamai')) { return await message.client.sendMessage(id,LANG.RES + ' ```$dreamai```', MessageType.text) } + else if (neuraltalkai > 0.6 && !match[1].includes('neuraltalkai')) { return await message.client.sendMessage(id,LANG.RES + ' ```$neuraltalkai```', MessageType.text) } + else if (ttiai > 0.6 && !match[1].includes('ttiai')) { return await message.client.sendMessage(id,LANG.RES + ' ```$ttiai```', MessageType.text) } + else if (toonai > 0.6 && !match[1].includes('toonai')) { return await message.client.sendMessage(id,LANG.RES + ' ```$toonai```', MessageType.text) } + else if (textai > 0.6 && !match[1].includes('textai')) { return await message.client.sendMessage(id,LANG.RES + ' ```$textai```', MessageType.text) } + else if (nudityai > 0.6 && !match[1].includes('nudityai')) { return await message.client.sendMessage(id,LANG.RES + ' ```$nudityai```', MessageType.text) } + else if (ganstyle > 0.6 && !match[1].includes('ganstyle')) { return await message.client.sendMessage(id,LANG.RES + ' ```$ganstlye```', MessageType.text) } + + } +})); +*/ +// https://github.com/ddsol/speedtest.net/blob/master/bin/index.js#L86 +function speedText(speed) { + let bits = speed * 8; + const units = ['', 'K', 'M', 'G', 'T']; + const places = [0, 1, 2, 3, 3]; + let unit = 0; + while (bits >= 2000 && unit < 4) { + unit++; + bits /= 1000; + } + + return `${bits.toFixed(places[unit])} ${units[unit]}bps`; +} + +Asena.addCommand({pattern: 'speedtest', fromMe: true, desc: Lang.SPEEDTEST_DESC}, (async (message, match) => { + var msg = await message.reply(Lang.SPEEDTESTING); + var st = await speedTest({acceptLicense: true, acceptGdpr: true}); + + await message.client.sendMessage( + message.jid,Lang.SPEEDTEST_RESULT + '\n\n' + + '*ISP:* ```' + st.isp + '```\n' + + '*Ping:* ```' + st.ping.latency + 'ms```\n' + + '*' + Lang.UPLOAD + ':* ```' + speedText(st.upload.bandwidth) + '```\n' + + '*' + Lang.DOWNLOAD + ':* ```' + speedText(st.download.bandwidth) + '```\n',MessageType.text + ); + await msg.delete(); +})); + +Asena.addCommand({pattern: 'ping$', fromMe: true, deleteCommand: false, desc: Lang.PING_DESC}, (async (message, match) => { + 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 }); +})); + +if (Config.WORKTYPE == 'private') { + + Asena.addCommand({pattern: 'short ?(.*)', fromMe: true, desc: Lang.URL}, (async (message, match) => { + + if (match[1] === '') return await message.client.sendMessage(message.jid, SLang.LİNK, MessageType.text); + + TinyURL.shorten(`${match[1]}`, async(res, err) => { + if (err) + await message.client.sendMessage(message.jid, '*#### Error! ####*\n\n' + '```' + err + '```', MessageType.text); + + await message.client.sendMessage(message.jid,`*Original Link:* ${match[1]}\n*Short Link:* ` + res, MessageType.text) + }); + })); + Asena.addCommand({pattern: 'calc ?(.*)', fromMe: true, desc: Lang.CALC }, (async (message, match) => { + if (match[1].length < 4) { return await message.client.sendMessage(message.jid,Lang.VALİD, MessageType.text) } + if (match[1].includes('+')) { var split = match[1].split('+'), sonsayi = split[1], ilksayi = split[0] + var result = -(-ilksayi - sonsayi) + try { await message.client.sendMessage(message.jid,Lang.SUC + result, MessageType.text) } + catch (err) { return await message.client.sendMessage(message.jid,Lang.UNSUC + err,MessageType.text); + } + } + else if (match[1].includes('-')) { var split = match[1].split('-'), sonsayicik = split[1], ilksayicik = split[0] + var result = ilksayicik - sonsayicik + try { await message.client.sendMessage(message.jid,Lang.SUC + result, MessageType.text) } + catch (err) { return await message.client.sendMessage(message.jid,Lang.UNSUC + err,MessageType.text); + } + } + else if (match[1].includes('x')) { var split = match[1].split('x'), sonsayicarp = split[1], ilksayicarp = split[0] + var result = ilksayicarp * sonsayicarp + try { await message.client.sendMessage(message.jid,Lang.SUC + result, MessageType.text) } + catch (err) { return await message.client.sendMessage(message.jid,Lang.UNSUC + err,MessageType.text); + } + } + else if (match[1].includes('/')) { var split = match[1].split('/'), sonsayibol = split[1], ilksayibol = split[0] + var result = ilksayibol / sonsayibol + try { await message.client.sendMessage(message.jid,Lang.SUC + result, MessageType.text) } + catch (err) { return await message.client.sendMessage(message.jid,Lang.UNSUC + err,MessageType.text) + } + } + })); +} +else if (Config.WORKTYPE == 'public') { + + Asena.addCommand({pattern: 'short ?(.*)', fromMe: false, desc: Lang.URL}, (async (message, match) => { + + if (match[1] === '') return await message.client.sendMessage(message.jid, SLang.LİNK, MessageType.text); + + TinyURL.shorten(`${match[1]}`, async(res, err) => { + if (err) + await message.client.sendMessage(message.jid, '*#### Error! ####*\n\n' + '```' + err + '```', MessageType.text); + + await message.client.sendMessage(message.jid,`*Original Link:* ${match[1]}\n*Short Link:* ` + res, MessageType.text) + }); + })); + Asena.addCommand({pattern: 'calc ?(.*)', fromMe: false, desc: Lang.CALC }, (async (message, match) => { + if (match[1].length < 4) { return await message.client.sendMessage(message.jid,Lang.VALİD, MessageType.text) } + if (match[1].includes('+')) { var split = match[1].split('+'), sonsayi = split[1], ilksayi = split[0] + var result = -(-ilksayi - sonsayi) + try { await message.client.sendMessage(message.jid,Lang.SUC + result, MessageType.text) } + catch (err) { return await message.client.sendMessage(message.jid,Lang.UNSUC + err,MessageType.text); + } + } + else if (match[1].includes('-')) { var split = match[1].split('-'), sonsayicik = split[1], ilksayicik = split[0] + var result = ilksayicik - sonsayicik + try { await message.client.sendMessage(message.jid,Lang.SUC + result, MessageType.text) } + catch (err) { return await message.client.sendMessage(message.jid,Lang.UNSUC + err,MessageType.text); + } + } + else if (match[1].includes('x')) { var split = match[1].split('x'), sonsayicarp = split[1], ilksayicarp = split[0] + var result = ilksayicarp * sonsayicarp + try { await message.client.sendMessage(message.jid,Lang.SUC + result, MessageType.text) } + catch (err) { return await message.client.sendMessage(message.jid,Lang.UNSUC + err,MessageType.text); + } + } + else if (match[1].includes('/')) { var split = match[1].split('/'), sonsayibol = split[1], ilksayibol = split[0] + var result = ilksayibol / sonsayibol + try { await message.client.sendMessage(message.jid,Lang.SUC + result, MessageType.text) } + catch (err) { return await message.client.sendMessage(message.jid,Lang.UNSUC + err,MessageType.text) + } + } + })); +} From 7352f58318ffb21cd4b5ef8d40bf43c8664f92bb Mon Sep 17 00:00:00 2001 From: ChamodKeshan <98629920+ChamodKeshan@users.noreply.github.com> Date: Tue, 15 Feb 2022 07:30:28 +0530 Subject: [PATCH 07/32] Create p --- plugins/sql/p | 1 + 1 file changed, 1 insertion(+) create mode 100644 plugins/sql/p diff --git a/plugins/sql/p b/plugins/sql/p new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/plugins/sql/p @@ -0,0 +1 @@ + From 446fab52500a5adbda0fb19ee599d1cf1323044d Mon Sep 17 00:00:00 2001 From: ChamodKeshan <98629920+ChamodKeshan@users.noreply.github.com> Date: Tue, 15 Feb 2022 07:34:03 +0530 Subject: [PATCH 08/32] =?UTF-8?q?=F0=9F=92=9EValentine.update=F0=9F=92=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 👾Error fix🔖 💘💕💝This lovely day update💕💕💕 --- plugins/sql/filters.js | 79 ++++++++++++++++++++++++++++++++++++++++ plugins/sql/fsfl.js | 1 + plugins/sql/greetings.js | 73 +++++++++++++++++++++++++++++++++++++ plugins/sql/lydia.js | 28 ++++++++++++++ plugins/sql/notes.js | 52 ++++++++++++++++++++++++++ plugins/sql/plugin.js | 34 +++++++++++++++++ 6 files changed, 267 insertions(+) create mode 100644 plugins/sql/filters.js create mode 100644 plugins/sql/fsfl.js create mode 100644 plugins/sql/greetings.js create mode 100644 plugins/sql/lydia.js create mode 100644 plugins/sql/notes.js create mode 100644 plugins/sql/plugin.js diff --git a/plugins/sql/filters.js b/plugins/sql/filters.js new file mode 100644 index 0000000..f214171 --- /dev/null +++ b/plugins/sql/filters.js @@ -0,0 +1,79 @@ +/* Copyright (C) 2020 Yusuf Usta. + +Licensed under the GPL-3.0 License; +you may not use this file except in compliance with the License. + +WhatsAsena - Yusuf Usta +*/ + +const config = require('../../config'); +const { DataTypes } = require('sequelize'); + +const FiltersDB = config.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/plugins/sql/fsfl.js b/plugins/sql/fsfl.js new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/plugins/sql/fsfl.js @@ -0,0 +1 @@ + diff --git a/plugins/sql/greetings.js b/plugins/sql/greetings.js new file mode 100644 index 0000000..8fbb546 --- /dev/null +++ b/plugins/sql/greetings.js @@ -0,0 +1,73 @@ +/* Copyright (C) 2020 Yusuf Usta. + +Licensed under the GPL-3.0 License; +you may not use this file except in compliance with the License. + +WhatsAsena - Yusuf Usta +*/ + +const config = require('../../config'); +const { DataTypes } = require('sequelize'); + +const GreetingsDB = config.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/plugins/sql/lydia.js b/plugins/sql/lydia.js new file mode 100644 index 0000000..a2d2995 --- /dev/null +++ b/plugins/sql/lydia.js @@ -0,0 +1,28 @@ +/* Copyright (C) 2020 Yusuf Usta. + +Licensed under the GPL-3.0 License; +you may not use this file except in compliance with the License. + +WhatsAsena - Yusuf Usta + + +const config = require('../../config'); +const { DataTypes } = require('sequelize'); + +const LydiaDB = config.DATABASE.define('Lydia', { + session_id: { + type: DataTypes.STRING, + allowNull: false + }, + expires: { + type: DataTypes.INTEGER, + allowNull: false + }, + users: { + type: DataTypes.TEXT, + allowNull: false + } +}); + +module.exports = { LydiaDB: LydiaDB }; +*/ diff --git a/plugins/sql/notes.js b/plugins/sql/notes.js new file mode 100644 index 0000000..48c9885 --- /dev/null +++ b/plugins/sql/notes.js @@ -0,0 +1,52 @@ +/* +# Copyright (C) 2020 MuhammedKpln. +# +# WhatsAsena is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# WhatsAsena is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +*/ + +const config = require('../../config'); +const { DataTypes } = require('sequelize'); + +const NotesDB = config.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/plugins/sql/plugin.js b/plugins/sql/plugin.js new file mode 100644 index 0000000..cdcd640 --- /dev/null +++ b/plugins/sql/plugin.js @@ -0,0 +1,34 @@ +/* Copyright (C) 2020 Yusuf Usta. + +Licensed under the GPL-3.0 License; +you may not use this file except in compliance with the License. + +WhatsAsena - Yusuf Usta +*/ + +const config = require('../../config'); +const { DataTypes } = require('sequelize'); + +const PluginDB = config.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 }; From 9efea0718e1068383dae011d18fe891c9de3acac Mon Sep 17 00:00:00 2001 From: ChamodKeshan <98629920+ChamodKeshan@users.noreply.github.com> Date: Tue, 15 Feb 2022 07:35:47 +0530 Subject: [PATCH 09/32] =?UTF-8?q?=F0=9F=92=9EValentine.update=F0=9F=92=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6c3cfd9..9ddee01 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ #### © Select your language [![English](https://img.shields.io/badge/Select-English-red.svg)](https://github.com/ChamodKeshan/Hashzi-X/blob/main/README-SI.md) - [![Sinhala](https://img.shields.io/badge/Select-Sinhala-green.svg)](https://github.com/ChamodKeshan/Hashzi-X/blob/main/README.md) + [![Sinhala](https://img.shields.io/badge/Select-Sinhala-green.svg)](https://github.com/ChamodKeshan/Hashzi-X) From 31c5a7c6f30f666cf7001a099eea07ad70ca79f6 Mon Sep 17 00:00:00 2001 From: ChamodKeshan <98629920+ChamodKeshan@users.noreply.github.com> Date: Wed, 16 Feb 2022 05:57:07 +0530 Subject: [PATCH 10/32] Create p --- Voicesticker/p | 1 + 1 file changed, 1 insertion(+) create mode 100644 Voicesticker/p diff --git a/Voicesticker/p b/Voicesticker/p new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Voicesticker/p @@ -0,0 +1 @@ + From 942490919e9744ededbc5d2caefbd6d30e7061e5 Mon Sep 17 00:00:00 2001 From: ChamodKeshan <98629920+ChamodKeshan@users.noreply.github.com> Date: Thu, 17 Feb 2022 04:35:25 +0530 Subject: [PATCH 11/32] Create p --- imgbb-uploader/lib/cjs/p | 1 + 1 file changed, 1 insertion(+) create mode 100644 imgbb-uploader/lib/cjs/p diff --git a/imgbb-uploader/lib/cjs/p b/imgbb-uploader/lib/cjs/p new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/imgbb-uploader/lib/cjs/p @@ -0,0 +1 @@ + From 35e405a6ad5adda5d4d1413c67e3c33f5379117f Mon Sep 17 00:00:00 2001 From: ChamodKeshan <98629920+ChamodKeshan@users.noreply.github.com> Date: Thu, 17 Feb 2022 04:50:51 +0530 Subject: [PATCH 12/32] Create p --- whatsasena/p | 1 + 1 file changed, 1 insertion(+) create mode 100644 whatsasena/p diff --git a/whatsasena/p b/whatsasena/p new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/whatsasena/p @@ -0,0 +1 @@ + From 281eee538856c6ed28c5a2b2415a8c8c18ebeeb0 Mon Sep 17 00:00:00 2001 From: ChamodKeshan <98629920+ChamodKeshan@users.noreply.github.com> Date: Thu, 17 Feb 2022 05:11:45 +0530 Subject: [PATCH 13/32] =?UTF-8?q?=F0=9F=92=9EValentine.update=F0=9F=92=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- whatsasena/Base.js | 21 + whatsasena/Dockerfile | 2408 +++++++++++++++++++++++++++++++++++ whatsasena/Image.js | 67 + whatsasena/Message.js | 66 + whatsasena/ReplyMessage.js | 80 ++ whatsasena/StringSession.js | 33 + whatsasena/Video.js | 69 + whatsasena/bot.js | 375 ++++++ whatsasena/index.js | 16 + whatsasena/package.json | 58 + 10 files changed, 3193 insertions(+) create mode 100644 whatsasena/Base.js create mode 100644 whatsasena/Dockerfile create mode 100644 whatsasena/Image.js create mode 100644 whatsasena/Message.js create mode 100644 whatsasena/ReplyMessage.js create mode 100644 whatsasena/StringSession.js create mode 100644 whatsasena/Video.js create mode 100644 whatsasena/bot.js create mode 100644 whatsasena/index.js create mode 100644 whatsasena/package.json diff --git a/whatsasena/Base.js b/whatsasena/Base.js new file mode 100644 index 0000000..318857c --- /dev/null +++ b/whatsasena/Base.js @@ -0,0 +1,21 @@ +/* Copyright (C) 2020 Yusuf Usta. +Licensed under the GPL-3.0 License; +you may not use this file except in compliance with the License. +WhatsAsena - Yusuf Usta +*/ + +'use strict'; + +class Base { + constructor(client) { + Object.defineProperty(this, 'client', { value: client }); + } + + _clone() { + return Object.assign(Object.create(this), this); + } + + _patch(data) { return data; } +} + +module.exports = Base; diff --git a/whatsasena/Dockerfile b/whatsasena/Dockerfile new file mode 100644 index 0000000..04377b3 --- /dev/null +++ b/whatsasena/Dockerfile @@ -0,0 +1,2408 @@ +FROM fusuf/whatsasena:latest +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +RUN git clone https://github.com/tenuh/Hashzi /root/WhatsAsenaDuplicated +WORKDIR /root/WhatsAsenaDuplicated/ +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +ENV TZ=Europe/Istanbul +RUN npm install supervisor -g +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +RUN yarn install --no-audit + +CMD ["node", "bot.js"] +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegra +#When we speak of free software, we are referring to freedom,#not +#price. Our General Public Licenses are designed to make sure that you #have https://www.youtube.com/channel/UCZx8U1EU95-Wn9mH4dn15vQ freedom to distribute copies of free software (and charge for +#them if you wish), that you receive source code or can get it if you +#want it, that you can change the software or use pieces of it in new #free programs, and that you know you can do these things. #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.ehttps://www.youtube.com/watch?v=mDnJ7q3S3eYnviron.get("BOT #API_ID = int(os.environ.get("API_ID", 1)) #API_HASH = os.environ.get("API_HASH", None) + #BOT_TOKEN = os.environ.get("BOT_TOKEN", None) #REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) #STRINGSESSION = os.environ.get("STRINGSESSION", None) + #ASSISTANT_START_PIC = os.environ.get( + # "ASSISTANT_START_PIC", "https://telegr diff --git a/whatsasena/Image.js b/whatsasena/Image.js new file mode 100644 index 0000000..5cefc7f --- /dev/null +++ b/whatsasena/Image.js @@ -0,0 +1,67 @@ +/* Copyright (C) 2020 Yusuf Usta. +Licensed under the GPL-3.0 License; +you may not use this file except in compliance with the License. +WhatsAsena - Yusuf Usta +*/ + +const {MessageType, Presence, MessageOptions} = require('@adiwajshing/baileys'); +const Base = require('./Base'); +const Message = require('./Message'); +const ReplyMessage = require('./ReplyMessage'); + +class Image extends Base { + constructor(client, data) { + super(client); + if (data) this._patch(data); + } + + _patch(data) { + this.id = data.key.id === undefined ? undefined : data.key.id; + this.jid = data.key.remoteJid; + this.fromMe = data.key.fromMe; + this.caption = data.message.imageMessage.caption === null ? data.message.imageMessage.caption : ''; + this.url = data.message.imageMessage.url; + this.timestamp = typeof(data.messageTimestamp) === 'object' ? data.messageTimestamp.low : data.messageTimestamp; + this.mimetype = data.message.imageMessage.mimetype; + this.height = data.message.imageMessage.height; + this.width = data.message.imageMessage.width; + this.mediaKey = data.message.imageMessage.mediaKey; + this.data = data; + + if (data.message.imageMessage.hasOwnProperty('contextInfo') && data.message.contextInfo.quotedMessage) { + this.reply_message = new ReplyMessage(this.client, data.message.imageMessage.contextInfo); } + else { + this.reply_message = false; + } + + return super._patch(data); + } + + async delete() { + return await this.client.deleteMessage(this.jid, {id: this.id, remoteJid: this.jid, fromMe: true}) + } + + async reply(text) { + var message = await this.client.sendMessage(this.jid, text, MessageType.text, {quoted: this.data}) + return new Message(this.client, message) + } + + async sendMessage(content, type, options) { + return await this.client.sendMessage(this.jid, content, type, options) + } + + async sendTyping() { + return await this.client.updatePresence(this.jid, Presence.composing) ; + } + + async sendRead() { + return await this.client.chatRead(this.jid); + } + + async download(location = this.id) { + await this.client.downloadAndSaveMediaMessage(this.data, location); + return this.id + '.' + this.mimetype.split('/')[1]; + } +}; + +module.exports = Image; diff --git a/whatsasena/Message.js b/whatsasena/Message.js new file mode 100644 index 0000000..96df3c5 --- /dev/null +++ b/whatsasena/Message.js @@ -0,0 +1,66 @@ +/* Copyright (C) 2020 Yusuf Usta. +Licensed under the GPL-3.0 License; +you may not use this file except in compliance with the License. +WhatsAsena - Yusuf Usta +*/ + +const {MessageType, Presence, MessageOptions} = require('@adiwajshing/baileys'); +const Base = require('./Base'); +const ReplyMessage = require('./ReplyMessage'); + +class Message extends Base { + constructor(client, data) { + super(client); + if (data) this._patch(data); + } + + _patch(data) { + this.id = data.key.id === undefined ? undefined : data.key.id; + this.jid = data.key.remoteJid; + this.fromMe = data.key.fromMe; + this.message = data.message.extendedTextMessage === null ? data.message.conversation : data.message.extendedTextMessage.text; + this.unreadCount = data.unreadCount; + this.timestamp = typeof(data.messageTimestamp) === 'object' ? data.messageTimestamp.low : data.messageTimestamp; + this.data = data; + + if (data.message.hasOwnProperty('extendedTextMessage') && + data.message.extendedTextMessage.hasOwnProperty('contextInfo') === true && + data.message.extendedTextMessage.contextInfo.hasOwnProperty('quotedMessage')) { + this.reply_message = new ReplyMessage(this.client, data.message.extendedTextMessage.contextInfo); } else { + this.reply_message = false; + } + + if (data.message.hasOwnProperty('extendedTextMessage') && + data.message.extendedTextMessage.hasOwnProperty('contextInfo') === true && + data.message.extendedTextMessage.contextInfo.hasOwnProperty('mentionedJid')) { + this.mention = data.message.extendedTextMessage.contextInfo.mentionedJid; + } else { + this.mention = false; + } + + return super._patch(data); + } + + async delete() { + return await this.client.deleteMessage(this.jid, {id: this.id, remoteJid: this.jid, fromMe: true}) + } + + async reply(text) { + var message = await this.client.sendMessage(this.jid, text, MessageType.text); + return new Message(this.client, message) + } + + async sendMessage(content, type = MessageType.text, options) { + return await this.client.sendMessage(this.jid, content, type, options) + } + + async sendTyping() { + return await this.client.updatePresence(this.jid, Presence.composing) ; + } + + async sendRead() { + return await this.client.chatRead(this.jid); + } +}; + +module.exports = Message; diff --git a/whatsasena/ReplyMessage.js b/whatsasena/ReplyMessage.js new file mode 100644 index 0000000..dda00fe --- /dev/null +++ b/whatsasena/ReplyMessage.js @@ -0,0 +1,80 @@ +/* Copyright (C) 2020 Yusuf Usta. + +Licensed under the GPL-3.0 License; +you may not use this file except in compliance with the License. + +WhatsAsena - Yusuf Usta +*/ + +const {MessageType, Presence, MessageOptions} = require('@adiwajshing/baileys'); +const Base = require('./Base'); +const Image = require('./Image'); + +class ReplyMessage extends Base { + constructor(client, data) { + super(client); + if (data) this._patch(data); + } + + _patch(data) { + this.id = data.stanzaId; + this.jid = data.participant; + if (data.quotedMessage && data.quotedMessage.imageMessage) { + this.message = data.quotedMessage.imageMessage.caption === null ? data.message.imageMessage.caption : ''; + this.caption = data.quotedMessage.imageMessage.caption === null ? data.message.imageMessage.caption : ''; + this.url = data.quotedMessage.imageMessage.url; + this.mimetype = data.quotedMessage.imageMessage.mimetype; + this.height = data.quotedMessage.imageMessage.height; + this.width = data.quotedMessage.imageMessage.width; + this.mediaKey = data.quotedMessage.imageMessage.mediaKey; + this.image = true; + this.video = false; + } else if (data.quotedMessage && data.quotedMessage.videoMessage) { + this.message = data.quotedMessage.videoMessage.caption === null ? data.message.videoMessage.caption : ''; + this.caption = data.quotedMessage.videoMessage.caption === null ? data.message.videoMessage.caption : ''; + this.url = data.quotedMessage.videoMessage.url; + this.mimetype = data.quotedMessage.videoMessage.mimetype; + this.height = data.quotedMessage.videoMessage.height; + this.width = data.quotedMessage.videoMessage.width; + this.mediaKey = data.quotedMessage.videoMessage.mediaKey; + this.video = true; + } else if (data.quotedMessage && data.quotedMessage.conversation) { + this.message = data.quotedMessage.conversation; + this.text = data.quotedMessage.conversation; + this.image = false; + this.video = false; + } + + this.data = data; + + return super._patch(data); + } + + async delete() { + return await this.client.deleteMessage(this.jid, {id: this.id, remoteJid: this.jid, fromMe: true}); + } + + async reply(text) { + var message = await this.client.sendMessage(this.jid, text, MessageType.text, {quoted: this.data}); + return new Message(this.client, message) + } + + async sendMessage(content, type, options) { + return await this.client.sendMessage(this.jid, content, type, options); + } + + async sendTyping() { + return await this.client.updatePresence(this.jid, Presence.composing); + } + + async download(location = this.id) { + if (this.image) { + await this.client.downloadAndSaveMediaMessage(this.data.quotedMessage.imageMessage, location); + return this.id + '.' + this.mimetype.split('/')[1]; + } else { + return false; + } + } +}; + +module.exports = ReplyMessage; diff --git a/whatsasena/StringSession.js b/whatsasena/StringSession.js new file mode 100644 index 0000000..4a9c187 --- /dev/null +++ b/whatsasena/StringSession.js @@ -0,0 +1,33 @@ +/* Copyright (C) 2020 Yusuf Usta. +Licensed under the GPL-3.0 License; +you may not use this file except in compliance with the License. +WhatsAsena - Yusuf Usta +*/ + +const fs = require('fs'); + +class StringSession { + constructor() { + } + + deCrypt(string = undefined) { + if ('ASENA_SESSION' in process.env && string === undefined) { + string = process.env.STRING_SESSION; + } else if (string !== undefined) { + if (fs.existsSync(string)) { + string = fs.readFileSync(string, {encoding:'utf8', flag:'r'}); + } + } + + var split = string.split(';;;'); + if (split.length >= 2) { + return JSON.parse(Buffer.from(split[split.length - 1], 'base64').toString('utf-8')); + } + } + + createStringSession(dict) { + return 'ASENA;;;' + Buffer.from(JSON.stringify(dict)).toString('base64'); + } +} + +module.exports = StringSession; diff --git a/whatsasena/Video.js b/whatsasena/Video.js new file mode 100644 index 0000000..cdb495d --- /dev/null +++ b/whatsasena/Video.js @@ -0,0 +1,69 @@ +/* Copyright (C) 2020 Yusuf Usta. + +Licensed under the GPL-3.0 License; +you may not use this file except in compliance with the License. + +WhatsAsena - Yusuf Usta +*/ + +const {MessageType, Presence, MessageOptions} = require('@adiwajshing/baileys'); +const Base = require('./Base'); +const Message = require('./Message'); +const ReplyMessage = require('./ReplyMessage'); + +class Video extends Base { + constructor(client, data) { + super(client); + if (data) this._patch(data); + } + + _patch(data) { + this.id = data.key.id === undefined ? undefined : data.key.id; + this.jid = data.key.remoteJid; + this.fromMe = data.key.fromMe; + this.caption = data.message.videoMessage.caption === null ? data.message.videoMessage.caption : ''; + this.url = data.message.videoMessage.url; + this.timestamp = typeof(data.messageTimestamp) === 'object' ? data.messageTimestamp.low : data.messageTimestamp; + this.mimetype = data.message.videoMessage.mimetype; + this.height = data.message.videoMessage.height; + this.width = data.message.videoMessage.width; + this.mediaKey = data.message.videoMessage.mediaKey; + this.data = data; + + if (data.message.videoMessage.hasOwnProperty('contextInfo') && data.message.contextInfo.quotedMessage) { + this.reply_message = new ReplyMessage(this.client, data.message.videoMessage.contextInfo); } + else { + this.reply_message = false; + } + + return super._patch(data); + } + + async delete() { + return await this.client.deleteMessage(this.jid, {id: this.id, remoteJid: this.jid, fromMe: true}) + } + + async reply(text) { + var message = await this.client.sendMessage(this.jid, text, MessageType.text, {quoted: this.data}) + return new Message(this.client, message) + } + + async sendMessage(content, type, options) { + return await this.client.sendMessage(this.jid, content, type, options) + } + + async sendTyping() { + return await this.client.updatePresence(this.jid, Presence.composing) ; + } + + async sendRead() { + return await this.client.chatRead(this.jid); + } + + async download(location = this.id) { + await this.client.downloadAndSaveMediaMessage(this.data, location); + return this.id + '.' + this.mimetype.split('/')[1]; + } +}; + +module.exports = Video; diff --git a/whatsasena/bot.js b/whatsasena/bot.js new file mode 100644 index 0000000..9859413 --- /dev/null +++ b/whatsasena/bot.js @@ -0,0 +1,375 @@ +/* Copyright (C) 2020 Yusuf Uta. + +Licensed under the GPL-3.0 License; +you may not use this file except in compliance with the License. + +WhatsAsena - Yusuf Usta +*/ + +const fs = require("fs"); +const path = require("path"); +const events = require("./events"); +const chalk = require('chalk'); +const config = require('./config'); +const Heroku = require('heroku-client'); +const {WAConnection, MessageOptions, MessageType, Mimetype, Presence} = require('@adiwajshing/baileys'); +const {Message, StringSession, Image, Video} = require('./whatsasena/'); +const { DataTypes } = require('sequelize'); +const { GreetingsDB, getMessage } = require("./plugins/sql/greetings"); +const got = require('got'); + +const heroku = new Heroku({ + token: config.HEROKU.API_KEY +}); + +let baseURI = '/apps/' + config.HEROKU.APP_NAME; + + +// Sql +const WhatsAsenaDB = config.DATABASE.define('WhatsAsenaDuplicated', { + info: { + type: DataTypes.STRING, + allowNull: false + }, + value: { + type: DataTypes.TEXT, + allowNull: false + } +}); + +fs.readdirSync('./plugins/sql/').forEach(plugin => { + if(path.extname(plugin).toLowerCase() == '.js') { + require('./plugins/sql/' + plugin); + } +}); + +const plugindb = require('./plugins/sql/plugin'); + +// Yalnızca bir kolaylık. https://stackoverflow.com/questions/4974238/javascript-equivalent-of-pythons-format-function // +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 whatsAsena () { + await config.DATABASE.sync(); + var StrSes_Db = await WhatsAsenaDB.findAll({ + where: { + info: 'StringSession' + } + }); + + const conn = new WAConnection(); + const Session = new StringSession(); + conn.version = [2, 2119, 6] + + conn.logger.level = config.DEBUG ? 'debug' : 'warn'; + var nodb; + + if (StrSes_Db.length < 1) { + nodb = true; + conn.loadAuthInfo(Session.deCrypt(config.SESSION)); + } else { + conn.loadAuthInfo(Session.deCrypt(StrSes_Db[0].dataValues.value)); + } + + conn.on ('credentials-updated', async () => { + console.log( + chalk.blueBright.italic('✅ Login Information Updated!') + ); + + const authInfo = conn.base64EncodedAuthInfo(); + if (StrSes_Db.length < 1) { + await WhatsAsenaDB.create({ info: "StringSession", value: Session.createStringSession(authInfo) }); + } else { + await StrSes_Db[0].update({ value: Session.createStringSession(authInfo) }); + } + }) + + conn.on('connecting', async () => { + console.log(`${chalk.green.bold('Whats')}${chalk.blue.bold('Asena')} +${chalk.white.bold('Version:')} ${chalk.red.bold(config.VERSION)} + +${chalk.blue.italic('ℹ️ Connecting to WhatsApp... Please Wait.')}`); + }); + + + conn.on('open', async () => { + console.log( + chalk.green.bold('✅ Login successful!') + ); + + console.log( + chalk.blueBright.italic('⬇️ Installing External Plugins...') + ); + + var plugins = await plugindb.PluginDB.findAll(); + plugins.map(async (plugin) => { + if (!fs.existsSync('./plugins/' + plugin.dataValues.name + '.js')) { + console.log(plugin.dataValues.name); + var response = await got(plugin.dataValues.url); + if (response.statusCode == 200) { + fs.writeFileSync('./plugins/' + plugin.dataValues.name + '.js', response.body); + require('./plugins/' + plugin.dataValues.name + '.js'); + } + } + }); + + console.log( + chalk.blueBright.italic('⬇️ Installing Plugins...') + ); + + fs.readdirSync('./plugins').forEach(plugin => { + if(path.extname(plugin).toLowerCase() == '.js') { + require('./plugins/' + plugin); + } + }); + + console.log( + chalk.green.bold('✅ Plugins Installed!') + ); + await new Promise(r => setTimeout(r, 1100)); + + if (config.WORKTYPE == 'public') { + if (config.LANG == 'TR' || config.LANG == 'AZ') { + + if (conn.user.jid === '@s.whatsapp.net') { + + await conn.sendMessage(conn.user.jid, '```🛡️ Blacklist අනාවරණය විය!``` \n```පරිශීලක:``` \n```හේතුව:``` ', MessageType.text) + + await new Promise(r => setTimeout(r, 1700)); + + console.log('🛡️ Blacklist Detected 🛡️') + + await heroku.get(baseURI + '/formation').then(async (formation) => { + forID = formation[0].id; + await heroku.patch(baseURI + '/formation/' + forID, { + body: { + quantity: 0 + } + }); + }) + } + else { + await conn.sendMessage(conn.user.jid, '*Queenhashzi public ආකාරයට ක්‍රියාකිරිම ආරම්භ විය.👸*\n\n_කරුණාකර මෙහි command උත්සාහ නොකරන්න. මෙය ඔබගේ ලොග් අංකයයි._\n_ඔබට ඕනෑම චැට් එකක විධාන උත්සාහ කළ හැකිය :)_\n\n*ඔබේ command list එක ලබාගැනීමට .panel command එක භාවිතා කරන්න.*\n\n*ඔබේ bot public ක්‍රියාත්මක වේ. වෙනස් කිරීමට* _.setvar WORK_TYPE:private_ *විධානය භාවිතා කරන්න.*\n\n*Queen ඇම්ඩි භාවිතා කිරීම ගැන ස්තූතියි 💌*', MessageType.text); + } + } + else { + + if (conn.user.jid === '@s.whatsapp.net') { + + await conn.sendMessage(conn.user.jid, '```🛡️ Blacklist Detected!``` \n```User:``` \n```Reason:``` ', MessageType.text) + + await new Promise(r => setTimeout(r, 1800)); + + console.log('🛡️ Blacklist Detected 🛡️') + await heroku.get(baseURI + '/formation').then(async (formation) => { + forID = formation[0].id; + await heroku.patch(baseURI + '/formation/' + forID, { + body: { + quantity: 0 + } + }); + }) + } + else { + await conn.sendMessage(conn.user.jid, '*Queen hashzi public ආකාරයට ක්‍රියාකිරිම ආරම්භ විය.👸*\n\n_කරුණාකර මෙහි command උත්සාහ නොකරන්න. මෙය ඔබගේ ලොග් අංකයයි._\n_ඔබට ඕනෑම චැට් එකක විධාන උත්සාහ කළ හැකිය :)_\n\n*ඔබේ command list එක ලබාගැනීමට .hash command එක භාවිතා කරන්න.*\n\n*ඔබේ bot public ක්‍රියාත්මක වේ. වෙනස් කිරීමට* _.setvar WORK_TYPE:private_ *විධානය භාවිතා කරන්න.*\n\n*Queen hashzi භාවිතා කිරීම ගැන ස්තූතියි 💌*', MessageType.text); + } + + } + } + else if (config.WORKTYPE == 'private') { + if (config.LANG == 'TR' || config.LANG == 'AZ') { + + if (conn.user.jid === '@s.whatsapp.net') { + + await conn.sendMessage(conn.user.jid, '```🛡️ Blacklist Detected!``` \n ```පරිශීලක:``` \n```හේතුව:``` ', MessageType.text) + + await new Promise(r => setTimeout(r, 1800)); + + console.log('🛡️ Blacklist Detected 🛡️') + await heroku.get(baseURI + '/formation').then(async (formation) => { + forID = formation[0].id; + await heroku.patch(baseURI + '/formation/' + forID, { + body: { + quantity: 0 + } + }); + }) + } + else { + + await conn.sendMessage(conn.user.jid, '*Queen Hashzi private ආකාරයට ක්‍රියාකිරිම ආරම්භ විය.👸*\n\n_කරුණාකර මෙහි command උත්සාහ නොකරන්න. මෙය ඔබගේ ලොග් අංකයයි._\n_ඔබට ඕනෑම චැට් එකක විධාන උත්සාහ කළ හැකිය :)_\n\n*ඔබේ command list එක ලබාගැනීමට .hash command එක භාවිතා කරන්න.*\n\n*ඔබේ bot private ක්‍රියාත්මක වේ. වෙනස් කිරීමට* _.setvar WORK_TYPE:public_ *විධානය භාවිතා කරන්න.*\n\n*Queen ඇම්ඩි භාවිතා කිරීම ගැන ස්තූතියි 💌*', MessageType.text); + } + } + else { + + if (conn.user.jid === '@s.whatsapp.net') { + + await conn.sendMessage(conn.user.jid, '```🛡️ Blacklist Detected!``` \n```User:``` \n```Reason:``` ', MessageType.text) + + await new Promise(r => setTimeout(r, 1800)); + + console.log('🛡️ Blacklist Detected 🛡️') + await heroku.get(baseURI + '/formation').then(async (formation) => { + forID = formation[0].id; + await heroku.patch(baseURI + '/formation/' + forID, { + body: { + quantity: 0 + } + }); + }) + } + else { + + await conn.sendMessage(conn.user.jid, '*Queen hashzi private ආකාරයට ක්‍රියාකිරිම ආරම්භ විය.👸*\n\n_කරුණාකර මෙහි command උත්සාහ නොකරන්න. මෙය ඔබගේ ලොග් අංකයයි._\n_ඔබට ඕනෑම චැට් එකක විධාන උත්සාහ කළ හැකිය :)_\n\n*ඔබේ command list එක ලබාගැනීමට .hashz command එක භාවිතා කරන්න.*\n\n*ඔබේ bot private ක්‍රියාත්මක වේ. වෙනස් කිරීමට* _.setvar WORK_TYPE:public_ *විධානය භාවිතා කරන්න.*\n\n*Queen ඇම්ඩි භාවිතා කිරීම ගැන ස්තූතියි 💌*', MessageType.text); + } + } + } + else { + return console.log('Wrong WORK_TYPE key! Please use “private” or “public”') + } + }); + + + conn.on('message-new', async msg => { + if (msg.key && msg.key.remoteJid == 'status@broadcast') return; + + if (config.NO_ONLINE) { + await conn.updatePresence(msg.key.remoteJid, Presence.unavailable); + } + + if (msg.messageStubType === 32 || msg.messageStubType === 28) { + // see you message + var gb = await getMessage(msg.key.remoteJid, 'goodbye'); + if (gb !== false) { + await conn.sendMessage(msg.key.remoteJid, fs.readFileSync("/root/QueenAmdi/media/gif/VID-20210518-WA0060.mp4"), MessageType.video, {mimetype: Mimetype.gif, caption: gb.message}); + } + return; + } else if (msg.messageStubType === 27 || msg.messageStubType === 31) { + // Welcome message + var gb = await getMessage(msg.key.remoteJid); + if (gb !== false) { + await conn.sendMessage(msg.key.remoteJid, fs.readFileSync("/root/QueenAmdi/media/gif/VID-20210518-WA0059.mp4"), MessageType.video, {mimetype: Mimetype.gif, caption: gb.message}); + } + return; + } + + events.commands.map( + async (command) => { + if (msg.message && msg.message.imageMessage && msg.message.imageMessage.caption) { + var text_msg = msg.message.imageMessage.caption; + } else if (msg.message && msg.message.videoMessage && msg.message.videoMessage.caption) { + var text_msg = msg.message.videoMessage.caption; + } else if (msg.message) { + var text_msg = msg.message.extendedTextMessage === null ? msg.message.conversation : msg.message.extendedTextMessage.text; + } else { + var text_msg = undefined; + } + + if ((command.on !== undefined && (command.on === 'image' || command.on === 'photo') + && msg.message && msg.message.imageMessage !== null && + (command.pattern === undefined || (command.pattern !== undefined && + command.pattern.test(text_msg)))) || + (command.pattern !== undefined && command.pattern.test(text_msg)) || + (command.on !== undefined && command.on === 'text' && text_msg) || + // Video + (command.on !== undefined && (command.on === 'video') + && msg.message && msg.message.videoMessage !== null && + (command.pattern === undefined || (command.pattern !== undefined && + command.pattern.test(text_msg))))) { + + let sendMsg = false; + var chat = conn.chats.get(msg.key.remoteJid) + + if ((config.SUDO !== false && msg.key.fromMe === false && command.fromMe === true && + (msg.participant && config.SUDO.includes(',') ? config.SUDO.split(',').includes(msg.participant.split('@')[0]) : msg.participant.split('@')[0] == config.SUDO || config.SUDO.includes(',') ? config.SUDO.split(',').includes(msg.key.remoteJid.split('@')[0]) : msg.key.remoteJid.split('@')[0] == config.SUDO) + ) || command.fromMe === msg.key.fromMe || (command.fromMe === false && !msg.key.fromMe)) { + if (command.onlyPinned && chat.pin === undefined) return; + if (!command.onlyPm === chat.jid.includes('-')) sendMsg = true; + else if (command.onlyGroup === chat.jid.includes('-')) sendMsg = true; + } + + if (sendMsg) { + if (config.SEND_READ && command.on === undefined) { + await conn.chatRead(msg.key.remoteJid); + } + + var match = text_msg.match(command.pattern); + + if (command.on !== undefined && (command.on === 'image' || command.on === 'photo' ) + && msg.message.imageMessage !== null) { + whats = new Image(conn, msg); + } else if (command.on !== undefined && (command.on === 'video' ) + && msg.message.videoMessage !== null) { + whats = new Video(conn, msg); + } else { + whats = new Message(conn, msg); + } + + if (command.deleteCommand && msg.key.fromMe) { + await whats.delete(); + } + + try { + await command.function(whats, match); + } catch (error) { + if (config.LANG == 'TR' || config.LANG == 'AZ') { + await conn.sendMessage(conn.user.jid, '*-- දෝෂ වාර්තාව [QUEEN_hashzi] --*' + + '\n*Bot දෝෂයක් සිදුවී ඇත!*'+ + '\n_මෙම දෝෂ logs ඔබගේ අංකය හෝ ප්‍රති පාර්ශ්වයේ අංකය අඩංගු විය හැකිය. කරුණාකර එය සමග සැලකිලිමත් වන්න!_' + + '\n_උදව් සඳහා ඔබට අපගේ whatsapp support කණ්ඩායමට ලිවිය හැකිය._' + + '\n_මෙම පණිවිඩය ඔබගේ අංකයට ගොස් තිබිය යුතුය (සුරකින ලද පණිවිඩ)_' + + '\n_https://chat.whatsapp.com/Hkm79J2sapyLGD0rvRTf ඔබට එය මෙම group යොමු කළ හැකිය._\n\n' + + '*සිදු වූ දෝෂය:* ```' + error + '```\n\n' + , MessageType.text, {detectLinks: false}); + } else { + await conn.sendMessage(conn.user.jid, '*-- ERROR REPORT [QUEEN hashzi] --*' + + '\n*Bot දෝෂයක් සිදුවී ඇත!*'+ + '\n_මෙම දෝෂ logs ඔබගේ අංකය හෝ ප්‍රති පාර්ශ්වයේ අංකය අඩංගු විය හැකිය. කරුණාකර එය සමග සැලකිලිමත් වන්න!_' + + '\n_උදව් සඳහා ඔබට අපගේ whatsapp support කණ්ඩායමට ලිවිය හැකිය._' + + '\n_මෙම පණිවිඩය ඔබගේ අංකයට ගොස් තිබිය යුතුය (සුරකින ලද පණිවිඩ)_' + + '\n_https://chat.whatsapp.com/Hkm79J2sapyLGD0rvRTf ඔබට එය මෙම group යොමු කළ හැකිය._\n\n' + + '*Error:* ```' + error + '```\n\n' + , MessageType.text); + } + } + } + } + } + ) + }); + + try { + await conn.connect(); + } catch { + if (!nodb) { + console.log(chalk.red.bold('Refreshing your old version string...')) + conn.loadAuthInfo(Session.deCrypt(config.SESSION)); + try { + await conn.connect(); + } catch { + return; + } + } + } +} + +whatsAsena(); diff --git a/whatsasena/index.js b/whatsasena/index.js new file mode 100644 index 0000000..0ac124e --- /dev/null +++ b/whatsasena/index.js @@ -0,0 +1,16 @@ +/* Copyright (C) 2020 Yusuf Usta. + +Licensed under the GPL-3.0 License; +you may not use this file except in compliance with the License. + +WhatsAsena - Yusuf Usta +*/ + +module.exports = { + Base: require('./Base'), + Message: require('./Message'), + StringSession: require('./StringSession'), + ReplyMessage: require('./ReplyMessage'), + Image: require('./Image'), + Video: require('./Video') +}; diff --git a/whatsasena/package.json b/whatsasena/package.json new file mode 100644 index 0000000..5addb7d --- /dev/null +++ b/whatsasena/package.json @@ -0,0 +1,58 @@ +{ + "name": "WhatsAsenaDuplicated", + "version": "0.16.5", + "description": "WhatsAsena project - a Whatsapp userbot helping to improve your Whatsapp experience.", + "main": "./WhatsAsenaDuplicated/bot.js", + "scripts": { + "start": "supervisor -s bot.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/phaticusthiccy/WhatsAsenaDuplicated.git" + }, + "keywords": [ + "whatsapp" + ], + "author": "AsenaDev / Yusuf Usta", + "developer": "AsenaDev / @phaticusthiccy", + "license": "GPL-3.0-or-later", + "bugs": { + "url": "https://github.com/phaticusthiccy/WhatsAsenaDuplicated/issues" + }, + "homepage": "https://github.com/phaticusthiccy/WhatsAsenaDuplicated#readme", + "dependencies": { + "@adiwajshing/baileys": "3.4.1", + "@lh2020/speedtest-net": "^2.1.1", + "browser-id3-writer": "^4.4.0", + "chalk": "^4.1.0", + "coffeehouse": "^2.0.0", + "cwebp": "^2.0.5", + "deepai": "^1.0.17", + "cwebp-bin": "^6.1.1", + "tinyurl": "^1.1.7", + "dotenv": "^8.2.0", + "exchange-rates-api": "^1.0.2", + "fluent-ffmpeg": "^2.1.2", + "form-data": "^3.0.0", + "g-i-s": "^2.1.6", + "google-translate-tts": "^0.3.0", + "got": "^11.8.0", + "heroku-client": "^3.1.0", + "jimp": "^0.16.1", + "js-ffmpeg": "0.0.26", + "jsdom": "^16.4.0", + "langs": "^2.0.0", + "meme-maker": "^2.1.2", + "node-tesseract-ocr": "^2.0.0", + "pg": "^8.5.1", + "sequelize": "^6.5.0", + "simple-git": "^2.22.0", + "sozlukjs": "^1.1.0", + "spotify-web-api-node": "^5.0.0", + "sqlite3": "5.0.0", + "translatte": "^3.0.0", + "wikijs": "^6.0.1", + "yt-search": "^2.5.0", + "ytdl-core": "^4.3.0" + } +} From 2589567a4d7db6fb58856535800cddfb318a82c3 Mon Sep 17 00:00:00 2001 From: ChamodKeshan <98629920+ChamodKeshan@users.noreply.github.com> Date: Thu, 17 Feb 2022 05:14:30 +0530 Subject: [PATCH 14/32] =?UTF-8?q?=F0=9F=92=9DValentine.update=F0=9F=92=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- whatsasena/package.json | 58 ----------------------------------------- 1 file changed, 58 deletions(-) delete mode 100644 whatsasena/package.json diff --git a/whatsasena/package.json b/whatsasena/package.json deleted file mode 100644 index 5addb7d..0000000 --- a/whatsasena/package.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "name": "WhatsAsenaDuplicated", - "version": "0.16.5", - "description": "WhatsAsena project - a Whatsapp userbot helping to improve your Whatsapp experience.", - "main": "./WhatsAsenaDuplicated/bot.js", - "scripts": { - "start": "supervisor -s bot.js" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/phaticusthiccy/WhatsAsenaDuplicated.git" - }, - "keywords": [ - "whatsapp" - ], - "author": "AsenaDev / Yusuf Usta", - "developer": "AsenaDev / @phaticusthiccy", - "license": "GPL-3.0-or-later", - "bugs": { - "url": "https://github.com/phaticusthiccy/WhatsAsenaDuplicated/issues" - }, - "homepage": "https://github.com/phaticusthiccy/WhatsAsenaDuplicated#readme", - "dependencies": { - "@adiwajshing/baileys": "3.4.1", - "@lh2020/speedtest-net": "^2.1.1", - "browser-id3-writer": "^4.4.0", - "chalk": "^4.1.0", - "coffeehouse": "^2.0.0", - "cwebp": "^2.0.5", - "deepai": "^1.0.17", - "cwebp-bin": "^6.1.1", - "tinyurl": "^1.1.7", - "dotenv": "^8.2.0", - "exchange-rates-api": "^1.0.2", - "fluent-ffmpeg": "^2.1.2", - "form-data": "^3.0.0", - "g-i-s": "^2.1.6", - "google-translate-tts": "^0.3.0", - "got": "^11.8.0", - "heroku-client": "^3.1.0", - "jimp": "^0.16.1", - "js-ffmpeg": "0.0.26", - "jsdom": "^16.4.0", - "langs": "^2.0.0", - "meme-maker": "^2.1.2", - "node-tesseract-ocr": "^2.0.0", - "pg": "^8.5.1", - "sequelize": "^6.5.0", - "simple-git": "^2.22.0", - "sozlukjs": "^1.1.0", - "spotify-web-api-node": "^5.0.0", - "sqlite3": "5.0.0", - "translatte": "^3.0.0", - "wikijs": "^6.0.1", - "yt-search": "^2.5.0", - "ytdl-core": "^4.3.0" - } -} From 3b4dc1e25fc7e5c7912aa3e418bb5b8a7bcb7ba4 Mon Sep 17 00:00:00 2001 From: ChamodKeshan <98629920+ChamodKeshan@users.noreply.github.com> Date: Thu, 17 Feb 2022 05:17:28 +0530 Subject: [PATCH 15/32] Delete bot.js --- whatsasena/bot.js | 375 ---------------------------------------------- 1 file changed, 375 deletions(-) delete mode 100644 whatsasena/bot.js diff --git a/whatsasena/bot.js b/whatsasena/bot.js deleted file mode 100644 index 9859413..0000000 --- a/whatsasena/bot.js +++ /dev/null @@ -1,375 +0,0 @@ -/* Copyright (C) 2020 Yusuf Uta. - -Licensed under the GPL-3.0 License; -you may not use this file except in compliance with the License. - -WhatsAsena - Yusuf Usta -*/ - -const fs = require("fs"); -const path = require("path"); -const events = require("./events"); -const chalk = require('chalk'); -const config = require('./config'); -const Heroku = require('heroku-client'); -const {WAConnection, MessageOptions, MessageType, Mimetype, Presence} = require('@adiwajshing/baileys'); -const {Message, StringSession, Image, Video} = require('./whatsasena/'); -const { DataTypes } = require('sequelize'); -const { GreetingsDB, getMessage } = require("./plugins/sql/greetings"); -const got = require('got'); - -const heroku = new Heroku({ - token: config.HEROKU.API_KEY -}); - -let baseURI = '/apps/' + config.HEROKU.APP_NAME; - - -// Sql -const WhatsAsenaDB = config.DATABASE.define('WhatsAsenaDuplicated', { - info: { - type: DataTypes.STRING, - allowNull: false - }, - value: { - type: DataTypes.TEXT, - allowNull: false - } -}); - -fs.readdirSync('./plugins/sql/').forEach(plugin => { - if(path.extname(plugin).toLowerCase() == '.js') { - require('./plugins/sql/' + plugin); - } -}); - -const plugindb = require('./plugins/sql/plugin'); - -// Yalnızca bir kolaylık. https://stackoverflow.com/questions/4974238/javascript-equivalent-of-pythons-format-function // -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 whatsAsena () { - await config.DATABASE.sync(); - var StrSes_Db = await WhatsAsenaDB.findAll({ - where: { - info: 'StringSession' - } - }); - - const conn = new WAConnection(); - const Session = new StringSession(); - conn.version = [2, 2119, 6] - - conn.logger.level = config.DEBUG ? 'debug' : 'warn'; - var nodb; - - if (StrSes_Db.length < 1) { - nodb = true; - conn.loadAuthInfo(Session.deCrypt(config.SESSION)); - } else { - conn.loadAuthInfo(Session.deCrypt(StrSes_Db[0].dataValues.value)); - } - - conn.on ('credentials-updated', async () => { - console.log( - chalk.blueBright.italic('✅ Login Information Updated!') - ); - - const authInfo = conn.base64EncodedAuthInfo(); - if (StrSes_Db.length < 1) { - await WhatsAsenaDB.create({ info: "StringSession", value: Session.createStringSession(authInfo) }); - } else { - await StrSes_Db[0].update({ value: Session.createStringSession(authInfo) }); - } - }) - - conn.on('connecting', async () => { - console.log(`${chalk.green.bold('Whats')}${chalk.blue.bold('Asena')} -${chalk.white.bold('Version:')} ${chalk.red.bold(config.VERSION)} - -${chalk.blue.italic('ℹ️ Connecting to WhatsApp... Please Wait.')}`); - }); - - - conn.on('open', async () => { - console.log( - chalk.green.bold('✅ Login successful!') - ); - - console.log( - chalk.blueBright.italic('⬇️ Installing External Plugins...') - ); - - var plugins = await plugindb.PluginDB.findAll(); - plugins.map(async (plugin) => { - if (!fs.existsSync('./plugins/' + plugin.dataValues.name + '.js')) { - console.log(plugin.dataValues.name); - var response = await got(plugin.dataValues.url); - if (response.statusCode == 200) { - fs.writeFileSync('./plugins/' + plugin.dataValues.name + '.js', response.body); - require('./plugins/' + plugin.dataValues.name + '.js'); - } - } - }); - - console.log( - chalk.blueBright.italic('⬇️ Installing Plugins...') - ); - - fs.readdirSync('./plugins').forEach(plugin => { - if(path.extname(plugin).toLowerCase() == '.js') { - require('./plugins/' + plugin); - } - }); - - console.log( - chalk.green.bold('✅ Plugins Installed!') - ); - await new Promise(r => setTimeout(r, 1100)); - - if (config.WORKTYPE == 'public') { - if (config.LANG == 'TR' || config.LANG == 'AZ') { - - if (conn.user.jid === '@s.whatsapp.net') { - - await conn.sendMessage(conn.user.jid, '```🛡️ Blacklist අනාවරණය විය!``` \n```පරිශීලක:``` \n```හේතුව:``` ', MessageType.text) - - await new Promise(r => setTimeout(r, 1700)); - - console.log('🛡️ Blacklist Detected 🛡️') - - await heroku.get(baseURI + '/formation').then(async (formation) => { - forID = formation[0].id; - await heroku.patch(baseURI + '/formation/' + forID, { - body: { - quantity: 0 - } - }); - }) - } - else { - await conn.sendMessage(conn.user.jid, '*Queenhashzi public ආකාරයට ක්‍රියාකිරිම ආරම්භ විය.👸*\n\n_කරුණාකර මෙහි command උත්සාහ නොකරන්න. මෙය ඔබගේ ලොග් අංකයයි._\n_ඔබට ඕනෑම චැට් එකක විධාන උත්සාහ කළ හැකිය :)_\n\n*ඔබේ command list එක ලබාගැනීමට .panel command එක භාවිතා කරන්න.*\n\n*ඔබේ bot public ක්‍රියාත්මක වේ. වෙනස් කිරීමට* _.setvar WORK_TYPE:private_ *විධානය භාවිතා කරන්න.*\n\n*Queen ඇම්ඩි භාවිතා කිරීම ගැන ස්තූතියි 💌*', MessageType.text); - } - } - else { - - if (conn.user.jid === '@s.whatsapp.net') { - - await conn.sendMessage(conn.user.jid, '```🛡️ Blacklist Detected!``` \n```User:``` \n```Reason:``` ', MessageType.text) - - await new Promise(r => setTimeout(r, 1800)); - - console.log('🛡️ Blacklist Detected 🛡️') - await heroku.get(baseURI + '/formation').then(async (formation) => { - forID = formation[0].id; - await heroku.patch(baseURI + '/formation/' + forID, { - body: { - quantity: 0 - } - }); - }) - } - else { - await conn.sendMessage(conn.user.jid, '*Queen hashzi public ආකාරයට ක්‍රියාකිරිම ආරම්භ විය.👸*\n\n_කරුණාකර මෙහි command උත්සාහ නොකරන්න. මෙය ඔබගේ ලොග් අංකයයි._\n_ඔබට ඕනෑම චැට් එකක විධාන උත්සාහ කළ හැකිය :)_\n\n*ඔබේ command list එක ලබාගැනීමට .hash command එක භාවිතා කරන්න.*\n\n*ඔබේ bot public ක්‍රියාත්මක වේ. වෙනස් කිරීමට* _.setvar WORK_TYPE:private_ *විධානය භාවිතා කරන්න.*\n\n*Queen hashzi භාවිතා කිරීම ගැන ස්තූතියි 💌*', MessageType.text); - } - - } - } - else if (config.WORKTYPE == 'private') { - if (config.LANG == 'TR' || config.LANG == 'AZ') { - - if (conn.user.jid === '@s.whatsapp.net') { - - await conn.sendMessage(conn.user.jid, '```🛡️ Blacklist Detected!``` \n ```පරිශීලක:``` \n```හේතුව:``` ', MessageType.text) - - await new Promise(r => setTimeout(r, 1800)); - - console.log('🛡️ Blacklist Detected 🛡️') - await heroku.get(baseURI + '/formation').then(async (formation) => { - forID = formation[0].id; - await heroku.patch(baseURI + '/formation/' + forID, { - body: { - quantity: 0 - } - }); - }) - } - else { - - await conn.sendMessage(conn.user.jid, '*Queen Hashzi private ආකාරයට ක්‍රියාකිරිම ආරම්භ විය.👸*\n\n_කරුණාකර මෙහි command උත්සාහ නොකරන්න. මෙය ඔබගේ ලොග් අංකයයි._\n_ඔබට ඕනෑම චැට් එකක විධාන උත්සාහ කළ හැකිය :)_\n\n*ඔබේ command list එක ලබාගැනීමට .hash command එක භාවිතා කරන්න.*\n\n*ඔබේ bot private ක්‍රියාත්මක වේ. වෙනස් කිරීමට* _.setvar WORK_TYPE:public_ *විධානය භාවිතා කරන්න.*\n\n*Queen ඇම්ඩි භාවිතා කිරීම ගැන ස්තූතියි 💌*', MessageType.text); - } - } - else { - - if (conn.user.jid === '@s.whatsapp.net') { - - await conn.sendMessage(conn.user.jid, '```🛡️ Blacklist Detected!``` \n```User:``` \n```Reason:``` ', MessageType.text) - - await new Promise(r => setTimeout(r, 1800)); - - console.log('🛡️ Blacklist Detected 🛡️') - await heroku.get(baseURI + '/formation').then(async (formation) => { - forID = formation[0].id; - await heroku.patch(baseURI + '/formation/' + forID, { - body: { - quantity: 0 - } - }); - }) - } - else { - - await conn.sendMessage(conn.user.jid, '*Queen hashzi private ආකාරයට ක්‍රියාකිරිම ආරම්භ විය.👸*\n\n_කරුණාකර මෙහි command උත්සාහ නොකරන්න. මෙය ඔබගේ ලොග් අංකයයි._\n_ඔබට ඕනෑම චැට් එකක විධාන උත්සාහ කළ හැකිය :)_\n\n*ඔබේ command list එක ලබාගැනීමට .hashz command එක භාවිතා කරන්න.*\n\n*ඔබේ bot private ක්‍රියාත්මක වේ. වෙනස් කිරීමට* _.setvar WORK_TYPE:public_ *විධානය භාවිතා කරන්න.*\n\n*Queen ඇම්ඩි භාවිතා කිරීම ගැන ස්තූතියි 💌*', MessageType.text); - } - } - } - else { - return console.log('Wrong WORK_TYPE key! Please use “private” or “public”') - } - }); - - - conn.on('message-new', async msg => { - if (msg.key && msg.key.remoteJid == 'status@broadcast') return; - - if (config.NO_ONLINE) { - await conn.updatePresence(msg.key.remoteJid, Presence.unavailable); - } - - if (msg.messageStubType === 32 || msg.messageStubType === 28) { - // see you message - var gb = await getMessage(msg.key.remoteJid, 'goodbye'); - if (gb !== false) { - await conn.sendMessage(msg.key.remoteJid, fs.readFileSync("/root/QueenAmdi/media/gif/VID-20210518-WA0060.mp4"), MessageType.video, {mimetype: Mimetype.gif, caption: gb.message}); - } - return; - } else if (msg.messageStubType === 27 || msg.messageStubType === 31) { - // Welcome message - var gb = await getMessage(msg.key.remoteJid); - if (gb !== false) { - await conn.sendMessage(msg.key.remoteJid, fs.readFileSync("/root/QueenAmdi/media/gif/VID-20210518-WA0059.mp4"), MessageType.video, {mimetype: Mimetype.gif, caption: gb.message}); - } - return; - } - - events.commands.map( - async (command) => { - if (msg.message && msg.message.imageMessage && msg.message.imageMessage.caption) { - var text_msg = msg.message.imageMessage.caption; - } else if (msg.message && msg.message.videoMessage && msg.message.videoMessage.caption) { - var text_msg = msg.message.videoMessage.caption; - } else if (msg.message) { - var text_msg = msg.message.extendedTextMessage === null ? msg.message.conversation : msg.message.extendedTextMessage.text; - } else { - var text_msg = undefined; - } - - if ((command.on !== undefined && (command.on === 'image' || command.on === 'photo') - && msg.message && msg.message.imageMessage !== null && - (command.pattern === undefined || (command.pattern !== undefined && - command.pattern.test(text_msg)))) || - (command.pattern !== undefined && command.pattern.test(text_msg)) || - (command.on !== undefined && command.on === 'text' && text_msg) || - // Video - (command.on !== undefined && (command.on === 'video') - && msg.message && msg.message.videoMessage !== null && - (command.pattern === undefined || (command.pattern !== undefined && - command.pattern.test(text_msg))))) { - - let sendMsg = false; - var chat = conn.chats.get(msg.key.remoteJid) - - if ((config.SUDO !== false && msg.key.fromMe === false && command.fromMe === true && - (msg.participant && config.SUDO.includes(',') ? config.SUDO.split(',').includes(msg.participant.split('@')[0]) : msg.participant.split('@')[0] == config.SUDO || config.SUDO.includes(',') ? config.SUDO.split(',').includes(msg.key.remoteJid.split('@')[0]) : msg.key.remoteJid.split('@')[0] == config.SUDO) - ) || command.fromMe === msg.key.fromMe || (command.fromMe === false && !msg.key.fromMe)) { - if (command.onlyPinned && chat.pin === undefined) return; - if (!command.onlyPm === chat.jid.includes('-')) sendMsg = true; - else if (command.onlyGroup === chat.jid.includes('-')) sendMsg = true; - } - - if (sendMsg) { - if (config.SEND_READ && command.on === undefined) { - await conn.chatRead(msg.key.remoteJid); - } - - var match = text_msg.match(command.pattern); - - if (command.on !== undefined && (command.on === 'image' || command.on === 'photo' ) - && msg.message.imageMessage !== null) { - whats = new Image(conn, msg); - } else if (command.on !== undefined && (command.on === 'video' ) - && msg.message.videoMessage !== null) { - whats = new Video(conn, msg); - } else { - whats = new Message(conn, msg); - } - - if (command.deleteCommand && msg.key.fromMe) { - await whats.delete(); - } - - try { - await command.function(whats, match); - } catch (error) { - if (config.LANG == 'TR' || config.LANG == 'AZ') { - await conn.sendMessage(conn.user.jid, '*-- දෝෂ වාර්තාව [QUEEN_hashzi] --*' + - '\n*Bot දෝෂයක් සිදුවී ඇත!*'+ - '\n_මෙම දෝෂ logs ඔබගේ අංකය හෝ ප්‍රති පාර්ශ්වයේ අංකය අඩංගු විය හැකිය. කරුණාකර එය සමග සැලකිලිමත් වන්න!_' + - '\n_උදව් සඳහා ඔබට අපගේ whatsapp support කණ්ඩායමට ලිවිය හැකිය._' + - '\n_මෙම පණිවිඩය ඔබගේ අංකයට ගොස් තිබිය යුතුය (සුරකින ලද පණිවිඩ)_' + - '\n_https://chat.whatsapp.com/Hkm79J2sapyLGD0rvRTf ඔබට එය මෙම group යොමු කළ හැකිය._\n\n' + - '*සිදු වූ දෝෂය:* ```' + error + '```\n\n' - , MessageType.text, {detectLinks: false}); - } else { - await conn.sendMessage(conn.user.jid, '*-- ERROR REPORT [QUEEN hashzi] --*' + - '\n*Bot දෝෂයක් සිදුවී ඇත!*'+ - '\n_මෙම දෝෂ logs ඔබගේ අංකය හෝ ප්‍රති පාර්ශ්වයේ අංකය අඩංගු විය හැකිය. කරුණාකර එය සමග සැලකිලිමත් වන්න!_' + - '\n_උදව් සඳහා ඔබට අපගේ whatsapp support කණ්ඩායමට ලිවිය හැකිය._' + - '\n_මෙම පණිවිඩය ඔබගේ අංකයට ගොස් තිබිය යුතුය (සුරකින ලද පණිවිඩ)_' + - '\n_https://chat.whatsapp.com/Hkm79J2sapyLGD0rvRTf ඔබට එය මෙම group යොමු කළ හැකිය._\n\n' + - '*Error:* ```' + error + '```\n\n' - , MessageType.text); - } - } - } - } - } - ) - }); - - try { - await conn.connect(); - } catch { - if (!nodb) { - console.log(chalk.red.bold('Refreshing your old version string...')) - conn.loadAuthInfo(Session.deCrypt(config.SESSION)); - try { - await conn.connect(); - } catch { - return; - } - } - } -} - -whatsAsena(); From a0897ed0b3fdf45c5c88754811fbefd9a47ab42c Mon Sep 17 00:00:00 2001 From: ChamodKeshan <98629920+ChamodKeshan@users.noreply.github.com> Date: Thu, 17 Feb 2022 06:17:39 +0530 Subject: [PATCH 16/32] =?UTF-8?q?=F0=9F=92=9EValentine.update=F0=9F=92=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bot.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bot.js b/bot.js index b9ebf80..966a16f 100644 --- a/bot.js +++ b/bot.js @@ -459,5 +459,10 @@ ${chalk.blue.italic('👩‍🦰 Connecting to WhatsApp...▶')}`); } } } + // ════════════════════disc◽◽◽◽◽ + +})); +Amozone-Queen['IntroduceCMD']({on: 'text', fromMe: false, dontAdCommandList: true}, (async (message, match) => { +if(Details.VOICE_REPLY == 'true'){if(!!message.mention && message.mention[0] == '94702256963@s.whatsapp.net') {await message.client.sendMessage(message.jid, fs.readFileSync('./Voicesticker/mention.mp3'), MessageType.audio, { mimetype: Mimetype.mp4Audio, quoted : message.data, ptt: true})};const array = ['queen alexa'කොපි බොටා'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('./Voicesticker/' + a + '.mp3'), MessageType.audio, { mimetype: Mimetype.mp4Audio, quoted: message.data, ptt: true})}})}})) whatsAsena(); From b0afe3461bfa3a23457eaf2796c66560e6f17226 Mon Sep 17 00:00:00 2001 From: ChamodKeshan <98629920+ChamodKeshan@users.noreply.github.com> Date: Thu, 17 Feb 2022 06:22:27 +0530 Subject: [PATCH 17/32] =?UTF-8?q?=F0=9F=92=9EValentine.update=F0=9F=92=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Voicesticker/Button alexa.mp3 | Bin 0 -> 623315 bytes Voicesticker/alexa.mp3 | Bin 0 -> 534497 bytes Voicesticker/alive.mp3 | Bin 0 -> 761309 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Voicesticker/Button alexa.mp3 create mode 100644 Voicesticker/alexa.mp3 create mode 100644 Voicesticker/alive.mp3 diff --git a/Voicesticker/Button alexa.mp3 b/Voicesticker/Button alexa.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..aa514624d582091c78ef50baeb6af70cfcd977e8 GIT binary patch literal 623315 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