From 8653040f73a1012cc16f7e61a0f9d686cca5e8bc Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Sun, 30 Jun 2024 18:40:32 +0530 Subject: [PATCH 01/36] Update Dockerfile --- Dockerfile | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2e404d9642..6f31f09500 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,19 +1,20 @@ -FROM node:lts-buster +FROM node:21 AS builder -RUN apt-get update && \ - apt-get install -y \ - ffmpeg \ - imagemagick \ - webp && \ - apt-get upgrade -y && \ - rm -rf /var/lib/apt/lists/* +WORKDIR /app -COPY package.json . - -RUN npm install && npm install qrcode-terminal +COPY package*.json ./ +RUN npm install COPY . . -EXPOSE 5000 +RUN apt-get update && apt-get install -y ffmpeg imagemagick webp + +FROM node:21-alpine -CMD ["npm", "start"] +WORKDIR /app + +COPY --from=builder /app/node_modules ./node_modules +COPY --from=builder /app . + +EXPOSE 5000 +CMD [ "npm", "start" ] From 321f37d7787539b0866cd479e8b47d2e252e42f0 Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Fri, 5 Jul 2024 05:27:28 -0500 Subject: [PATCH 02/36] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 6f31f09500..8818d25909 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ FROM node:21 AS builder WORKDIR /app COPY package*.json ./ -RUN npm install +RUN npm install --platform=linuxmusl COPY . . From 2443e24b559c58626b3a69c2e23e7f9af2cdefda Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Fri, 12 Jul 2024 16:41:03 +0530 Subject: [PATCH 03/36] Delete .github/workflows/docker-image.yml --- .github/workflows/docker-image.yml | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 .github/workflows/docker-image.yml diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml deleted file mode 100644 index d657a63b2d..0000000000 --- a/.github/workflows/docker-image.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: Docker Image CI - -on: - push: - branches: [ "main" ] - pull_request: - branches: [ "main" ] - -jobs: - - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - name: Build the Docker image - run: docker build . --file Dockerfile --tag my-image-name:$(date +%s) From 43f064fd4a444d0b8589d081b13bb8f8619549df Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Fri, 12 Jul 2024 16:44:14 +0530 Subject: [PATCH 04/36] Update Dockerfile --- Dockerfile | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8818d25909..db485aa319 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,20 +1,11 @@ -FROM node:21 AS builder +FROM quay.io/gurusensei/gurubhay:latest -WORKDIR /app +RUN git clone https://github.com/Guru322/GURU-Ai /root/guru -COPY package*.json ./ -RUN npm install --platform=linuxmusl - -COPY . . - -RUN apt-get update && apt-get install -y ffmpeg imagemagick webp - -FROM node:21-alpine +WORKDIR /root/guru/ -WORKDIR /app - -COPY --from=builder /app/node_modules ./node_modules -COPY --from=builder /app . +RUN npm install --platform=linuxmusl EXPOSE 5000 -CMD [ "npm", "start" ] + +CMD ["npm", "start"] From 47de1eff95d363f8134aa4166cffd664a176ef18 Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Fri, 12 Jul 2024 16:54:11 +0530 Subject: [PATCH 05/36] Create version.json --- version.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 version.json diff --git a/version.json b/version.json new file mode 100644 index 0000000000..f1d9aa2c97 --- /dev/null +++ b/version.json @@ -0,0 +1 @@ +{"version":"v1.0.0"} From 7292d09a0ebb5ec71b62bb6d072d2e93706c5726 Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Fri, 12 Jul 2024 17:02:29 +0530 Subject: [PATCH 06/36] Create build.yml --- .github/workflows/build.yml | 39 +++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000000..0c8f162ffd --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,39 @@ +name: quay-image +on: + push: + branches: + - master + tags: + - '*' + paths: + - version.json +jobs: + build: + env: + context: quay-image + image_name: quay-image + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - name: Get image tags + id: image_tags + run: | + echo -n ::set-output name=IMAGE_TAGS:: + VERSION=$(jq -r '.version' ${context}/version.json) + TAGS=('latest') + if [ "${VERSION}" ] && [ "${VERSION}" != "latest" ]; then + TAGS+=("${VERSION}") + fi + if [[ "${GITHUB_REF}" =~ refs/tags/(.*) ]]; then + TAGS+=("git-${BASH_REMATCH[1]}") + fi + ( IFS=$','; echo "${TAGS[*]}" ) + - name: Build and publish image to Quay + uses: docker/build-push-action@v1 + with: + path: ${{ env.context }} + registry: ${{ secrets.REGISTRY_SERVER }} + repository: ${{ secrets.REGISTRY_NAMESPACE }}/${{ env.image_name }} + username: ${{ secrets.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_PASSWORD }} + tags: "${{ steps.image_tags.outputs.IMAGE_TAGS }}" From 16681315e20c14a64b48d5df855fbc6ba477acdd Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Fri, 12 Jul 2024 17:04:05 +0530 Subject: [PATCH 07/36] Update version.json --- version.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.json b/version.json index f1d9aa2c97..29c505f7f2 100644 --- a/version.json +++ b/version.json @@ -1 +1 @@ -{"version":"v1.0.0"} +{"version":"v2.0.0"} From bc88a6167aa7f64c4d4895d1a9cfe59e459c2976 Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Fri, 12 Jul 2024 23:47:34 +0530 Subject: [PATCH 08/36] Update main-menu.js --- plugins/main-menu.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/main-menu.js b/plugins/main-menu.js index 2b237dfb26..87eb9b3df4 100644 --- a/plugins/main-menu.js +++ b/plugins/main-menu.js @@ -513,7 +513,8 @@ const handler = async (m, { conn, command, text, args, usedPrefix }) => { }, } const infoText = ` - > ${botname} 」\n + || श्री || +> ${botname} 」\n - Hii ${name} Senpai - *${ucpn}* From a144bf28202e3ff07e71554da203a20352e6dafe Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Mon, 15 Jul 2024 17:37:17 +0530 Subject: [PATCH 09/36] add bohr.yml workflow --- .github/workflows/bohr.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .github/workflows/bohr.yml diff --git a/.github/workflows/bohr.yml b/.github/workflows/bohr.yml new file mode 100644 index 0000000000..edcfd89b1b --- /dev/null +++ b/.github/workflows/bohr.yml @@ -0,0 +1,13 @@ +name: bohr.io deploy +on: + push: + repository_dispatch: + types: [bohr-dispatch] +permissions: write-all +jobs: + deploy: + name: Deploy on bohr.io + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: bohr-io/action@main \ No newline at end of file From 036b446bdc27324e6c1c827e154d35500a331ef3 Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Mon, 15 Jul 2024 21:59:21 +0530 Subject: [PATCH 10/36] Update Guru.js --- Guru.js | 1 + 1 file changed, 1 insertion(+) diff --git a/Guru.js b/Guru.js index 37fedca6ca..4c946a300e 100644 --- a/Guru.js +++ b/Guru.js @@ -263,6 +263,7 @@ const connectionOptions = { }, msgRetryCounterCache, defaultQueryTimeoutMs: undefined, + syncFullHistory: false } global.conn = makeWASocket(connectionOptions) From 219620e47e181fa4795849025ee4fa7fc8d591fb Mon Sep 17 00:00:00 2001 From: sahoogurucharan00 Date: Fri, 19 Jul 2024 17:21:40 +0000 Subject: [PATCH 11/36] update --- .gitignore | 2 ++ plugins/bingimg.js | 19 ---------------- plugins/dl-igstalk.js | 53 ++++++++++++++++++++++++++++--------------- plugins/dl-modapk.js | 4 ++-- 4 files changed, 39 insertions(+), 39 deletions(-) delete mode 100644 plugins/bingimg.js diff --git a/.gitignore b/.gitignore index f619504134..502cf3dac6 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,5 @@ database.json session tmp session.json +.idx/integrations.json +.idx/dev.nix diff --git a/plugins/bingimg.js b/plugins/bingimg.js deleted file mode 100644 index 0391d1188a..0000000000 --- a/plugins/bingimg.js +++ /dev/null @@ -1,19 +0,0 @@ -import fetch from 'node-fetch' - -let handler = async (m, { conn, text }) => { - if (!text) throw 'What do you want to create?' - m.react(rwait) - let msg = encodeURIComponent(text) - let res = await fetch(`https://aemt.me/bingimg?text=${msg}`) - let data = await res.json() - console.log(data) - let buffer = data.result - conn.sendFile(m.chat, buffer, 'image.png', `${text}`, m) - m.react(done) -} - -handler.help = ['bingimg '] -handler.tags = ['AI'] -handler.command = /^bingimg$/i - -export default handler diff --git a/plugins/dl-igstalk.js b/plugins/dl-igstalk.js index dd88e169e0..0133479154 100644 --- a/plugins/dl-igstalk.js +++ b/plugins/dl-igstalk.js @@ -1,24 +1,41 @@ -import fg from 'api-dylux' +import fetch from 'node-fetch'; + let handler = async (m, { conn, args, text, usedPrefix, command }) => { - if (!args[0]) - throw `✳️ Enter the Instagram Username\n\n📌Example: ${usedPrefix + command} asli_guru69` - let res = await fg.igStalk(args[0]) - let te = ` + if (!args[0]) { + throw `✳️ Enter the Instagram Username\n\n📌Example: ${usedPrefix + command} asli_guru69`; + } + + try { + let response = await fetch(`https://www.guruapi.tech/api/igstalk?username=${args[0]}`); + + if (!response.ok) { + throw new Error('Failed to fetch data from API'); + } + + let res = await response.json(); + + let te = ` ┌──「 *STALKING* -▢ *🔖Number:* ${res.name} +▢ *🔖Name:* ${res.name} ▢ *🔖Username:* ${res.username} -▢ *👥followers:* ${res.followersH} -▢ *🫂following:* ${res.followingH} -▢ *📌Bio:* ${res.description} -▢ *🏝️Posts:* ${res.postsH} +▢ *👥Followers:* ${res.followers} +▢ *🫂Following:* ${res.following} +▢ *📌Bio:* ${res.biography} +▢ *🏝️Posts:* ${res.posts} +▢ *🔗 Link:* https://instagram.com/${res.username.replace(/^@/, '')} +└────────────`; + + await conn.sendFile(m.chat, res.profile_picture, 'profile_picture.png', te, m); + + } catch (error) { + console.error(error); + throw 'An error occurred while fetching the Instagram profile. Please try again later.'; + } +}; -▢ *🔗 Link* : https://instagram.com/${res.username.replace(/^@/, '')} -└────────────` +handler.help = ['igstalk']; +handler.tags = ['downloader']; +handler.command = ['igstalk']; - await conn.sendFile(m.chat, res.profilePic, 'tt.png', te, m) -} -handler.help = ['igstalk'] -handler.tags = ['downloader'] -handler.command = ['igstalk'] +export default handler; -export default handler diff --git a/plugins/dl-modapk.js b/plugins/dl-modapk.js index 36799c1ad7..1cccb2d4f0 100644 --- a/plugins/dl-modapk.js +++ b/plugins/dl-modapk.js @@ -2,7 +2,7 @@ import { download } from 'aptoide-scraper' let handler = async (m, { conn, usedPrefix: prefix, command, text }) => { try { - if (command === 'modapk') { + if (command === 'apk') { if (!text) throw `*[❗] Please provide the APK Name you want to download.*` await conn.reply(m.chat, global.wait, m) @@ -42,5 +42,5 @@ let handler = async (m, { conn, usedPrefix: prefix, command, text }) => { handler.help = ['modapk'] handler.tags = ['downloader'] -handler.command = /^modapk$/i +handler.command = /^apk$/i export default handler From 35810d6868c47b8ea766390630770b3968d8c0a0 Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Sat, 20 Jul 2024 13:58:56 +0530 Subject: [PATCH 12/36] Create docker-image.yml --- .github/workflows/docker-image.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .github/workflows/docker-image.yml diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml new file mode 100644 index 0000000000..3f53646d13 --- /dev/null +++ b/.github/workflows/docker-image.yml @@ -0,0 +1,18 @@ +name: Docker Image CI + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Build the Docker image + run: docker build . --file Dockerfile --tag my-image-name:$(date +%s) From e4d19542e1db1e955d230a93c08a087730480172 Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Sat, 20 Jul 2024 14:05:50 +0530 Subject: [PATCH 13/36] Delete .github/workflows/bohr.yml --- .github/workflows/bohr.yml | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 .github/workflows/bohr.yml diff --git a/.github/workflows/bohr.yml b/.github/workflows/bohr.yml deleted file mode 100644 index edcfd89b1b..0000000000 --- a/.github/workflows/bohr.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: bohr.io deploy -on: - push: - repository_dispatch: - types: [bohr-dispatch] -permissions: write-all -jobs: - deploy: - name: Deploy on bohr.io - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: bohr-io/action@main \ No newline at end of file From 39ce2fbff6abe267380491b461336d3b26791d34 Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Sun, 21 Jul 2024 16:33:03 +0530 Subject: [PATCH 14/36] Update GURU-gpt4.js --- plugins/GURU-gpt4.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/GURU-gpt4.js b/plugins/GURU-gpt4.js index 843885f64f..b8c5195b6a 100644 --- a/plugins/GURU-gpt4.js +++ b/plugins/GURU-gpt4.js @@ -14,7 +14,7 @@ let handler = async (m, { conn, text, args, usedPrefix, command }) => { const result = await fetch(apiurl) const response = await result.json() console.log(response) - const textt = response.result.reply + const textt = response.result await typewriterEffect(conn, m, m.chat, textt) } catch (error) { console.error(error) From ce1fe839ecd52d99326c459236ea958eb4f95f90 Mon Sep 17 00:00:00 2001 From: sahoogurucharan00 Date: Sun, 21 Jul 2024 13:59:30 +0000 Subject: [PATCH 15/36] updates --- plugins/GURU-gpt4.js | 69 ++++++++++++++++++-------------------------- plugins/Guru-dark.js | 38 ++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 41 deletions(-) create mode 100644 plugins/Guru-dark.js diff --git a/plugins/GURU-gpt4.js b/plugins/GURU-gpt4.js index b8c5195b6a..5c26f6e929 100644 --- a/plugins/GURU-gpt4.js +++ b/plugins/GURU-gpt4.js @@ -1,51 +1,38 @@ -import displayLoadingScreen from '../lib/loading.js' -import fetch from 'node-fetch' -import { delay } from '@whiskeysockets/baileys' +import fetch from 'node-fetch'; let handler = async (m, { conn, text, args, usedPrefix, command }) => { try { - if (!text) throw `uhm.. what do you want to say?` - m.react('🤖') - //await displayLoadingScreen(conn, m.chat) + if (!text) throw 'uhm.. what do you want to say?'; + await m.react('🤖'); - const prompt = encodeURIComponent(text) - let apiurl = `https://ultimetron.guruapi.tech/gpt4?prompt=${prompt}` + const prompt = encodeURIComponent(text); + let apiurl = `https://ultimetron.guruapi.tech/gpt4?prompt=${prompt}`; - const result = await fetch(apiurl) - const response = await result.json() - console.log(response) - const textt = response.result - await typewriterEffect(conn, m, m.chat, textt) + const result = await fetch(apiurl); + const response = await result.json(); + + if (!response.result) throw 'No result found'; + + const replyText = response.result; + await conn.sendButton( + m.chat, + replyText, + author, + 'https://telegra.ph/file/c3f9e4124de1f31c1c6ae.jpg', + [['Script', `.sc`]], + null, + [['Follow Me', `https://github.com/Guru322`]], + m + ); } catch (error) { - console.error(error) - m.reply('Oops! Something went wrong. , we are trying had to fix it asap') + console.error(error); + m.reply('Oops! Something went wrong. We are trying hard to fix it ASAP.'); } -} -handler.help = ['gemini '] -handler.tags = ['tools'] -handler.command = /^(gpt4)$/i - -export default handler +}; -async function typewriterEffect(conn, quoted, from, text) { - let { key } = await conn.sendMessage(from, { text: 'Thinking...' }, { quoted: quoted }) +handler.help = ['gpt4 ']; +handler.tags = ['tools']; +handler.command = /^(gpt4)$/i; - for (let i = 0; i < text.length; i++) { - const noobText = text.slice(0, i + 1) - await conn.relayMessage( - from, - { - protocolMessage: { - key: key, - type: 14, - editedMessage: { - conversation: noobText, - }, - }, - }, - {} - ) +export default handler; - await delay(100) // Adjust the delay time (in milliseconds) as needed - } -} diff --git a/plugins/Guru-dark.js b/plugins/Guru-dark.js new file mode 100644 index 0000000000..4c71a04643 --- /dev/null +++ b/plugins/Guru-dark.js @@ -0,0 +1,38 @@ +import fetch from 'node-fetch'; + +let handler = async (m, { conn, text, args, usedPrefix, command }) => { + try { + if (!text) throw 'uhm.. what do you want to say?'; + await m.react('🤖'); + + const prompt = encodeURIComponent(text); + let apiurl = `https://dark.guruapi.tech/egpt?prompt=${prompt}`; + + const result = await fetch(apiurl); + const response = await result.json(); + + if (!response.message) throw 'No result found'; + + const replyText = response.message; + await conn.sendButton( + m.chat, + replyText, + author, + 'https://letemoinhaiti.com/home/wp-content/uploads/2024/03/img_9025-1-850x560.jpg', + [['Script', `.sc`]], + null, + [['Follow Me', `https://github.com/Guru322`]], + m + ); + } catch (error) { + console.error(error); + m.reply('Oops! Something went wrong. We are trying hard to fix it ASAP.'); + } +}; + +handler.help = ['darky ']; +handler.tags = ['tools']; +handler.command = ['darky', 'darkgpt'] + +export default handler; + From 0a9e9b0b5a3728c580d1d084c73e4b96e3a02ec2 Mon Sep 17 00:00:00 2001 From: sahoogurucharan00 Date: Wed, 24 Jul 2024 15:27:50 +0000 Subject: [PATCH 16/36] Fix: Bing --- .gitignore | 1 + plugins/GURU-Bing.js | 155 ++++++++++------------------------------- plugins/Guru-bardai.js | 136 ------------------------------------ session/file | 1 - 4 files changed, 39 insertions(+), 254 deletions(-) delete mode 100644 plugins/Guru-bardai.js delete mode 100644 session/file diff --git a/.gitignore b/.gitignore index 502cf3dac6..b92c7cad7c 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ tmp session.json .idx/integrations.json .idx/dev.nix +session/file diff --git a/plugins/GURU-Bing.js b/plugins/GURU-Bing.js index 61db6f5ab0..84c2d09262 100644 --- a/plugins/GURU-Bing.js +++ b/plugins/GURU-Bing.js @@ -1,117 +1,38 @@ -const _0x19dd6a = _0x379e -;(function (_0x29da58, _0x2edd40) { - const _0x384a5b = _0x379e - const _0x170fe3 = _0x29da58() - while (!![]) { - try { - const _0x128782 = - -parseInt(_0x384a5b(0x11a)) / 0x1 + - (parseInt(_0x384a5b(0x12d)) / 0x2) * (parseInt(_0x384a5b(0x127)) / 0x3) + - (-parseInt(_0x384a5b(0x114)) / 0x4) * (parseInt(_0x384a5b(0x11f)) / 0x5) + - (parseInt(_0x384a5b(0x122)) / 0x6) * (parseInt(_0x384a5b(0x116)) / 0x7) + - parseInt(_0x384a5b(0x11b)) / 0x8 + - (parseInt(_0x384a5b(0x10f)) / 0x9) * (-parseInt(_0x384a5b(0x12c)) / 0xa) + - -parseInt(_0x384a5b(0x110)) / 0xb - if (_0x128782 === _0x2edd40) { - break - } else { - _0x170fe3['push'](_0x170fe3['shift']()) - } - } catch (_0x134cca) { - _0x170fe3['push'](_0x170fe3['shift']()) - } - } -})(_0xb1b4, 0xe10a5) -import _0x406196 from 'node-fetch' -let handler = async ( - _0x47a04a, - { conn: _0x4a7b4b, args: _0x1facfe, usedPrefix: _0x2fa54b, command: _0x104623, text: _0x53666f } -) => { - const _0x2ff938 = _0x379e - if (!_0x53666f && !(_0x47a04a['quoted'] && _0x47a04a[_0x2ff938(0x124)][_0x2ff938(0x123)])) { - throw _0x2ff938(0x12b) - } - if (!_0x53666f && _0x47a04a[_0x2ff938(0x124)] && _0x47a04a[_0x2ff938(0x124)][_0x2ff938(0x123)]) { - _0x53666f = _0x47a04a['quoted']['text'] - } - _0x47a04a[_0x2ff938(0x126)](_0x2ff938(0x118)) - _0x47a04a[_0x2ff938(0x112)]('🤔') - const _0x16d711 = encodeURIComponent(_0x53666f) - let _0x2b4311 = await Bing(_0x16d711) - if (!_0x2b4311) { - throw new Error(_0x2ff938(0x125)) - } - await _0x4a7b4b['reply'](_0x47a04a[_0x2ff938(0x129)], _0x2b4311[_0x2ff938(0x12a)], _0x47a04a) -} -handler[_0x19dd6a(0x119)] = [_0x19dd6a(0x117)] -function _0xb1b4() { - const _0x113865 = [ - 'quoted', - 'No\x20valid\x20JSON\x20response\x20from\x20Bing\x20', - 'reply', - '3jHchyf', - 'json', - 'chat', - 'result', - 'Please\x20provide\x20some\x20text\x20or\x20quote\x20a\x20message\x20to\x20get\x20a\x20response.', - '10jgaojq', - '1224668cTLgnn', - '721575eyMVOi', - '1385901iFYTlu', - 'Mozilla/5.0\x20(Windows\x20NT\x2010.0;\x20WOW64)\x20AppleWebKit/537.36\x20(KHTML,\x20like\x20Gecko)\x20Chrome/91.0.4472.114\x20Safari/537.36', - 'react', - 'command', - '8jewvCy', - 'get', - '21RIoHpz', - 'bing', - 'thinking...', - 'help', - '609992HifjSS', - '1202496XfQOBE', - 'LBSIU', - 'https://aemt.me/bingai?text=', - 'application/x-www-form-urlencoded;charset=UTF-8', - '2158655POTZKQ', - 'tags', - 'pQJyL', - '3677478chKueI', - 'text', - ] - _0xb1b4 = function () { - return _0x113865 - } - return _0xb1b4() -} -handler[_0x19dd6a(0x120)] = ['ai'] -handler[_0x19dd6a(0x113)] = /^(bing)$/i -export default handler -async function Bing(_0x2f3bdc) { - const _0x55d2cd = _0x19dd6a - const _0x2478a7 = { - LBSIU: _0x55d2cd(0x111), - pQJyL: _0x55d2cd(0x11e), - QJeWy: function (_0x4dedde, _0x450c3c, _0x5d6b86) { - return _0x4dedde(_0x450c3c, _0x5d6b86) - }, - } - const _0x1ea7d6 = { - 'User-Agent': _0x2478a7[_0x55d2cd(0x11c)], - 'Content-Type': _0x2478a7[_0x55d2cd(0x121)], - } - const _0x4c0ac0 = await _0x2478a7['QJeWy'](_0x406196, _0x55d2cd(0x11d) + _0x2f3bdc, { - method: _0x55d2cd(0x115), - headers: _0x1ea7d6, - }) - const _0x497387 = await _0x4c0ac0[_0x55d2cd(0x128)]() - return _0x497387 -} -function _0x379e(_0x21779b, _0x4c8613) { - const _0xb1b452 = _0xb1b4() - _0x379e = function (_0x379e31, _0x17aa74) { - _0x379e31 = _0x379e31 - 0x10f - let _0x37d2d9 = _0xb1b452[_0x379e31] - return _0x37d2d9 - } - return _0x379e(_0x21779b, _0x4c8613) -} +import fetch from 'node-fetch'; + +let handler = async (m, { conn, text, args, usedPrefix, command }) => { + try { + if (!text) throw 'uhm.. what do you want to say?'; + await m.react('🤖'); + + const prompt = encodeURIComponent(text); + let apiurl = `https://gpt4.guruapi.tech/bing?username=defailt&query=${prompt}`; + + const result = await fetch(apiurl); + const response = await result.json(); + + if (!response.result) throw 'No result found'; + + const replyText = response.result; + await conn.sendButton( + m.chat, + replyText, + author, + 'https://techcrunch.com/wp-content/uploads/2023/11/microsoft-copilot-bing.jpg', + [['Script', `.sc`]], + null, + [['Follow Me', `https://github.com/Guru322`]], + m + ); + } catch (error) { + console.error(error); + m.reply('Oops! Something went wrong. We are trying hard to fix it ASAP.'); + } +}; + +handler.help = ['bing ']; +handler.tags = ['tools']; +handler.command = /^(bing)$/i; + +export default handler; + diff --git a/plugins/Guru-bardai.js b/plugins/Guru-bardai.js deleted file mode 100644 index a0f114c39c..0000000000 --- a/plugins/Guru-bardai.js +++ /dev/null @@ -1,136 +0,0 @@ -const _0x11d18b = _0x1fe9 -;(function (_0x32c016, _0x500f6f) { - const _0x889755 = _0x1fe9 - const _0x338c74 = _0x32c016() - while (!![]) { - try { - const _0x3ec04b = - (-parseInt(_0x889755(0xb9)) / 0x1) * (-parseInt(_0x889755(0x9e)) / 0x2) + - (parseInt(_0x889755(0xab)) / 0x3) * (parseInt(_0x889755(0x9b)) / 0x4) + - -parseInt(_0x889755(0xa5)) / 0x5 + - (parseInt(_0x889755(0xa3)) / 0x6) * (parseInt(_0x889755(0x9c)) / 0x7) + - -parseInt(_0x889755(0xaa)) / 0x8 + - parseInt(_0x889755(0xb4)) / 0x9 + - -parseInt(_0x889755(0xba)) / 0xa - if (_0x3ec04b === _0x500f6f) { - break - } else { - _0x338c74['push'](_0x338c74['shift']()) - } - } catch (_0x3f41ce) { - _0x338c74['push'](_0x338c74['shift']()) - } - } -})(_0x5d1d, 0x6620d) -function _0x5d1d() { - const _0x13e402 = [ - '2149czhMFs', - 'question', - '19224pTUiMt', - 'Thinking...', - 'help', - 'slice', - 'length', - '8520gRhiiV', - 'content', - '1864985lwYtCl', - 'qmOrl', - 'react', - 'mcePV', - 'sGswq', - '1508920XFhUvM', - '1596CePYhS', - 'reply', - 'knNuL', - 'bard', - 'questionWithImage', - 'Give\x20some\x20text', - 'join', - 'gemini', - 'tags', - '4435992kcjxCn', - 'mimetype', - 'msg', - 'text', - 'download', - '52dBwBnZ', - '9073070Nutyms', - 'An\x20error\x20occured', - 'quoted', - 'command', - '3448avTEXF', - ] - _0x5d1d = function () { - return _0x13e402 - } - return _0x5d1d() -} -import _0x13e160 from '../lib/uploadImage.js' -import _0x51b114 from '../lib/bard.js' -const bardAi = new _0x51b114() -function _0x1fe9(_0xfdc4ab, _0x455fc3) { - const _0x5d1d3b = _0x5d1d() - _0x1fe9 = function (_0x1fe927, _0x273b1c) { - _0x1fe927 = _0x1fe927 - 0x98 - let _0x88a39b = _0x5d1d3b[_0x1fe927] - return _0x88a39b - } - return _0x1fe9(_0xfdc4ab, _0x455fc3) -} -let handler = async ( - _0x3f8109, - { conn: _0x3858ca, args: _0x2328ad, usedPrefix: _0x190be4, command: _0x12b706 } -) => { - const _0x3bc4c9 = _0x1fe9 - const _0x508d37 = { - sGswq: function (_0x393c30, _0x20f4be) { - return _0x393c30 >= _0x20f4be - }, - mcePV: _0x3bc4c9(0xb0), - jnTsT: _0x3bc4c9(0x9f), - qmOrl: function (_0x3596e5, _0x547c1a, _0x38def4) { - return _0x3596e5(_0x547c1a, _0x38def4) - }, - knNuL: 'Only\x20images\x20are\x20supported', - } - let _0x45c267 - if (_0x508d37[_0x3bc4c9(0xa9)](_0x2328ad[_0x3bc4c9(0xa2)], 0x1)) { - _0x45c267 = _0x2328ad[_0x3bc4c9(0xa1)](0x0)[_0x3bc4c9(0xb1)]('\x20') - } else if (_0x3f8109['quoted'] && _0x3f8109['quoted'][_0x3bc4c9(0xb7)]) { - _0x45c267 = _0x3f8109[_0x3bc4c9(0x99)]['text'] - } else return _0x3f8109['reply'](_0x508d37[_0x3bc4c9(0xa8)]) - let _0x2cab01 = _0x3f8109[_0x3bc4c9(0x99)] ? _0x3f8109['quoted'] : _0x3f8109 - let _0x9d974d = (_0x2cab01[_0x3bc4c9(0xb6)] || _0x2cab01)[_0x3bc4c9(0xb5)] || '' - await _0x3f8109[_0x3bc4c9(0xa7)]('💸') - await _0x3f8109['reply'](_0x508d37['jnTsT']) - if (!_0x9d974d) { - try { - let _0x1d052c = await Bard(_0x45c267) - await _0x3f8109['reply'](_0x1d052c[_0x3bc4c9(0xa4)]) - } catch (_0x37c6fb) { - throw _0x3bc4c9(0x98) - } - } else { - let _0x2ca9b1 = await _0x2cab01[_0x3bc4c9(0xb8)]() - let _0xf95336 = /image\/(png|jpe?g)/['test'](_0x9d974d) - if (_0xf95336) { - let _0x519598 = await _0x13e160(_0x2ca9b1) - let _0x350bba = await _0x508d37[_0x3bc4c9(0xa6)](BardImg, _0x45c267, _0x519598) - await _0x3f8109[_0x3bc4c9(0xac)](_0x350bba[_0x3bc4c9(0xa4)]) - } else { - await _0x3f8109['reply'](_0x508d37[_0x3bc4c9(0xad)]) - } - } -} -handler[_0x11d18b(0xa0)] = [_0x11d18b(0xae)] -handler[_0x11d18b(0xb3)] = ['ai'] -handler[_0x11d18b(0x9a)] = [_0x11d18b(0xae), _0x11d18b(0xb2)] -export default handler -async function Bard(_0x36ee67) { - const _0x4a2def = _0x11d18b - return await bardAi[_0x4a2def(0x9d)]({ ask: _0x36ee67 }) -} -async function BardImg(_0x9e45de, _0x1d605e) { - const _0xd15f47 = _0x11d18b - return await bardAi[_0xd15f47(0xaf)]({ ask: _0x9e45de, image: _0x1d605e }) -} diff --git a/session/file b/session/file deleted file mode 100644 index 8b13789179..0000000000 --- a/session/file +++ /dev/null @@ -1 +0,0 @@ - From 7541e244fb3838e83a0e84978fe03ddd1af93894 Mon Sep 17 00:00:00 2001 From: sahoogurucharan00 Date: Wed, 24 Jul 2024 15:44:11 +0000 Subject: [PATCH 17/36] changes --- plugins/GURU-Bing.js | 6 +++--- plugins/GURU-Openai.js | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/GURU-Bing.js b/plugins/GURU-Bing.js index 84c2d09262..29cd3aeeab 100644 --- a/plugins/GURU-Bing.js +++ b/plugins/GURU-Bing.js @@ -4,9 +4,9 @@ let handler = async (m, { conn, text, args, usedPrefix, command }) => { try { if (!text) throw 'uhm.. what do you want to say?'; await m.react('🤖'); - + let username = m.sender.split('@')[0]; const prompt = encodeURIComponent(text); - let apiurl = `https://gpt4.guruapi.tech/bing?username=defailt&query=${prompt}`; + let apiurl = `https://gpt4.guruapi.tech/bing?username=${username}&query=${prompt}`; const result = await fetch(apiurl); const response = await result.json(); @@ -19,7 +19,7 @@ let handler = async (m, { conn, text, args, usedPrefix, command }) => { replyText, author, 'https://techcrunch.com/wp-content/uploads/2023/11/microsoft-copilot-bing.jpg', - [['Script', `.sc`]], + [['Go with Gpt', `.gpt ${text}`]], null, [['Follow Me', `https://github.com/Guru322`]], m diff --git a/plugins/GURU-Openai.js b/plugins/GURU-Openai.js index 2b28193186..6cac65d52f 100644 --- a/plugins/GURU-Openai.js +++ b/plugins/GURU-Openai.js @@ -26,7 +26,7 @@ let handler = async (m, { text, conn, usedPrefix, command }) => { throw new Error('No valid JSON response from the first API') } - await conn.sendButton(m.chat,result, author, 'https://telegra.ph/file/c3f9e4124de1f31c1c6ae.jpg', [['Script', `.sc`]], null, [['Follow Me', `https://github.com/Guru322`]], m) + await conn.sendButton(m.chat,result, author, 'https://telegra.ph/file/c3f9e4124de1f31c1c6ae.jpg', [['Go with Bing', `.bing ${text}`]], null, [['Follow Me', `https://github.com/Guru322`]], m) m.react(done) } catch (error) { console.error('Error from the first API:', error) @@ -40,7 +40,7 @@ let handler = async (m, { text, conn, usedPrefix, command }) => { let data = await response.json() let result = data.completion - await conn.sendButton(m.chat,result, author, 'https://telegra.ph/file/c3f9e4124de1f31c1c6ae.jpg', [['Script', `.sc`]], null, [['Follow Me', `https://github.com/Guru322`]], m) + await conn.sendButton(m.chat,result, author, 'https://telegra.ph/file/c3f9e4124de1f31c1c6ae.jpg', [['Go with Bing', `.bing ${text}`]], null, [['Follow Me', `https://github.com/Guru322`]], m) m.react(done) } } catch (error) { From bc9a4d85e4d2c76670566893fbf2b2cbb04dcbfe Mon Sep 17 00:00:00 2001 From: sahoogurucharan00 Date: Wed, 24 Jul 2024 16:03:02 +0000 Subject: [PATCH 18/36] fix --- plugins/GURU-Openai.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/plugins/GURU-Openai.js b/plugins/GURU-Openai.js index 6cac65d52f..d55d36d87c 100644 --- a/plugins/GURU-Openai.js +++ b/plugins/GURU-Openai.js @@ -14,13 +14,14 @@ let handler = async (m, { text, conn, usedPrefix, command }) => { conn.sendPresenceUpdate('composing', m.chat) const prompt = encodeURIComponent(text) - - const guru1 = `https://api.gurusensei.workers.dev/llama?prompt=${prompt}` + const senderNumber = m.sender.replace(/[^0-9]/g, '') + const session = `GURU_BOT_${senderNumber}` + const guru1 = `https://gpt4.guruapi.tech/user?username=${session}&query=${prompt}` try { let response = await fetch(guru1) let data = await response.json() - let result = data.response.response + let result = data.result if (!result) { throw new Error('No valid JSON response from the first API') From fbc0a679ca19ac01295af86cd0b073720d9ee647 Mon Sep 17 00:00:00 2001 From: sahoogurucharan00 Date: Sat, 27 Jul 2024 05:11:12 +0000 Subject: [PATCH 19/36] fix:ytvideo dl --- Assets/cookies.json | 210 ++++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + plugins/dl-ytv.js | 93 ++++++++++++++------ 3 files changed, 278 insertions(+), 26 deletions(-) create mode 100644 Assets/cookies.json diff --git a/Assets/cookies.json b/Assets/cookies.json new file mode 100644 index 0000000000..7defcf8509 --- /dev/null +++ b/Assets/cookies.json @@ -0,0 +1,210 @@ +[ + { + "domain": ".youtube.com", + "expirationDate": 1753936834.281554, + "hostOnly": false, + "httpOnly": true, + "name": "__Secure-3PSID", + "path": "/", + "sameSite": "no_restriction", + "secure": true, + "session": false, + "storeId": null, + "value": "g.a000lAhWu-GUZaq7exVTwtzSLhvxVGRH9kBnDaNnR_vxamLEHywSDpuh_4u0IMMXkfmlR41gVwACgYKAUwSARcSFQHGX2MiJ13O7GGbXa4GD9NYz-nV4BoVAUF8yKrsfy2zd-tE_7-TitOcWKRu0076" + }, + { + "domain": ".youtube.com", + "expirationDate": 1752830393.003465, + "hostOnly": false, + "httpOnly": false, + "name": "SIDCC", + "path": "/", + "sameSite": null, + "secure": false, + "session": false, + "storeId": null, + "value": "AKEyXzW_OI3BQXUvLE3Zw41FkLQJXAU0D44hqfmSLQ7F-mEvZRaR3vf3uM6ApuqHGZQqJkrZuA" + }, + { + "domain": ".youtube.com", + "expirationDate": 1753936834.281383, + "hostOnly": false, + "httpOnly": false, + "name": "SID", + "path": "/", + "sameSite": null, + "secure": false, + "session": false, + "storeId": null, + "value": "g.a000lAhWu-GUZaq7exVTwtzSLhvxVGRH9kBnDaNnR_vxamLEHywSkzv40p_7UlIEBwg9t7EASgACgYKAeYSARcSFQHGX2Mirr4E3RptLgDb6Z4r-imF4BoVAUF8yKrHCsixB0xV91ocdHJ_M57k0076" + }, + { + "domain": ".youtube.com", + "expirationDate": 1752830302.591556, + "hostOnly": false, + "httpOnly": true, + "name": "__Secure-1PSIDTS", + "path": "/", + "sameSite": null, + "secure": true, + "session": false, + "storeId": null, + "value": "sidts-CjIB4E2dkessW4GfZxT0TyYMdSMDlBtnlghKt_VcC1_h75x7UVZVbH9beKjwzzApgNelrxAA" + }, + { + "domain": ".youtube.com", + "expirationDate": 1753936834.281629, + "hostOnly": false, + "httpOnly": false, + "name": "SAPISID", + "path": "/", + "sameSite": null, + "secure": true, + "session": false, + "storeId": null, + "value": "D55ljsvXVKPt5Iwv/A0ZBb7RO3ZJo0AqOX" + }, + { + "domain": ".youtube.com", + "expirationDate": 1752830393.003737, + "hostOnly": false, + "httpOnly": true, + "name": "__Secure-1PSIDCC", + "path": "/", + "sameSite": null, + "secure": true, + "session": false, + "storeId": null, + "value": "AKEyXzVbS0_DT2n2eFOqSWxit1kf7nL6cXzo7g9jcafDQpknmhzU3Aj0ytKXbN9NW1mOAaNh" + }, + { + "domain": ".youtube.com", + "expirationDate": 1753936834.281593, + "hostOnly": false, + "httpOnly": true, + "name": "SSID", + "path": "/", + "sameSite": null, + "secure": true, + "session": false, + "storeId": null, + "value": "ASVG7IGSVZwKvwZ-s" + }, + { + "domain": ".youtube.com", + "expirationDate": 1753936834.281649, + "hostOnly": false, + "httpOnly": false, + "name": "__Secure-1PAPISID", + "path": "/", + "sameSite": null, + "secure": true, + "session": false, + "storeId": null, + "value": "D55ljsvXVKPt5Iwv/A0ZBb7RO3ZJo0AqOX" + }, + { + "domain": ".youtube.com", + "expirationDate": 1753936834.281532, + "hostOnly": false, + "httpOnly": true, + "name": "__Secure-1PSID", + "path": "/", + "sameSite": null, + "secure": true, + "session": false, + "storeId": null, + "value": "g.a000lAhWu-GUZaq7exVTwtzSLhvxVGRH9kBnDaNnR_vxamLEHywSTPqtNkWQD3MS1DHpjnddDgACgYKAWMSARcSFQHGX2Mi6molbIcFs__ct_-qaJMK8hoVAUF8yKrQqU4ZvsRfLilZfhlzlJ4m0076" + }, + { + "domain": ".youtube.com", + "expirationDate": 1753936834.281668, + "hostOnly": false, + "httpOnly": false, + "name": "__Secure-3PAPISID", + "path": "/", + "sameSite": "no_restriction", + "secure": true, + "session": false, + "storeId": null, + "value": "D55ljsvXVKPt5Iwv/A0ZBb7RO3ZJo0AqOX" + }, + { + "domain": ".youtube.com", + "expirationDate": 1752830393.003927, + "hostOnly": false, + "httpOnly": true, + "name": "__Secure-3PSIDCC", + "path": "/", + "sameSite": "no_restriction", + "secure": true, + "session": false, + "storeId": null, + "value": "AKEyXzWrfUPi45Mv2FDX99liJd8ZspPhTDKJiXJoFhuV-k45YdrsDpZXJRxZqjOIHzoMLfrZ" + }, + { + "domain": ".youtube.com", + "expirationDate": 1752830302.59167, + "hostOnly": false, + "httpOnly": true, + "name": "__Secure-3PSIDTS", + "path": "/", + "sameSite": "no_restriction", + "secure": true, + "session": false, + "storeId": null, + "value": "sidts-CjIB4E2dkessW4GfZxT0TyYMdSMDlBtnlghKt_VcC1_h75x7UVZVbH9beKjwzzApgNelrxAA" + }, + { + "domain": ".youtube.com", + "expirationDate": 1753936834.281611, + "hostOnly": false, + "httpOnly": false, + "name": "APISID", + "path": "/", + "sameSite": null, + "secure": false, + "session": false, + "storeId": null, + "value": "2v56EMUfsI9rbu6i/AxzQ5Qg8OLMP9Xods" + }, + { + "domain": ".youtube.com", + "expirationDate": 1753936834.281575, + "hostOnly": false, + "httpOnly": true, + "name": "HSID", + "path": "/", + "sameSite": null, + "secure": false, + "session": false, + "storeId": null, + "value": "Ar2IamUQkoYKxTJvp" + }, + { + "domain": ".youtube.com", + "expirationDate": 1753938447.765229, + "hostOnly": false, + "httpOnly": true, + "name": "LOGIN_INFO", + "path": "/", + "sameSite": "no_restriction", + "secure": true, + "session": false, + "storeId": null, + "value": "AFmmF2swRAIgcSBc-4tnorOufu0fek4nl2a4PiCONRkF7rtsJ4UD1y4CIDkWVU1j1Y15ZfD7ARnQOPUfM6A7KnfFO36ca_zrPOD1:QUQ3MjNmeEs3NXpRbDdhMjEya0pfeE1SVEE0R2pvMVlKaEY1OVNRem9LQWExck4teVNmc2N2a25oNnNtaGdWZUNNOHVCZEQzODV5WEx4c2xEOEhEZ1ZWalNRajBqUlY1Tm5Qb2F4b2JXaVhZWGwxYlpsTVRaMDRjQnE2MzFTRW5kbDRWTEJQVGRsY1dQd2tCX1NGMEdWMGJIT2F1d1RXdUFR" + }, + { + "domain": ".youtube.com", + "expirationDate": 1755854395.612955, + "hostOnly": false, + "httpOnly": false, + "name": "PREF", + "path": "/", + "sameSite": null, + "secure": true, + "session": false, + "storeId": null, + "value": "tz=Asia.Calcutta" + } +] \ No newline at end of file diff --git a/package.json b/package.json index a1e1b68208..d84243f63e 100644 --- a/package.json +++ b/package.json @@ -102,6 +102,7 @@ "tempmail.lol": "^4.1.0", "terminal-image": "^2.0.0", "truesearch": "^1.0.2", + "undici": "^6.19.4", "url-regex-safe": "^3.0.0", "wa-sticker-formatter": "^4.3.2", "xfarr-api": "^1.0.3", diff --git a/plugins/dl-ytv.js b/plugins/dl-ytv.js index 6101c9725d..d5423a3b8e 100644 --- a/plugins/dl-ytv.js +++ b/plugins/dl-ytv.js @@ -1,38 +1,79 @@ -import fs from 'fs' -import os from 'os' -import fetch from 'node-fetch' +import fs from 'fs'; +import path from 'path'; +import ytdl from 'youtubedl-core'; +import { Client } from 'undici'; +import { fileURLToPath } from 'url'; +import fetch from 'node-fetch'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); -let limit = 500 let handler = async (m, { conn, args, isPrems, isOwner, usedPrefix, command }) => { - let chat = global.db.data.chats[m.chat] - if (!args || !args[0]) throw `✳️ Example:\n${usedPrefix + command} https://youtu.be/YzkTFFwxtXI` - if (!args[0].match(/youtu/gi)) throw `❎ Verify that the YouTube link` + let chat = global.db.data.chats[m.chat]; + if (!args || !args[0]) throw `✳️ Example:\n${usedPrefix + command} https://youtu.be/YzkTFFwxtXI`; + if (!args[0].match(/youtu/gi)) throw `❎ Verify that the YouTube link`; + await m.react('⏳') - var ggapi = `https://vihangayt.me/download/ytmp4?url=${encodeURIComponent(args)}` + const videoDetails = await ytddl(args[0]); + if (!videoDetails) throw `❎ Error downloading video`; - const response = await fetch(ggapi) - if (!response.ok) { - console.log('Error searching for song:', response.statusText) - throw 'Error searching for song' - } - const data = await response.json() + const { url, title, author, description } = videoDetails; + + const response = await fetch(url); + const data = await response.buffer(); const caption = `✼ ••๑⋯❀ Y O U T U B E ❀⋯⋅๑•• ✼ - ❏ Title: ${data.data.title} - ❒ Link: ${args[0]} - ⊱─━⊱༻●༺⊰━─⊰` - let vres = data.data.vid_360p +❏ Title: ${title || 'Unknown'} +❒ Author: ${author || 'Unknown'} +❒ Description: ${description || 'No description available'} +❒ Link: ${args[0]} +⊱─━⊱༻●༺⊰━─⊰`; + + conn.sendFile(m.chat, data, `${title || 'video'}.mp4`, caption, m, false, { asDocument: chat.useDocument }); + await m.react('✅') +}; + + +handler.help = ['ytmp4 ']; +handler.tags = ['downloader']; +handler.command = ['ytmp4', 'video', 'ytv']; +handler.diamond = false; - let vid = await fetch(vres) - const vidBuffer = await vid.buffer() +export default handler; - conn.sendFile(m.chat, vidBuffer, `error.mp4`, caption, m, false, { asDocument: chat.useDocument }) +async function getCookies() { + const cookiesPath = path.resolve(__dirname, '../Assets/cookies.json'); + if (!fs.existsSync(cookiesPath)) { + throw new Error('Cookies file not found'); + } + return JSON.parse(fs.readFileSync(cookiesPath, 'utf-8')); +} + +async function createClient() { + const cookies = await getCookies(); + return new Client("https://www.youtube.com", { + headers: { + "Cookie": cookies.map(cookie => `${cookie.name}=${cookie.value}`).join('; ') + } + }); } -handler.help = ['ytmp4 '] -handler.tags = ['downloader'] -handler.command = ['ytmp4', 'video', 'ytv'] -handler.diamond = false +async function ytddl(url) { + try { + const client = await createClient(); + const yt = await ytdl.getInfo(url, { requestOptions: { client: client } }); + const link = ytdl.chooseFormat(yt.formats, { quality: 'highest', filter: 'audioandvideo' }); + + return { + url: link.url, + title: yt.videoDetails.title, + author: yt.videoDetails.author.name, + description: yt.videoDetails.description, + }; + } catch (error) { + console.error("An error occurred:", error); + return null; // Ensure a null is returned on error + } +} -export default handler From 17761c5e1ce6976d1cf4b61d18486bbe796ae1dd Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Sat, 27 Jul 2024 11:00:33 +0530 Subject: [PATCH 20/36] Create Aptible.yml --- .github/workflows/Aptible.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 .github/workflows/Aptible.yml diff --git a/.github/workflows/Aptible.yml b/.github/workflows/Aptible.yml new file mode 100644 index 0000000000..7fd7a275c6 --- /dev/null +++ b/.github/workflows/Aptible.yml @@ -0,0 +1,22 @@ +name: Deploy to Aptible + +on: + push: + branches: + - main + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Deploy to Aptible + uses: aptible/aptible-deploy-action@v4 + with: + type: git + app: test-deploy + environment: gurutest + username: ${{ secrets.APTIBLE_USERNAME }} + password: ${{ secrets.APTIBLE_PASSWORD }} From 9244528f52565601408cbd5aaa56ea43bcd2290a Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Sat, 27 Jul 2024 11:03:42 +0530 Subject: [PATCH 21/36] Update Aptible.yml --- .github/workflows/Aptible.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/Aptible.yml b/.github/workflows/Aptible.yml index 7fd7a275c6..ca1c158b7a 100644 --- a/.github/workflows/Aptible.yml +++ b/.github/workflows/Aptible.yml @@ -11,6 +11,8 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v2 + with: + fetch-depth: 0 - name: Deploy to Aptible uses: aptible/aptible-deploy-action@v4 From 19d0843e90201910b2a56a8b66c637ca52f9a165 Mon Sep 17 00:00:00 2001 From: sahoogurucharan00 Date: Sun, 4 Aug 2024 11:57:11 +0000 Subject: [PATCH 22/36] update --- plugins/GURU-gpt4.js | 7 ++-- plugins/dl-spotify.js | 15 ++++--- plugins/dl-twitter.js | 52 +++++++++++++++++-------- plugins/maker-quote.js | 88 +++++++++++++++++++----------------------- 4 files changed, 89 insertions(+), 73 deletions(-) diff --git a/plugins/GURU-gpt4.js b/plugins/GURU-gpt4.js index 5c26f6e929..6f3b60c3d0 100644 --- a/plugins/GURU-gpt4.js +++ b/plugins/GURU-gpt4.js @@ -6,14 +6,15 @@ let handler = async (m, { conn, text, args, usedPrefix, command }) => { await m.react('🤖'); const prompt = encodeURIComponent(text); - let apiurl = `https://ultimetron.guruapi.tech/gpt4?prompt=${prompt}`; + let userid = conn.getName(m.sender) || "default" + let apiurl = `https://api.guruapi.tech/ai/gpt4?username=${userid}&query=hii${prompt}`; const result = await fetch(apiurl); const response = await result.json(); - if (!response.result) throw 'No result found'; + if (!response.msg) throw 'No result found'; - const replyText = response.result; + const replyText = response.msg; await conn.sendButton( m.chat, replyText, diff --git a/plugins/dl-spotify.js b/plugins/dl-spotify.js index b3e7475b07..2dd1b8f270 100644 --- a/plugins/dl-spotify.js +++ b/plugins/dl-spotify.js @@ -6,14 +6,19 @@ let handler = async (m, { conn, text }) => { throw `*Please enter a song name*` } m.react('🎶') - await displayLoadingScreen(conn, m.chat) + //await displayLoadingScreen(conn, m.chat) let pp = 'https://wallpapercave.com/wp/wp7932387.jpg' const query = encodeURIComponent(text) - let res = `https://guruapi.tech/api/spotifydl?url=${query}` - // let spotify = await (await fetch(res)).buffer() + let res = `https://api.guruapi.tech/spotifysearch?query=${query}` + let spurl = await fetch(res) + spurl = await spurl.json() + let dlres = await fetch(`https://api.guruapi.tech/spotifydl?url=${spurl.data[0].url}`) + dlres = await dlres.json() + let sturl = dlres.data.url + let doc = { audio: { - url: res, + url: sturl, }, mimetype: 'audio/mpeg', ptt: true, @@ -25,7 +30,7 @@ let handler = async (m, { conn, text }) => { externalAdReply: { title: '↺ |◁ II ▷| ♡', body: `Now playing: ${text}`, - thumbnailUrl: pp, + thumbnailUrl: dlres.data.thumbnail, sourceUrl: null, mediaType: 1, renderLargerThumbnail: false, diff --git a/plugins/dl-twitter.js b/plugins/dl-twitter.js index 32938ae554..7cd76bcbb7 100644 --- a/plugins/dl-twitter.js +++ b/plugins/dl-twitter.js @@ -1,23 +1,41 @@ -import fg from 'api-dylux' -let handler = async (m, { conn, args, usedPrefix, command }) => { - if (!args[0]) - throw `📌 Example : \n*${usedPrefix + command}* https://twitter.com/fernandavasro/status/1569741835555291139?t=ADxk8P3Z3prq8USIZUqXCg&s=19` - m.react(rwait) +import fetch from 'node-fetch' + +let handler = async (m, { conn, usedPrefix, args, command, text }) => { + if (!text) throw `You need to give the URL of Any x(twitter) video, post, reel, image` + m.reply(wait) + + let res try { - let { SD, HD, desc, thumb, audio } = await fg.twitter(args[0]) - let te = ` -┌─⊷ *TWITTER DL* -▢ Description: ${desc} -└───────────` - conn.sendFile(m.chat, HD, 'twitter.mp4', te, m) - m.react(done) - } catch (e) { - m.reply(`✳️ verify that the link is from Twitter`) + res = await fetch(`https://api.guruapi.tech/xdown?url=${text}`) + } catch (error) { + throw `An error occurred: ${error.message}` + } + + let api_response = await res.json() + + if (!api_response || !api_response.media) { + throw `No video or image found or Invalid response from API.` + } + + const mediaArray = api_response.media + + for (const mediaData of mediaArray) { + const mediaType = mediaData.type + const mediaURL = mediaData.url + + let cap = `HERE IS THE ${mediaType.toUpperCase()} >,<` + + if (mediaType === 'video') { + conn.sendFile(m.chat, mediaURL, 'x.mp4', cap, m) + } else if (mediaType === 'image') { + conn.sendFile(m.chat, mediaURL, 'x.jpg', cap, m) + } } } -handler.help = ['twitter'].map(v => v + ' ') + +handler.help = ['Twitter'] handler.tags = ['downloader'] -handler.command = /^(twitter|tw)$/i -handler.diamond = true +handler.command = /^(twitter|xdl)$/i export default handler + diff --git a/plugins/maker-quote.js b/plugins/maker-quote.js index d600088338..a8c0f4689f 100644 --- a/plugins/maker-quote.js +++ b/plugins/maker-quote.js @@ -1,6 +1,6 @@ import fetch from 'node-fetch' import { Sticker, createSticker, StickerTypes } from 'wa-sticker-formatter' - +import uploadFile from "../lib/uploadFile.js"; import fs from 'fs' import os from 'os' import path from 'path' @@ -13,52 +13,44 @@ let handler = async (m, { conn, text }) => { if (!text && m.quoted && m.quoted.text) { text = m.quoted.text } - - let who = m.quoted - ? m.quoted.sender - : m.mentionedJid && m.mentionedJid[0] - ? m.mentionedJid[0] - : m.fromMe - ? conn.user.jid - : m.sender - if (!(who in global.db.data.users)) throw '✳️ The user is not found in my database' - let userPfp = await conn - .profilePictureUrl(who, 'image') - .catch(_ => 'https://cdn.jsdelivr.net/gh/Guru322/api@Guru/guru.jpg') - let user = global.db.data.users[who] - let { name } = global.db.data.users[who] + const logo = 'https://avatars.githubusercontent.com/u/106463398?v=4' + const q = m.quoted || m; + const match = q?.mimetype?.match(/^(image|video|webp)\//); + const mediaUrl = match ? await uploadFile(await q?.download()) : logo; + const senderId = parseInt(m.sender.split("@")[0]); + const senderName = m.name || await conn.getName(m.sender); + const senderPhotoUrl = await conn.profilePictureUrl(m.sender, "image").catch(() => logo); + const replyMessage = q !== m ? { + entities: [], + avatar: true, + id: parseInt(q.sender.split("@")[0]), + name: q.name || await conn.getName(q.sender), + photo: { + url: await conn.profilePictureUrl(q.sender, "image").catch(() => logo) + }, + text: q.text || q.caption || q.description || q.message?.documentMessage?.caption || "" + } : null; + const messageText = text || q?.text || q?.caption || q?.description || q?.message?.documentMessage?.caption || m.text || m.caption || m.message?.documentMessage?.caption || ""; m.react(rwait) - - let quoteJson = { - type: 'quote', - format: 'png', - backgroundColor: '#FFFFFF', - width: 1800, - height: 200, // Adjust the height value as desired - scale: 2, - messages: [ - { - entities: [], - avatar: true, - from: { - id: 1, - name: name, - photo: { - url: userPfp, - }, - }, - text: text, - replyMessage: {}, - }, - ], - } - - let res = await fetch('https://bot.lyo.su/quote/generate', { - method: 'POST', - body: JSON.stringify(quoteJson), - headers: { 'Content-Type': 'application/json' }, - }) + const url = 'https://api.guruapi.tech/qc'; + const data = { + mediaUrl: mediaUrl, + senderId: senderId, + senderName: senderName, + senderPhotoUrl: senderPhotoUrl, + messageText: messageText, + replyMessage: replyMessage || null +}; + +const options = { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify(data) +}; +let res = await fetch(url, options); if (!res.ok) { throw new Error(`Failed to fetch: ${res.status} ${res.statusText}`) @@ -66,20 +58,20 @@ let handler = async (m, { conn, text }) => { let json = await res.json() - if (!json.result || !json.result.image) { + if (!json || !json.image) { throw new Error('Unexpected response structure') } function randomId() { return Math.floor(100000 + Math.random() * 900000) } - let bufferImage = Buffer.from(json.result.image, 'base64') + let bufferImage = Buffer.from(json.image, 'base64') let tempImagePath = path.join(os.tmpdir(), 'tempImage.png') fs.writeFileSync(tempImagePath, bufferImage) let sticker = new Sticker(tempImagePath, { pack: global.packname, - author: name, + author: senderName, type: StickerTypes.FULL, categories: ['🤩', '🎉'], id: randomId(), From c111750d77e56b6687ca04ba074418d8890851c1 Mon Sep 17 00:00:00 2001 From: sahoogurucharan00 Date: Sun, 4 Aug 2024 11:57:37 +0000 Subject: [PATCH 23/36] forgot to stage --- plugins/Guru-hentai.js | 58 +++++++++++++++++++++++++----------------- 1 file changed, 34 insertions(+), 24 deletions(-) diff --git a/plugins/Guru-hentai.js b/plugins/Guru-hentai.js index b8c3483b12..ca0d9f25b3 100644 --- a/plugins/Guru-hentai.js +++ b/plugins/Guru-hentai.js @@ -1,28 +1,38 @@ +import fetch from 'node-fetch'; + let handler = async (m, { conn, text, usedPrefix, command, args }) => { if (!global.db.data.chats[m.chat].nsfw) - throw `🚫 group doesnt supprt nsfw \n\n enable it by \n*${usedPrefix}enable* nsfw` - let user = global.db.data.users[m.sender].age - if (user < 17) throw m.reply(`❎ uneed to be atleast 18 years`) - if (!text) throw `*This command provides sauce from nhentai: ${usedPrefix + command} miku*` + throw `🚫 Group doesn't support NSFW. Enable it by using *${usedPrefix}enable* nsfw.`; + + let userAge = global.db.data.users[m.sender].age; + if (userAge < 17) throw `❎ You need to be at least 18 years old.`; + try { - m.reply(global.wait) - let res = await fetch( - `https://api.lolhuman.xyz/api/nhentaisearch?apikey=${lolkeysapi}&query=${text}` - ) - let json = await res.json() - let aa = json.result[0].id - let aa2 = json.result[0].title_native - let res2 = await fetch(`https://api.lolhuman.xyz/api/nhentaipdf/${aa}?apikey=${lolkeysapi}`) - let json2 = await res2.json() - let aa3 = json2.result - await conn.sendMessage( - m.chat, - { document: { url: aa3 }, mimetype: 'application/pdf', fileName: `${aa2}.pdf` }, - { quoted: m } - ) - } catch { - throw `*ERROR NOT FOUND TRY SEARCHING ANOTHER QUERY*` + m.reply(global.wait); + let res = await fetch('https://api.guruapi.tech/hanime/trend'); + let json = await res.json(); + + if (!json || json.length === 0) throw 'No data found'; + + let topTrending = json.slice(0, 8); + + let message = '🔥 **Top 8 Trending Hentai of the Week** 🔥\n\n'; + + topTrending.forEach((data, index) => { + message += ` +${index + 1}. **${data.name}** + - 📎 Link: https://hanime.tv/videos/hentai/${data.slug} + - 👁️ Views: ${data.views} + +`; + }); + + await conn.sendFile(m.chat, topTrending[0].cover_url, 'hanime.jpeg', message, m); + } catch (error) { + console.error(error); + throw `*ERROR: Something went wrong. Please try again later.*`; } -} -handler.command = /^(hentai)$/i -export default handler +}; + +handler.command = /^(hentai)$/i; +export default handler; From 774e4f6021aedd610fc99e1ca2f64f2c639b7b0b Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Fri, 9 Aug 2024 15:25:40 +0530 Subject: [PATCH 24/36] Update docker-image.yml --- .github/workflows/docker-image.yml | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 3f53646d13..872245b168 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -7,12 +7,29 @@ on: branches: [ "main" ] jobs: - build: - runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - name: Build the Docker image - run: docker build . --file Dockerfile --tag my-image-name:$(date +%s) + - name: Checkout source code + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Log in to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.REG_TOKEN }} + + - name: Build and tag the Docker image + run: | + docker build . --file Dockerfile --tag ghcr.io/${{ github.repository_owner }}/DEPLOY-GURU:${{ github.sha }} + + - name: Push the Docker image + run: | + docker push ghcr.io/${{ github.repository_owner }}/DEPLOY-GURU:${{ github.sha }} + + From 1428b4fe619121d614683c38cdf9978e94e63e73 Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Fri, 9 Aug 2024 15:27:21 +0530 Subject: [PATCH 25/36] Update docker-image.yml --- .github/workflows/docker-image.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 872245b168..f3b2a3fb57 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -26,10 +26,10 @@ jobs: - name: Build and tag the Docker image run: | - docker build . --file Dockerfile --tag ghcr.io/${{ github.repository_owner }}/DEPLOY-GURU:${{ github.sha }} + docker build . --file Dockerfile --tag ghcr.io/${{ github.repository_owner }}/deploy-guru:${{ github.sha }} - name: Push the Docker image run: | - docker push ghcr.io/${{ github.repository_owner }}/DEPLOY-GURU:${{ github.sha }} + docker push ghcr.io/${{ github.repository_owner }}/deploy-guru:${{ github.sha }} From a08a6703d6ddd66f6af9c407419e7e1554ea2466 Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Fri, 9 Aug 2024 15:30:17 +0530 Subject: [PATCH 26/36] Update docker-image.yml --- .github/workflows/docker-image.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index f3b2a3fb57..81ceadc66e 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -26,10 +26,8 @@ jobs: - name: Build and tag the Docker image run: | - docker build . --file Dockerfile --tag ghcr.io/${{ github.repository_owner }}/deploy-guru:${{ github.sha }} + docker build . --file Dockerfile --tag ghcr.io/${{ github.repository_owner | toLower }}/deploy-guru:${{ github.sha }} - name: Push the Docker image run: | - docker push ghcr.io/${{ github.repository_owner }}/deploy-guru:${{ github.sha }} - - + docker push ghcr.io/${{ github.repository_owner | toLower }}/deploy-guru:${{ github.sha }} From 0d157317cc4da7bdecbba74bf6b838f1d6e851fc Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Fri, 9 Aug 2024 15:31:59 +0530 Subject: [PATCH 27/36] Update docker-image.yml --- .github/workflows/docker-image.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 81ceadc66e..9c87c21bec 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -26,8 +26,10 @@ jobs: - name: Build and tag the Docker image run: | - docker build . --file Dockerfile --tag ghcr.io/${{ github.repository_owner | toLower }}/deploy-guru:${{ github.sha }} + REPO_OWNER=$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]') + docker build . --file Dockerfile --tag ghcr.io/$REPO_OWNER/deploy-guru:${{ github.sha }} - name: Push the Docker image run: | - docker push ghcr.io/${{ github.repository_owner | toLower }}/deploy-guru:${{ github.sha }} + REPO_OWNER=$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]') + docker push ghcr.io/$REPO_OWNER/deploy-guru:${{ github.sha }} From 1ebb083457fdfdc23e8620ad25757aad20a3001c Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Mon, 12 Aug 2024 06:41:55 -0500 Subject: [PATCH 28/36] Create Layerfile --- Layerfile | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 Layerfile diff --git a/Layerfile b/Layerfile new file mode 100644 index 0000000000..bb4f3bbefb --- /dev/null +++ b/Layerfile @@ -0,0 +1,18 @@ +FROM vm/ubuntu:18.04 + + +RUN apt-get update && \ + apt-get install ca-certificates curl gnupg lsb-release && \ + sudo mkdir -p /etc/apt/keyrings && \ + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg && \ + echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" |\ + sudo tee /etc/apt/sources.list.d/docker.list > /dev/null && \ + apt-get update && \ + apt-get install docker-ce docker-ce-cli containerd.io + +COPY . . + +RUN docker build -t image . +RUN docker run -d -p 5000:5000 image +EXPOSE WEBSITE http://localhost:5000 From 9ca4c08ed9fbeed1a0137366443e392dc2c8efc8 Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Tue, 13 Aug 2024 14:58:56 +0000 Subject: [PATCH 29/36] temporary --- lib/scraper.js | 434 ---------------------------------- package.json | 3 +- plugins/dl-facebook.js | 12 +- plugins/dl-gdrive.js | 5 +- plugins/dl-play2.js | 325 ------------------------- plugins/dl-tiktok.js | 42 ---- plugins/dl-tiktokstalk.js | 21 -- plugins/owner-logout.js | 4 +- plugins/sticker-getsticker.js | 6 +- plugins/tools-wikipedia.js | 2 +- plugins/xvid.js | 4 +- plugins/xxdl.js | 4 +- 12 files changed, 21 insertions(+), 841 deletions(-) delete mode 100644 lib/scraper.js delete mode 100644 plugins/dl-play2.js delete mode 100644 plugins/dl-tiktok.js delete mode 100644 plugins/dl-tiktokstalk.js diff --git a/lib/scraper.js b/lib/scraper.js deleted file mode 100644 index 473b4d8224..0000000000 --- a/lib/scraper.js +++ /dev/null @@ -1,434 +0,0 @@ -function _0xb1c8() { - const _0x36cffd = [ - '3355255jCPXFG', - '9122477wxmJwV', - 'html5player.setVideoHLS\x5c(\x27(.*?)\x27\x5c);', - 'now', - 'filter', - '894960OvSceh', - 'div.user__title\x20>\x20h4', - 'div[class=\x22col-7\x20col-md-auto\x20text-truncate\x22]', - '30188QnesTo', - 'stringify', - 'background-image:\x20url(\x27', - 'error', - 'https://2chat.c3r.ink/', - '20183672omJNpO', - '#html5video\x20>\x20#html5video_base\x20>\x20div\x20>\x20a', - 'parse', - 'https://fdownloader.net/api/ajaxSearch', - 'value', - 'set-cookie', - 'span.video-hd-mark', - 'attr', - 'pop', - 'request', - 'href', - 'div.mozaique\x20>\x20div\x20>\x20div\x20>\x20div.thumb\x20>\x20a', - '\x20views', - '/THUMBNUM/', - 'h1.user', - 'div.user__info-desc', - 'div.thumb-under\x20a', - 'toArray', - 'POST', - 'src', - 'map', - 'application/x-www-form-urlencoded;\x20charset=UTF-8', - 'split', - 'each', - 'https://www.xvideos.com/?k=', - 'div.content\x20>\x20p', - '\x27);', - 'span.rating-bad-nbr', - 'meta[property=\x27og:title\x27]', - 'div.thumb\x20a', - 'username', - 'followers', - '\x22images\x22:', - 'length', - 'https://chatapicn.a3r.fun/api/chat-process', - '213gmskUi', - '&p=', - 'content', - 'replace', - 'find', - 'div.user__img', - 'https://fdownloader.net/', - 'data-src', - 'description', - 'html', - 'load', - 'div#video-tabs\x20>\x20div\x20>\x20div\x20>\x20div\x20>\x20div\x20>\x20strong.mobile-hide', - '749184OPaMpW', - 'title', - 'data', - 'entries', - 'style', - 'div.user__title\x20>\x20a\x20>\x20h1', - 'get', - '/search/', - 'trim', - 'text', - 'match', - 'floor', - '#video-player-bg\x20>\x20script:nth-child(6)', - 'div[class=\x22col-md-auto\x20justify-content-center\x20text-center\x22]\x20>\x20img', - 'random', - 'post', - '1739701oQHsnr', - 'push', - 'div[class=\x22col-auto\x20d-none\x20d-sm-block\x20text-truncate\x22]', - 'div.mozaique', - 'json', - 'script', - ] - _0xb1c8 = function () { - return _0x36cffd - } - return _0xb1c8() -} -;(function (_0x5d0954, _0x79750a) { - const _0x1c320e = _0x24da, - _0x233698 = _0x5d0954() - while (!![]) { - try { - const _0xe942b = - parseInt(_0x1c320e(0x11b)) / 0x1 + - (-parseInt(_0x1c320e(0x129)) / 0x2) * (-parseInt(_0x1c320e(0xff)) / 0x3) + - -parseInt(_0x1c320e(0x10b)) / 0x4 + - -parseInt(_0x1c320e(0x121)) / 0x5 + - parseInt(_0x1c320e(0x126)) / 0x6 + - parseInt(_0x1c320e(0x122)) / 0x7 + - -parseInt(_0x1c320e(0x12e)) / 0x8 - if (_0xe942b === _0x79750a) break - else _0x233698['push'](_0x233698['shift']()) - } catch (_0x460fb0) { - _0x233698['push'](_0x233698['shift']()) - } - } -})(_0xb1c8, 0xd7708) -import _0xf85905 from 'cheerio' -function _0x24da(_0x2e6dae, _0x2d5eab) { - const _0xb1c8b5 = _0xb1c8() - return ( - (_0x24da = function (_0x24da6b, _0x3cec82) { - _0x24da6b = _0x24da6b - 0xfe - let _0x144e24 = _0xb1c8b5[_0x24da6b] - return _0x144e24 - }), - _0x24da(_0x2e6dae, _0x2d5eab) - ) -} -import _0x3e64a6 from 'node-fetch' -import _0x1446b3 from 'axios' -async function sekaikomikDl(_0x281ece) { - const _0x4752aa = _0x24da - let _0x44a26d = await _0x3e64a6(_0x281ece), - _0x25e5f8 = _0xf85905[_0x4752aa(0x109)](await _0x44a26d['text']()), - _0x546e7f = _0x25e5f8(_0x4752aa(0x120)) - [_0x4752aa(0x142)]((_0x597dd9, _0x56d025) => _0x25e5f8(_0x56d025)[_0x4752aa(0x108)]()) - [_0x4752aa(0x13f)]() - return ( - (_0x546e7f = _0x546e7f[_0x4752aa(0x125)](_0x435fb6 => /wp-content/i['test'](_0x435fb6))), - (_0x546e7f = eval(_0x546e7f[0x0]['split'](_0x4752aa(0x14e))[0x1]['split']('}],')[0x0])), - _0x546e7f['map'](_0x426296 => encodeURI(_0x426296)) - ) -} -async function facebookDl(_0x5bfb47) { - const _0xc418ce = _0x24da - let _0x236170 = await _0x3e64a6('https://fdownloader.net/'), - _0x138dbf = _0xf85905[_0xc418ce(0x109)](await _0x236170[_0xc418ce(0x114)]()), - _0x353382 = _0x138dbf('input[name=\x22__RequestVerificationToken\x22]')[_0xc418ce(0x135)]( - _0xc418ce(0x132) - ), - _0x5cd298 = await ( - await _0x3e64a6(_0xc418ce(0x131), { - method: _0xc418ce(0x11a), - headers: { - cookie: _0x236170['headers'][_0xc418ce(0x111)](_0xc418ce(0x133)), - 'content-type': _0xc418ce(0x143), - referer: _0xc418ce(0x105), - }, - body: new URLSearchParams( - Object[_0xc418ce(0x10e)]({ __RequestVerificationToken: _0x353382, q: _0x5bfb47 }) - ), - }) - )[_0xc418ce(0x11f)](), - _0x4376b2 = _0xf85905['load'](_0x5cd298['data']), - _0x4f15ed = {} - return ( - _0x4376b2('.button.is-success.is-small.download-link-fb')[_0xc418ce(0x145)](function () { - const _0x5ccc4c = _0xc418ce - let _0x1e455e = _0x4376b2(this)[_0x5ccc4c(0x135)](_0x5ccc4c(0x10c))['split']('\x20')[0x1], - _0x24048d = _0x4376b2(this)[_0x5ccc4c(0x135)](_0x5ccc4c(0x138)) - if (_0x24048d) _0x4f15ed[_0x1e455e] = _0x24048d - }), - _0x4f15ed - ) -} -async function tiktokStalk(_0x292c3a) { - const _0x2fdbfb = _0x24da - let _0x4a75a7 = await _0x1446b3[_0x2fdbfb(0x111)]('https://urlebird.com/user/' + _0x292c3a + '/'), - _0x43f41b = _0xf85905['load'](_0x4a75a7['data']), - _0x3760e1 = {} - return ( - (_0x3760e1['pp_user'] = _0x43f41b(_0x2fdbfb(0x118))[_0x2fdbfb(0x135)](_0x2fdbfb(0x141))), - (_0x3760e1['name'] = _0x43f41b(_0x2fdbfb(0x13c))[_0x2fdbfb(0x114)]()[_0x2fdbfb(0x113)]()), - (_0x3760e1[_0x2fdbfb(0x14c)] = _0x43f41b('div.content\x20>\x20h5') - ['text']() - [_0x2fdbfb(0x113)]()), - (_0x3760e1[_0x2fdbfb(0x14d)] = _0x43f41b(_0x2fdbfb(0x128)) - [_0x2fdbfb(0x114)]() - [_0x2fdbfb(0x113)]() - [_0x2fdbfb(0x144)]('\x20')[0x1]), - (_0x3760e1['following'] = _0x43f41b(_0x2fdbfb(0x11d)) - [_0x2fdbfb(0x114)]() - ['trim']() - [_0x2fdbfb(0x144)]('\x20')[0x1]), - (_0x3760e1[_0x2fdbfb(0x107)] = _0x43f41b(_0x2fdbfb(0x147))[_0x2fdbfb(0x114)]()['trim']()), - _0x3760e1 - ) -} -async function igStalk(_0x3a0bc2) { - const _0x48d4cb = _0x24da - _0x3a0bc2 = _0x3a0bc2['replace'](/^@/, '') - const _0x2e793d = await ( - await _0x3e64a6('https://dumpor.com/v/' + _0x3a0bc2) - )[_0x48d4cb(0x114)](), - _0xde4576 = _0xf85905['load'](_0x2e793d), - _0x14ff71 = _0xde4576(_0x48d4cb(0x110))[_0x48d4cb(0x114)]()[_0x48d4cb(0x113)](), - _0xc30c04 = _0xde4576(_0x48d4cb(0x127))['text']()['trim'](), - _0x1aca7d = _0xde4576(_0x48d4cb(0x13d))[_0x48d4cb(0x114)]()[_0x48d4cb(0x113)](), - _0x266f9c = _0xde4576(_0x48d4cb(0x104)) - [_0x48d4cb(0x135)](_0x48d4cb(0x10f)) - ?.[_0x48d4cb(0x102)](_0x48d4cb(0x12b), '') - [_0x48d4cb(0x102)](_0x48d4cb(0x148), ''), - _0x460da5 = _0xde4576( - '#user-page\x20>\x20div.container\x20>\x20div\x20>\x20div\x20>\x20div:nth-child(1)\x20>\x20div\x20>\x20a' - ), - _0xebbfc7 = _0x460da5['eq'](0x0) - [_0x48d4cb(0x114)]() - [_0x48d4cb(0x102)](/Posts/i, '') - [_0x48d4cb(0x113)](), - _0x52ad58 = _0x460da5['eq'](0x2) - [_0x48d4cb(0x114)]() - ['replace'](/Followers/i, '') - [_0x48d4cb(0x113)](), - _0x1b6476 = _0x460da5['eq'](0x3) - ['text']() - [_0x48d4cb(0x102)](/Following/i, '') - ['trim'](), - _0x4ecd71 = _0xde4576('ul.list\x20>\x20li.list__item'), - _0x54ee6e = parseInt( - _0x4ecd71['eq'](0x0) - [_0x48d4cb(0x114)]() - [_0x48d4cb(0x102)](/Posts/i, '') - [_0x48d4cb(0x113)]() - [_0x48d4cb(0x102)](/\s/g, '') - ), - _0x39d01b = parseInt( - _0x4ecd71['eq'](0x1) - [_0x48d4cb(0x114)]() - [_0x48d4cb(0x102)](/Followers/i, '') - [_0x48d4cb(0x113)]() - [_0x48d4cb(0x102)](/\s/g, '') - ), - _0xba97c2 = parseInt( - _0x4ecd71['eq'](0x2) - [_0x48d4cb(0x114)]() - [_0x48d4cb(0x102)](/Following/i, '') - [_0x48d4cb(0x113)]() - [_0x48d4cb(0x102)](/\s/g, '') - ) - return { - name: _0x14ff71, - username: _0xc30c04, - description: _0x1aca7d, - postsH: _0xebbfc7, - posts: _0x54ee6e, - followersH: _0x52ad58, - followers: _0x39d01b, - followingH: _0x1b6476, - following: _0xba97c2, - profilePic: _0x266f9c, - } -} -async function xnxxdl(_0x4ced3c) { - const _0x36b936 = _0x24da - try { - const _0x6385f6 = await _0x3e64a6(_0x4ced3c), - _0x570089 = await _0x6385f6[_0x36b936(0x114)](), - _0x58de88 = _0xf85905[_0x36b936(0x109)](_0x570089), - _0x5a205f = _0x58de88(_0x36b936(0x117))['html'](), - _0x4e5a96 = { - low: (_0x5a205f[_0x36b936(0x115)]('html5player.setVideoUrlLow\x5c(\x27(.*?)\x27\x5c);') || - [])[0x1], - high: _0x5a205f[_0x36b936(0x115)]( - 'html5player.setVideoUrlHigh\x5c(\x27(.*?)\x27\x5c);' || [] - )[0x1], - HLS: _0x5a205f[_0x36b936(0x115)](_0x36b936(0x123) || [])[0x1], - } - return _0x4e5a96 - } catch (_0x322bfb) { - return console[_0x36b936(0x12c)](_0x322bfb), null - } -} -async function xnxxSearch(_0x58b8be) { - const _0x16b263 = _0x24da, - _0x5010f7 = 'https://www.xnxx.com', - _0x5f5b5e = await _0x3e64a6( - _0x5010f7 + - _0x16b263(0x112) + - _0x58b8be + - '/' + - (Math[_0x16b263(0x116)](Math[_0x16b263(0x119)]() * 0x3) + 0x1), - { method: 'get' } - ), - _0xf396b = await _0x5f5b5e[_0x16b263(0x114)](), - _0x251c69 = _0xf85905['load'](_0xf396b, { xmlMode: ![] }) - let _0x57c20f = [] - return ( - _0x251c69(_0x16b263(0x11e))['each'](function (_0x50cb8d, _0x5b2ed4) { - const _0x13d61e = _0x16b263, - _0x346297 = _0x251c69(_0x5b2ed4) - [_0x13d61e(0x103)](_0x13d61e(0x14b)) - [_0x13d61e(0x142)]( - (_0x40f1c0, _0x10be25) => - _0x5010f7 + - _0x251c69(_0x10be25) - [_0x13d61e(0x135)](_0x13d61e(0x138)) - [_0x13d61e(0x102)](_0x13d61e(0x13b), '/') - ) - [_0x13d61e(0x111)](), - _0x105025 = _0x251c69(_0x5b2ed4) - [_0x13d61e(0x103)](_0x13d61e(0x13e)) - [_0x13d61e(0x142)]((_0x17dbd9, _0x1d7567) => - _0x251c69(_0x1d7567)['attr'](_0x13d61e(0x10c)) - ) - [_0x13d61e(0x111)]() - for (let _0x215346 = 0x0; _0x215346 < _0x346297[_0x13d61e(0x14f)]; _0x215346++) { - _0x57c20f[_0x13d61e(0x11c)]({ title: _0x105025[_0x215346], link: _0x346297[_0x215346] }) - } - }), - _0x57c20f - ) -} -async function ChatGpt(_0xe20f1f, _0x344017) { - const _0x121947 = _0x24da, - _0x23be9d = { - method: _0x121947(0x140), - headers: { - 'Content-Type': 'application/json', - Referer: _0x121947(0x12d), - accept: 'application/json,\x20text/plain,\x20*/*', - }, - body: JSON[_0x121947(0x12a)]({ - prompt: _0xe20f1f, - options: {}, - regenerate: ![], - roomId: 0x3ea, - uuid: Date[_0x121947(0x124)](), - systemMessage: _0x344017, - top_p: 0x1, - temperature: 0.8, - }), - }, - _0x478037 = await _0x3e64a6(_0x121947(0xfe), _0x23be9d), - _0x1a83a0 = await _0x478037['text']() - let _0x10afe7 = JSON[_0x121947(0x130)](_0x1a83a0[_0x121947(0x144)]('\x0a')[_0x121947(0x136)]()) - return _0x10afe7 -} -async function xvideosSearch(_0x28993e) { - return new Promise(async _0x610d9 => { - const _0x524197 = _0x24da, - _0x2f9041 = await _0x1446b3[_0x524197(0x137)]( - _0x524197(0x146) + - _0x28993e + - _0x524197(0x100) + - (Math[_0x524197(0x116)](Math[_0x524197(0x119)]() * 0x9) + 0x1), - { method: _0x524197(0x111) } - ), - _0x585cba = _0xf85905[_0x524197(0x109)](_0x2f9041[_0x524197(0x10d)], { xmlMode: ![] }), - _0x275f00 = [], - _0x437564 = [], - _0x6d294b = [], - _0x51afd2 = [], - _0x518839 = [], - _0x5d18a0 = [] - _0x585cba('div.mozaique\x20>\x20div\x20>\x20div.thumb-under\x20>\x20p.title')[_0x524197(0x145)]( - function (_0x12af35, _0x1d32eb) { - const _0x3e007c = _0x524197 - _0x275f00[_0x3e007c(0x11c)]( - _0x585cba(this)[_0x3e007c(0x103)]('a')[_0x3e007c(0x135)](_0x3e007c(0x10c)) - ), - _0x437564[_0x3e007c(0x11c)](_0x585cba(this)[_0x3e007c(0x103)]('span.duration')['text']()), - _0x51afd2['push']( - 'https://www.xvideos.com' + _0x585cba(this)['find']('a')[_0x3e007c(0x135)]('href') - ) - } - ), - _0x585cba('div.mozaique\x20>\x20div\x20>\x20div.thumb-under')['each']( - function (_0x10ee54, _0x1189d2) { - const _0x49edd7 = _0x524197 - _0x6d294b[_0x49edd7(0x11c)](_0x585cba(this)[_0x49edd7(0x103)](_0x49edd7(0x134))['text']()) - } - ), - _0x585cba(_0x524197(0x139))[_0x524197(0x145)](function (_0x1f8b18, _0x5a6c0d) { - const _0x33da6c = _0x524197 - _0x518839['push']( - _0x585cba(this)[_0x33da6c(0x103)]('img')[_0x33da6c(0x135)](_0x33da6c(0x106)) - ) - }) - for (let _0x3e4544 = 0x0; _0x3e4544 < _0x275f00[_0x524197(0x14f)]; _0x3e4544++) { - _0x5d18a0['push']({ - title: _0x275f00[_0x3e4544], - duration: _0x437564[_0x3e4544], - quality: _0x6d294b[_0x3e4544], - thumb: _0x518839[_0x3e4544], - url: _0x51afd2[_0x3e4544], - }) - } - _0x610d9(_0x5d18a0) - }) -} -async function xvideosdl(_0x39ce66) { - return new Promise(async _0xe91861 => { - const _0x4a2018 = _0x24da, - _0x375a57 = await _0x3e64a6(_0x39ce66, { method: _0x4a2018(0x111) }), - _0x4ebd5f = await _0x375a57[_0x4a2018(0x114)](), - _0x3e2585 = _0xf85905[_0x4a2018(0x109)](_0x4ebd5f, { xmlMode: ![] }), - _0x47a542 = _0x3e2585(_0x4a2018(0x14a))[_0x4a2018(0x135)](_0x4a2018(0x101)), - _0xd0dfe7 = _0x3e2585('meta[name=\x27keywords\x27]')[_0x4a2018(0x135)](_0x4a2018(0x101)), - _0x404174 = _0x3e2585(_0x4a2018(0x10a))[_0x4a2018(0x114)]() + _0x4a2018(0x13a), - _0x4e685d = _0x3e2585('div.rate-infos\x20>\x20span.rating-total-txt')['text'](), - _0x4799de = _0x3e2585('span.rating-good-nbr')[_0x4a2018(0x114)](), - _0x262293 = _0x3e2585(_0x4a2018(0x149))[_0x4a2018(0x114)](), - _0x1a15c1 = _0x3e2585('meta[property=\x27og:image\x27]')['attr'](_0x4a2018(0x101)), - _0x28b42c = _0x3e2585(_0x4a2018(0x12f))[_0x4a2018(0x135)](_0x4a2018(0x138)) - _0xe91861({ - status: 0xc8, - result: { - title: _0x47a542, - url: _0x28b42c, - keyword: _0xd0dfe7, - views: _0x404174, - vote: _0x4e685d, - likes: _0x4799de, - dislikes: _0x262293, - thumb: _0x1a15c1, - }, - }) - }) -} -export { - sekaikomikDl, - facebookDl, - tiktokStalk, - igStalk, - xnxxdl, - xnxxSearch, - ChatGpt, - xvideosSearch, - xvideosdl, -} diff --git a/package.json b/package.json index d84243f63e..e0e627b027 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "license": "Apache License 2.0", "dependencies": { "@adiwajshing/keyed-db": "^0.2.4", - "@bochilteam/scraper": "^4.0.22-alpha.0", + "@bochilteam/scraper": "^5.0.1", "@google/generative-ai": "0.1.3", "@shineiichijo/marika": "^2.0.6", "@vitalets/google-translate-api": "^9.2.0", @@ -50,7 +50,6 @@ "@xct007/frieren-scraper": "*", "@xct007/tiktok-scraper": "*", "acrcloud": "^1.4.0", - "api-dylux": "^1.6.9", "aptoide-scraper": "^1.0.1", "awesome-phonenumber": "^3.4.0", "axios": "^1.4.0", diff --git a/plugins/dl-facebook.js b/plugins/dl-facebook.js index 00e2799746..03e9998511 100644 --- a/plugins/dl-facebook.js +++ b/plugins/dl-facebook.js @@ -1,8 +1,8 @@ -import fg from 'api-dylux' +import fetch from "node-fetch" const handler = async (m, { conn, args, usedPrefix, command }) => { if (!args[0]) { - throw `✳️ Please send the link of a Facebook video\n\n📌 EXAMPLE :\n*${usedPrefix + command}* https://www.facebook.com/Ankursajiyaan/videos/981948876160874/?mibextid=rS40aB7S9Ucbxw6v` + throw `✳️ Please send the link of a Facebook video\n\n📌 EXAMPLE :\n*${usedPrefix + command}* https://fb.watch/tXadtHWTjf/?mibextid=lbJOhI7Z2ZfpRMIi` } const urlRegex = @@ -11,16 +11,18 @@ const handler = async (m, { conn, args, usedPrefix, command }) => { throw '⚠️ PLEASE GIVE A VALID URL.' } + let url = `https://api.guruapi.tech/fbvideo?url=${args[0]}` + m.react(rwait) try { - const result = await fg.fbdl(args[0]) + const result = await fetch(url) const tex = ` ⊱ ─── {* GURU FBDL*} ─── ⊰ -↳ *VIDEO TITLE:* ${result.title} +↳ *VIDEO TITLE:* ${result.result.title} ⊱ ────── {⋆♬⋆} ────── ⊰` - const response = await fetch(result.videoUrl) + const response = await fetch(result.result.hd) const arrayBuffer = await response.arrayBuffer() const videoBuffer = Buffer.from(arrayBuffer) diff --git a/plugins/dl-gdrive.js b/plugins/dl-gdrive.js index d6f70904f6..8a443ed557 100644 --- a/plugins/dl-gdrive.js +++ b/plugins/dl-gdrive.js @@ -1,4 +1,4 @@ -import fg from 'api-dylux' +/* import fg from 'api-dylux' let handler = async (m, { conn, args, usedPrefix, command }) => { if (!args[0]) throw `✳️ Enter a Google Drive link` m.react(rwait) @@ -27,4 +27,5 @@ handler.command = ['gdrive'] handler.credit = true handler.premium = true -export default handler +export default handler */ + diff --git a/plugins/dl-play2.js b/plugins/dl-play2.js deleted file mode 100644 index 4141ef733b..0000000000 --- a/plugins/dl-play2.js +++ /dev/null @@ -1,325 +0,0 @@ -const _0x535d47 = _0x31a0 -;(function (_0x1af114, _0xaa2a6d) { - const _0x131e20 = _0x31a0, - _0x160c1b = _0x1af114() - while (!![]) { - try { - const _0x4aaa52 = - -parseInt(_0x131e20(0x1ab)) / 0x1 + - parseInt(_0x131e20(0x1d2)) / 0x2 + - -parseInt(_0x131e20(0x1d9)) / 0x3 + - -parseInt(_0x131e20(0x1aa)) / 0x4 + - (parseInt(_0x131e20(0x1cf)) / 0x5) * (-parseInt(_0x131e20(0x1be)) / 0x6) + - (-parseInt(_0x131e20(0x1d7)) / 0x7) * (-parseInt(_0x131e20(0x1d3)) / 0x8) + - (-parseInt(_0x131e20(0x1ad)) / 0x9) * (-parseInt(_0x131e20(0x1db)) / 0xa) - if (_0x4aaa52 === _0xaa2a6d) break - else _0x160c1b['push'](_0x160c1b['shift']()) - } catch (_0x1fad3d) { - _0x160c1b['push'](_0x160c1b['shift']()) - } - } -})(_0x2138, 0x4ea6a) -import _0x13a052 from 'node-fetch' -import _0x3a08bf from 'yt-search' -import _0x2aa4cb from 'ytdl-core' -function _0x31a0(_0x5ee4e3, _0x2c0804) { - const _0x2138c4 = _0x2138() - return ( - (_0x31a0 = function (_0x31a07a, _0x244a55) { - _0x31a07a = _0x31a07a - 0x1a0 - let _0x50b676 = _0x2138c4[_0x31a07a] - return _0x50b676 - }), - _0x31a0(_0x5ee4e3, _0x2c0804) - ) -} -import _0x1fb66b from 'axios' -let handler = async (_0x4e07eb, { command: _0x65cea5, conn: _0x1c49ef, text: _0x55e557 }) => { - const _0x49a280 = _0x31a0 - if (!_0x55e557) throw _0x49a280(0x1d0) - try { - if (_0x65cea5 === _0x49a280(0x1af)) { - _0x1c49ef[_0x49a280(0x1a1)](_0x4e07eb['chat'], '*_sending\x20your\x20audio..._*', _0x4e07eb) - try { - let _0x92eb01 = await _0x13a052( - _0x49a280(0x1a8) + lolkeysapi + _0x49a280(0x1d5) + _0x55e557 - ), - _0x5f16fe = await _0x92eb01[_0x49a280(0x1a5)](), - _0x5394aa = await _0x1c49ef[_0x49a280(0x1cd)]( - _0x4e07eb[_0x49a280(0x1b6)], - { - audio: { url: _0x5f16fe[_0x49a280(0x1b5)][_0x49a280(0x1bf)] }, - fileName: _0x49a280(0x1a6), - mimetype: _0x49a280(0x1ce), - }, - { quoted: _0x4e07eb } - ) - if (!_0x5394aa) - return await _0x1c49ef[_0x49a280(0x1b3)]( - _0x4e07eb[_0x49a280(0x1b6)], - _0x5f16fe[_0x49a280(0x1b5)][_0x49a280(0x1bf)], - _0x49a280(0x1a6), - null, - _0x4e07eb, - ![], - { mimetype: _0x49a280(0x1ce) } - ) - } catch { - let _0x4f6b15 = await ytPlay(_0x55e557), - _0x4db2eb = - _0x4f6b15[_0x49a280(0x1c5)][0x0][_0x49a280(0x1bf)] || - _0x4f6b15['result2'][0x1][_0x49a280(0x1bf)] || - _0x4f6b15[_0x49a280(0x1c5)][0x2][_0x49a280(0x1bf)] || - _0x4f6b15[_0x49a280(0x1c5)] - _0x1c49ef[_0x49a280(0x1cd)]( - _0x4e07eb[_0x49a280(0x1b6)], - { audio: { url: _0x4db2eb }, fileName: _0x49a280(0x1a6), mimetype: _0x49a280(0x1ce) }, - { quoted: _0x4e07eb } - ) - } - } - if (_0x65cea5 === _0x49a280(0x1d6)) { - _0x1c49ef[_0x49a280(0x1a1)]( - _0x4e07eb[_0x49a280(0x1b6)], - '*_⏳Processing\x20your\x20video...⏳_*', - _0x4e07eb - ) - try { - let _0x1c3220 = await ytPlayVid(_0x55e557) - await _0x1c49ef[_0x49a280(0x1cd)]( - _0x4e07eb[_0x49a280(0x1b6)], - { - video: { url: _0x1c3220[_0x49a280(0x1b5)] }, - fileName: 'error.mp4', - caption: _0x49a280(0x1a4), - thumbnail: _0x1c3220[_0x49a280(0x1a7)], - mimetype: _0x49a280(0x1ca), - }, - { quoted: _0x4e07eb } - ) - } catch { - let _0x442e2b = await _0x13a052( - _0x49a280(0x1a8) + lolkeysapi + _0x49a280(0x1d5) + _0x55e557 - ), - _0x290c76 = await _0x442e2b['json']() - await _0x1c49ef[_0x49a280(0x1b3)]( - _0x4e07eb['chat'], - _0x290c76[_0x49a280(0x1b5)][_0x49a280(0x1c7)], - _0x49a280(0x1c8), - _0x49a280(0x1a4), - _0x4e07eb - ) - } - } - } catch (_0x4c92b9) { - _0x4e07eb['reply']('*Error\x20occurred,\x20please\x20try\x20again\x20later.*') - } -} -;(handler['help'] = [_0x535d47(0x1af), _0x535d47(0x1d6)][_0x535d47(0x1a9)]( - _0x216473 => _0x216473 + _0x535d47(0x1b0) -)), - (handler['tags'] = [_0x535d47(0x1c4)]), - (handler[_0x535d47(0x1cc)] = [_0x535d47(0x1af), 'playvid']) -export default handler -function bytesToSize(_0x5d0ed1) { - return new Promise((_0x4a5d71, _0x5d15b2) => { - const _0x1410fa = _0x31a0, - _0x532408 = ['Bytes', 'KB', 'MB', 'GB', 'TB'] - if (_0x5d0ed1 === 0x0) return 'n/a' - const _0x7a9eec = parseInt( - Math[_0x1410fa(0x1a3)](Math[_0x1410fa(0x1a2)](_0x5d0ed1) / Math[_0x1410fa(0x1a2)](0x400)), - 0xa - ) - if (_0x7a9eec === 0x0) _0x4a5d71(_0x5d0ed1 + '\x20' + _0x532408[_0x7a9eec]) - _0x4a5d71( - (_0x5d0ed1 / 0x400 ** _0x7a9eec)[_0x1410fa(0x1bd)](0x1) + '\x20' + _0x532408[_0x7a9eec] - ) - }) -} -async function ytMp3(_0x904bcc) { - return new Promise((_0x425196, _0x5a183d) => { - const _0x1d14e9 = _0x31a0 - _0x2aa4cb['getInfo'](_0x904bcc) - [_0x1d14e9(0x1a0)](async _0x3176ce => { - const _0x5e7d34 = _0x1d14e9 - let _0x2de57e = [] - for (let _0xc30f62 = 0x0; _0xc30f62 < _0x3176ce['formats'][_0x5e7d34(0x1dd)]; _0xc30f62++) { - let _0x55bbd0 = _0x3176ce[_0x5e7d34(0x1c0)][_0xc30f62] - if (_0x55bbd0[_0x5e7d34(0x1ac)] === _0x5e7d34(0x1d8)) { - let { contentLength: _0x549698 } = _0x55bbd0, - _0x165332 = await bytesToSize(_0x549698) - _0x2de57e[_0xc30f62] = { audio: _0x55bbd0[_0x5e7d34(0x1cb)], size: _0x165332 } - } - } - let _0x4676f1 = _0x2de57e['filter']( - _0x27a1a5 => - _0x27a1a5[_0x5e7d34(0x1bf)] !== undefined && _0x27a1a5['size'] !== undefined - ), - _0x2ff9b7 = await _0x1fb66b[_0x5e7d34(0x1ae)]( - 'https://tinyurl.com/api-create.php?url=' + _0x4676f1[0x0][_0x5e7d34(0x1bf)] - ), - _0x565ab5 = _0x2ff9b7[_0x5e7d34(0x1d1)], - _0x47309c = _0x3176ce[_0x5e7d34(0x1dc)][_0x5e7d34(0x1c6)], - _0x2170cc = - _0x3176ce[_0x5e7d34(0x1c3)][_0x5e7d34(0x1da)][_0x5e7d34(0x1c1)]['thumbnail'][ - _0x5e7d34(0x1c2) - ][0x0]['url'] - _0x425196({ title: _0x47309c, result: _0x565ab5, result2: _0x4676f1, thumb: _0x2170cc }) - }) - [_0x1d14e9(0x1b2)](_0x5a183d) - }) -} -function _0x2138() { - const _0x540e33 = [ - 'downloader', - 'result2', - 'title', - 'video', - 'error.mp4', - 'container', - 'video/mp4', - 'url', - 'command', - 'sendMessage', - 'audio/mp4', - '35ZSbUGZ', - 'No\x20text\x20to\x20search,\x20please\x20enter\x20the\x20name\x20of\x20the\x20song\x20you\x20want\x20to\x20play.\x0a\x0a*EXAMPLE:\x0a#play2\x20\x20-\x20Hope\x20xxxtentacion*', - 'data', - '273574GnjUPa', - '8BKdupn', - 'size', - '&query=', - 'playvid', - '1524292lkQCBp', - 'audio/webm;\x20codecs=\x22opus\x22', - '1917840YAEpUq', - 'microformat', - '10317710brWhPh', - 'videoDetails', - 'length', - 'then', - 'reply', - 'log', - 'floor', - '_𝑇𝛨𝛯\x20𝐺𝑈𝑅𝑈\x20𝐵𝛩𝑇_', - 'json', - 'error.mp3', - 'thumb', - 'https://api.lolhuman.xyz/api/ytplay2?apikey=', - 'map', - '1405484gMPNaL', - '466677VfxugO', - 'mimeType', - '18CjNDQj', - 'get', - 'play2', - '\x20', - 'videos', - 'catch', - 'sendFile', - 'getInfo', - 'result', - 'chat', - 'quality', - 'push', - 'thumbnail', - 'mp4', - 'hasVideo', - 'slice', - 'toFixed', - '547374mhmgDH', - 'audio', - 'formats', - 'playerMicroformatRenderer', - 'thumbnails', - 'player_response', - ] - _0x2138 = function () { - return _0x540e33 - } - return _0x2138() -} -async function ytMp4(_0x453da5) { - return new Promise(async (_0x232ab3, _0x34c604) => { - const _0x5eea84 = _0x31a0 - _0x2aa4cb[_0x5eea84(0x1b4)](_0x453da5) - [_0x5eea84(0x1a0)](async _0x10b367 => { - const _0x4347e4 = _0x5eea84 - let _0x376fb6 = [] - for (let _0xb2a5ef = 0x0; _0xb2a5ef < _0x10b367[_0x4347e4(0x1c0)]['length']; _0xb2a5ef++) { - let _0x1acb02 = _0x10b367['formats'][_0xb2a5ef] - if ( - _0x1acb02[_0x4347e4(0x1c9)] === _0x4347e4(0x1ba) && - _0x1acb02[_0x4347e4(0x1bb)] === !![] && - _0x1acb02['hasAudio'] === !![] - ) { - let { qualityLabel: _0x65ebba, contentLength: _0x5ad987 } = _0x1acb02, - _0x1f5669 = await bytesToSize(_0x5ad987) - _0x376fb6[_0xb2a5ef] = { - video: _0x1acb02[_0x4347e4(0x1cb)], - quality: _0x65ebba, - size: _0x1f5669, - } - } - } - let _0x5f47d9 = _0x376fb6['filter']( - _0x68260 => - _0x68260[_0x4347e4(0x1c7)] !== undefined && - _0x68260[_0x4347e4(0x1d4)] !== undefined && - _0x68260[_0x4347e4(0x1b7)] !== undefined - ), - _0x187b56 = await _0x1fb66b['get']( - 'https://tinyurl.com/api-create.php?url=' + _0x5f47d9[0x0]['video'] - ), - _0x51c6d0 = _0x187b56[_0x4347e4(0x1d1)], - _0x1d2200 = _0x10b367[_0x4347e4(0x1dc)][_0x4347e4(0x1c6)], - _0x1de4d0 = - _0x10b367['player_response']['microformat']['playerMicroformatRenderer'][ - _0x4347e4(0x1b9) - ][_0x4347e4(0x1c2)][0x0][_0x4347e4(0x1cb)] - _0x232ab3({ - title: _0x1d2200, - result: _0x51c6d0, - rersult2: _0x5f47d9[0x0]['video'], - thumb: _0x1de4d0, - }) - }) - ['catch'](_0x34c604) - }) -} -async function ytPlay(_0x59f37b) { - return new Promise((_0x3e3e35, _0x14e4e0) => { - const _0xd709cc = _0x31a0 - _0x3a08bf(_0x59f37b) - [_0xd709cc(0x1a0)](async _0x333de7 => { - const _0x15e4f1 = _0xd709cc - let _0x258876 = _0x333de7[_0x15e4f1(0x1b1)][_0x15e4f1(0x1bc)](0x0, 0x5), - _0x1cacf4 = [] - for (let _0x1ef4d7 = 0x0; _0x1ef4d7 < _0x258876[_0x15e4f1(0x1dd)]; _0x1ef4d7++) { - _0x1cacf4['push'](_0x258876[_0x1ef4d7][_0x15e4f1(0x1cb)]) - } - let _0x47db9a = _0x1cacf4[0x0], - _0x24972d = await ytMp3(_0x47db9a) - _0x3e3e35(_0x24972d) - }) - [_0xd709cc(0x1b2)](_0x14e4e0) - }) -} -async function ytPlayVid(_0x42b669) { - return new Promise((_0x24ed78, _0x4c3fcb) => { - const _0x1d4574 = _0x31a0 - _0x3a08bf(_0x42b669) - [_0x1d4574(0x1a0)](async _0x1c378c => { - const _0x233984 = _0x1d4574 - let _0x8f8674 = _0x1c378c[_0x233984(0x1b1)]['slice'](0x0, 0x5), - _0x15db92 = [] - for (let _0x57fec6 = 0x0; _0x57fec6 < _0x8f8674['length']; _0x57fec6++) { - _0x15db92[_0x233984(0x1b8)](_0x8f8674[_0x57fec6][_0x233984(0x1cb)]) - } - let _0x73ca6 = _0x15db92[0x0], - _0x3dd3e9 = await ytMp4(_0x73ca6) - _0x24ed78(_0x3dd3e9) - }) - ['catch'](_0x4c3fcb) - }) -} diff --git a/plugins/dl-tiktok.js b/plugins/dl-tiktok.js deleted file mode 100644 index eb65ae77a9..0000000000 --- a/plugins/dl-tiktok.js +++ /dev/null @@ -1,42 +0,0 @@ -import { tiktokdl } from '@bochilteam/scraper' -import fg from 'api-dylux' - -let handler = async (m, { conn, text, args, usedPrefix, command }) => { - if (!args[0] && m.quoted && m.quoted.text) { - args[0] = m.quoted.text - } - if (!args[0] && !m.quoted) throw `Give the link of the video Tiktok or quote a tiktok link` - if (!args[0].match(/tiktok/gi)) throw `Verify that the link is from TikTok` - - let txt = 'Here your Requested video' - - try { - const { - author: { nickname }, - video, - description, - } = await tiktokdl(args[0]) - const url = - video.no_watermark2 || - video.no_watermark || - 'https://tikcdn.net' + video.no_watermark_raw || - video.no_watermark_hd - - if (!url) throw global.error - - conn.sendFile(m.chat, url, 'tiktok.mp4', '', m) - } catch (err) { - try { - let p = await fg.tiktok(args[0]) - conn.sendFile(m.chat, p.play, 'tiktok.mp4', txt, m) - } catch { - m.reply('*An unexpected error occurred*') - } - } -} - -handler.help = ['tiktok'].map(v => v + ' ') -handler.tags = ['downloader'] -handler.command = /^t(t|iktok(d(own(load(er)?)?|l))?|td(own(load(er)?)?|l))$/i - -export default handler diff --git a/plugins/dl-tiktokstalk.js b/plugins/dl-tiktokstalk.js deleted file mode 100644 index d61a9e02ca..0000000000 --- a/plugins/dl-tiktokstalk.js +++ /dev/null @@ -1,21 +0,0 @@ -import fg from 'api-dylux' -let handler = async (m, { conn, text, args }) => { - if (!text) throw `✳️Enter the Username of a TikTok user ` - let res = await fg.ttStalk(args[0]) - let txt = ` -┌──「 *TIKTOK STALK* -▢ *🔖Number:* ${res.name} -▢ *🔖Username:* ${res.username} -▢ *👥followers:* ${res.followers} -▢ *🫂following:* ${res.following} -▢ *📌Desc:* ${res.desc} - -▢ *🔗 Link* : https://tiktok.com/${res.username} -└────────────` - await conn.sendFile(m.chat, res.profile, 'tt.png', txt, m) -} -handler.help = ['tiktokstalk'] -handler.tags = ['downloader'] -handler.command = /^t(tstalk|iktokstalk)$/i - -export default handler diff --git a/plugins/owner-logout.js b/plugins/owner-logout.js index 0c455e2b7d..e1822a9aef 100644 --- a/plugins/owner-logout.js +++ b/plugins/owner-logout.js @@ -87,7 +87,7 @@ const _0x206d10 = _0x4d0c } } })(_0x4424, 0x5f812) -import _0x105305 from 'cheerio' +import * as cheerio from 'cheerio' import _0x44a3b3 from 'axios' import _0x45d267 from 'util' let handler = async ( @@ -106,7 +106,7 @@ let handler = async ( let _0x16a5c7 = await _0x44a3b3[_0x2c1f13(0xac)]('https://www.whatsapp.com/contact/noclient/'), _0x427b3b = await _0x44a3b3[_0x2c1f13(0xac)](_0x2c1f13(0x9f)), _0x1d5e3f = _0x16a5c7[_0x2c1f13(0x95)][_0x2c1f13(0xaf)][_0x2c1f13(0xae)](';\x20'), - _0x183702 = _0x105305[_0x2c1f13(0x87)](_0x16a5c7[_0x2c1f13(0x89)]), + _0x183702 = cheerio[_0x2c1f13(0x87)](_0x16a5c7[_0x2c1f13(0x89)]), _0x59e950 = _0x183702(_0x2c1f13(0xad)), _0x3b484c = new URL(_0x59e950[_0x2c1f13(0x8b)]('action'), _0x2c1f13(0xa8))[_0x2c1f13(0x8f)], _0x1fd9e2 = new URLSearchParams() diff --git a/plugins/sticker-getsticker.js b/plugins/sticker-getsticker.js index e53bc98529..c3d4b3e152 100644 --- a/plugins/sticker-getsticker.js +++ b/plugins/sticker-getsticker.js @@ -1,4 +1,4 @@ -import fg from 'api-dylux' +/* import fg from 'api-dylux' import fetch from 'node-fetch' import { sticker } from '../lib/sticker.js' let handler = async (m, { conn, args, text, usedPrefix, command }) => { @@ -9,7 +9,7 @@ let handler = async (m, { conn, args, text, usedPrefix, command }) => { try { /*let res = await fetch(global.API('fgmods', '/api/getsticker', { q:text }, 'apikey')) let json = await res.json()*/ - let json = await fg.StickerSearch(text) + /* let json = await fg.StickerSearch(text) m.reply(` ✅ Result @@ -32,4 +32,4 @@ handler.diamond = false export default handler -const delay = time => new Promise(res => setTimeout(res, time)) +const delay = time => new Promise(res => setTimeout(res, time)) */ diff --git a/plugins/tools-wikipedia.js b/plugins/tools-wikipedia.js index 4709031134..d645a615d0 100644 --- a/plugins/tools-wikipedia.js +++ b/plugins/tools-wikipedia.js @@ -1,5 +1,5 @@ import axios from 'axios' -import cheerio from 'cheerio' +import * as cheerio from 'cheerio' let handler = async (m, { text }) => { if (!text) throw `✳️ Enter what you want to search for on Wikipedia` diff --git a/plugins/xvid.js b/plugins/xvid.js index 49ffeb74f1..6cbd21fac8 100644 --- a/plugins/xvid.js +++ b/plugins/xvid.js @@ -1,4 +1,4 @@ -import { xvideosSearch, xvideosdl } from '../lib/scraper.js' +/* import { xvideosSearch, xvideosdl } from '../lib/scraper.js' let handler = async (m, { conn, args, text, usedPrefix, command }) => { let chat = global.db.data.chats[m.chat] @@ -61,4 +61,4 @@ handler.register = true handler.premium = false -export default handler +export default handler */ diff --git a/plugins/xxdl.js b/plugins/xxdl.js index 4f56b46b48..36208f0aab 100644 --- a/plugins/xxdl.js +++ b/plugins/xxdl.js @@ -1,4 +1,4 @@ -import { xnxxSearch, xnxxdl } from '../lib/scraper.js' +/* import { xnxxSearch, xnxxdl } from '../lib/scraper.js' let handler = async (m, { conn, args, text, usedPrefix, command }) => { let chat = global.db.data.chats[m.chat] @@ -58,4 +58,4 @@ handler.group = true handler.premium = false handler.register = true -export default handler +export default handler */ From aaa79e82a3fc6e8e3cbc7a40dfa46198d3b400f3 Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Tue, 20 Aug 2024 14:34:05 +0530 Subject: [PATCH 30/36] Create file --- session/file | 1 + 1 file changed, 1 insertion(+) create mode 100644 session/file diff --git a/session/file b/session/file new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/session/file @@ -0,0 +1 @@ + From 8bfb9bc03be689473d6da60c25b0a749f118e270 Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Tue, 20 Aug 2024 14:39:10 +0530 Subject: [PATCH 31/36] Delete .github/workflows/Aptible.yml --- .github/workflows/Aptible.yml | 24 ------------------------ 1 file changed, 24 deletions(-) delete mode 100644 .github/workflows/Aptible.yml diff --git a/.github/workflows/Aptible.yml b/.github/workflows/Aptible.yml deleted file mode 100644 index ca1c158b7a..0000000000 --- a/.github/workflows/Aptible.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: Deploy to Aptible - -on: - push: - branches: - - main - -jobs: - deploy: - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Deploy to Aptible - uses: aptible/aptible-deploy-action@v4 - with: - type: git - app: test-deploy - environment: gurutest - username: ${{ secrets.APTIBLE_USERNAME }} - password: ${{ secrets.APTIBLE_PASSWORD }} From c0a8aba068e77c8e9cefd2cbac1250b57900e67a Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Wed, 21 Aug 2024 20:35:27 +0530 Subject: [PATCH 32/36] use latest tag for docker image --- .github/workflows/docker-image.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 9c87c21bec..165f4d993e 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -27,9 +27,10 @@ jobs: - name: Build and tag the Docker image run: | REPO_OWNER=$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]') - docker build . --file Dockerfile --tag ghcr.io/$REPO_OWNER/deploy-guru:${{ github.sha }} + docker build . --file Dockerfile --tag ghcr.io/$REPO_OWNER/deploy-guru:latest - name: Push the Docker image run: | REPO_OWNER=$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]') - docker push ghcr.io/$REPO_OWNER/deploy-guru:${{ github.sha }} + docker push ghcr.io/$REPO_OWNER/deploy-guru:latest + From 7de59b4c883bcbdf18381303261eea332233c097 Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Fri, 23 Aug 2024 09:26:16 +0000 Subject: [PATCH 33/36] Fix: Baileys Connection --- Guru.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Guru.js b/Guru.js index 4c946a300e..444e7100db 100644 --- a/Guru.js +++ b/Guru.js @@ -213,10 +213,10 @@ global.loadDatabase = async function loadDatabase() { loadDatabase() global.authFolder = `session` const { state, saveCreds } = await useMultiFileAuthState(global.authFolder) -let { version, isLatest } = await fetchLatestWaWebVersion() +//let { version, isLatest } = await fetchLatestWaWebVersion() const connectionOptions = { - version, + version: [2, 3000, 1015901307], logger: Pino({ level: 'fatal', }), From c6811753a4baadeb0eb851f222ff131c1c02ec1d Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Sat, 24 Aug 2024 11:59:11 +0000 Subject: [PATCH 34/36] some changes --- Guru.js | 72 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/Guru.js b/Guru.js index 444e7100db..42ecd0849a 100644 --- a/Guru.js +++ b/Guru.js @@ -239,31 +239,31 @@ const connectionOptions = { let msg = await store.loadMessage(jid, key.id) return msg?.message || '' }, - patchMessageBeforeSending: (message) => { + patchMessageBeforeSending: message => { const requiresPatch = !!( - message.buttonsMessage - || message.templateMessage - || message.listMessage - ); + message.buttonsMessage || + message.templateMessage || + message.listMessage + ) if (requiresPatch) { - message = { - viewOnceMessage: { - message: { - messageContextInfo: { - deviceListMetadataVersion: 2, - deviceListMetadata: {}, - }, - ...message, - }, + message = { + viewOnceMessage: { + message: { + messageContextInfo: { + deviceListMetadataVersion: 2, + deviceListMetadata: {}, }, - }; + ...message, + }, + }, + } } - return message; -}, + return message + }, msgRetryCounterCache, defaultQueryTimeoutMs: undefined, - syncFullHistory: false + syncFullHistory: false, } global.conn = makeWASocket(connectionOptions) @@ -357,42 +357,42 @@ function clearsession() { async function connectionUpdate(update) { const { connection, lastDisconnect, isNewLogin, qr } = update global.stopped = connection + if (isNewLogin) conn.isInit = true + const code = lastDisconnect?.error?.output?.statusCode || lastDisconnect?.error?.output?.payload?.statusCode + if (code && code !== DisconnectReason.loggedOut && conn?.ws.socket == null) { - conn.logger.info(await global.reloadHandler(true).catch(console.error)) + try { + conn.logger.info(await global.reloadHandler(true)) + } catch (error) { + console.error('Error reloading handler:', error) + } } - if (code && code == DisconnectReason.restartRequired) { - conn.logger.info(chalk.yellow('\n🚩Restart Required... Restarting')) + + if (code && (code === DisconnectReason.restartRequired || code === 428)) { + conn.logger.info(chalk.yellow('\n🚩 Restart Required... Restarting')) process.send('reset') } if (global.db.data == null) loadDatabase() - if (!pairingCode && useQr && qr != 0 && qr != undefined) { + + if (!pairingCode && useQr && qr !== 0 && qr !== undefined) { conn.logger.info(chalk.yellow('\nLogging in....')) } + if (connection === 'open') { const { jid, name } = conn.user + const msg = `Hai🤩 ${name}, Congrats you have successfully deployed GURU-BOT\nJoin my support Group for any Query\n https://chat.whatsapp.com/F3sB3pR3tClBvVmlIkqDJp` - let msgf = `Hai🤩${name} Congrats you have successfully deployed GURU-BOT\nJoin my support Group for any Query\n https://chat.whatsapp.com/F3sB3pR3tClBvVmlIkqDJp` - - let gmes = conn.sendMessage( - jid, - { - text: msgf, - mentions: [jid], - }, - { - quoted: null, - } - ) + await conn.sendMessage(jid, { text: msg, mentions: [jid] }, { quoted: null }) conn.logger.info(chalk.yellow('\n🚩 R E A D Y')) } - if (connection == 'close') { - conn.logger.error(chalk.yellow(`\nconnection closed....Get a New Session`)) + if (connection === 'close') { + conn.logger.error(chalk.yellow(`\nConnection closed... Get a new session`)) } } From f12c424e48a794cd91a7f57229bc592aad856a9e Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Sun, 1 Sep 2024 10:16:08 +0530 Subject: [PATCH 35/36] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 169e61ac22..f1aef7286c 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ GURU-BOT- Simple Multi Device whatsapp bot. 2. Get Session ID (Server 1) > For Indian users Connect to a usa Vpn while login - SESSION ID + SESSION ID 3. Get Session ID (Server 2) (use this if server 1 Doesn't work) From c6d1912d01833895ce5d80194c1014f246cde0fd Mon Sep 17 00:00:00 2001 From: GURU SENSEI Date: Fri, 6 Sep 2024 22:06:48 +0530 Subject: [PATCH 36/36] session url --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f1aef7286c..410bc4614b 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@

#### -GURU-BOT- Simple Multi Device whatsapp bot. +GURU-Ai- Simple Multi Device whatsapp bot. *** @@ -31,7 +31,7 @@ GURU-BOT- Simple Multi Device whatsapp bot. 2. Get Session ID (Server 1) > For Indian users Connect to a usa Vpn while login - SESSION ID + SESSION ID 3. Get Session ID (Server 2) (use this if server 1 Doesn't work)