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
-
+
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
-
+
3. Get Session ID (Server 2) (use this if server 1 Doesn't work)