Jump to content
Bicrypto v4.4.2 + All Plugins ×

Whatsapp Gateway | Multi Device v8.5.1


Magd Almuntaser

Recommended Posts

Posted (edited)
3 hours ago, Magd Almuntaser said:

Jika Anda memiliki VPS, Anda dapat menginstal PM2 dan memulai node dengan pm2 ..

Saya akan mencoba memperbaikinya.. 

Dan saya melihat banyak masalah dengan pemiliknya, dia lupa banyak hal jadi saya akan memperbaikinya ..

Ketika nodejs berhenti lalu jalan lagi bagaimana caranya agar device bisa auto konek kembali?

Edited by pak kacung
Link to comment
Share on other sites

  • DW Members
5 hours ago, pak kacung said:

Ketika nodejs berhenti lalu jalan lagi bagaimana caranya agar device bisa auto konek kembali?

Perangkat selalu tetap terhubung, namun Node.js yang mungkin berhenti bekerja. Anda bisa menggunakan PM2 untuk menjaga agar Node.js tetap berjalan tanpa henti. Jika Anda mengalami masalah dengan ponsel yang terputus dari Node.js, Anda bisa mencoba PM2. Saya belum pernah mengalami masalah ini sebelumnya, tapi coba gunakan PM2

Link to comment
Share on other sites

42 minutes ago, Magd Almuntaser said:

Perangkat selalu tetap terhubung, namun Node.js yang mungkin berhenti bekerja. Anda bisa menggunakan PM2 untuk menjaga agar Node.js tetap berjalan tanpa henti. Jika Anda mengalami masalah dengan ponsel yang terputus dari Node.js, Anda bisa mencoba PM2. Saya belum pernah mengalami masalah ini sebelumnya, tapi coba gunakan PM2

Siap terima kasih kawan

 

Bisakah ditambah skrip auto read ketika ada yang story di whatsapp seolah kita selalu melihatnya, padahal kita belum melihat story orang lain

Link to comment
Share on other sites

On 7/2/2024 at 2:40 PM, MarCoVar01 said:

@The Billionaire What I do is in the campaign option that says delivery time between each message, I put it as a minimum of 10 to 15 seconds to try to prevent WhatsApp from taking it as spam, remember that there is also the possibility that if users They report that it happens faster

@MarCoVar01 image.png.d417e1db40f9faefe778fda94b1f061a.png
This is how I set it, or how many minutes should I set on the cron job to do it

Link to comment
Share on other sites

  • DW Members
8 hours ago, Putra Pertama said:

@Magd Almuntaser

help please, on campaign and autoreply not work


ReferenceError: Cannot access 'inProgress' before initialization
    at sendBlastMessage (/home/waswupn/subdomain/waswupn.com/server/controllers/blast.js:40:3)
    at Layer.handle [as handle_request] (/home/waswupn/nodevenv/subdomain/waswupn.com/16/lib/node_modules/express/lib/router/layer.js:95:5)
    at next (/home/waswupn/nodevenv/subdomain/waswupn.com/16/lib/node_modules/express/lib/router/route.js:149:13)
    at checkConnectionBeforeBlast (/home/waswupn/subdomain/waswupn.com/server/lib/middleware.js:34:5)

 

8 hours ago, Putra Pertama said:

autoreply not work. I tried text message, but not work

This issue is from the script developer. First, you can send a normal message via Test Message, and then you can try the auto reply
you will see it works normally.

The reason for this issue is that the developer forgot to establish the server connection before running the auto reply command. Therefore, you need to send a normal message first to activate the server, and then the auto reply will work.
And the same issue occurs with the CAMPAIGN, you need to send a normal message first

Link to comment
Share on other sites

  • DW Members
26 minutes ago, The Billionaire said:

@MarCoVar01 image.png.d417e1db40f9faefe778fda94b1f061a.png
This is how I set it, or how many minutes should I set on the cron job to do it


You can see my previous comment here

 

I saw that you set 30 seconds for each message, but I'm telling you that even if you set an hour for each message, the company will block your phone number. When the company sees that you are sending many messages at the same time, they will block you. Also, if they see that you are sending many messages to many people, even if it's after every hour, they will still block you. That's why the company insists that the recipient must have added your number.

However, you can simplify this process by using the broadcast feature because WhatsApp only receives one number and sends it to all the people in the broadcast. Therefore, it considers that you have sent only one message.

You can see the broadcast ID from log on SSH if you change server/lib/pino.js from (level info) to (level debug) and restart node.
but you need to change some files to accept to send broadcast via this script because the developer forgot to add this feature

Link to comment
Share on other sites

  • DW Members
26 minutes ago, The Billionaire said:

@MarCoVar01 image.png.d417e1db40f9faefe778fda94b1f061a.png
This is how I set it, or how many minutes should I set on the cron job to do it


You can see my previous comment here

doniaweb .com/topic/9514-whatsapp-gateway-multi-device-v700-nulled/page/20/#comment-57017

I saw that you set 30 seconds for each message, but I'm telling you that even if you set an hour for each message, the company will block your phone number. When the company sees that you are sending many messages at the same time, they will block you. Also, if they see that you are sending many messages to many people, even if it's after every hour, they will still block you. That's why the company insists that the recipient must have added your number.

However, you can simplify this process by using the broadcast feature because WhatsApp only receives one number and sends it to all the people in the broadcast. Therefore, it considers that you have sent only one message.

You can see the broadcast ID from log on SSH if you change server/lib/pino.js from (level info) to (level debug) and restart node.
but you need to change some files to accept to send broadcast via this script because the developer forgot to add this feature

Link to comment
Share on other sites

  • DW Members
6 minutes ago, badas said:

Bro @Magd Almuntaser
In the campaign delay per second does not work.
Can you tell me where to change it to 30 seconds delay every time you send a message.

becouse you need to set cronjob to start campaign ..
see my link on my last comment 👆

Link to comment
Share on other sites

Posted (edited)
40 minutes ago, Magd Almuntaser said:

becouse you need to set cronjob to start campaign ..
see my link on my last comment 👆

Yes, I have followed your instructions, create a schedule:run and schedule:blast in the cronjob, but the messages are still sent all at once without delay.

Edited by badas
Link to comment
Share on other sites

1 hour ago, badas said:

Yes, I have followed your instructions, create a schedule:run and schedule:blast in the cronjob, but the messages are still sent all at once without delay.

@badas @Magd Almuntaser image.png.8bd07737ddb3bd7bbcc2123902b56d48.png

From what I am seeing if you create the blast on the cron job it will chunk the message to send to 20 numbers per minute, WhatsApp will still ban the number for spamming

Link to comment
Share on other sites

3 hours ago, Magd Almuntaser said:


You can see my previous comment here

doniaweb .com/topic/9514-whatsapp-gateway-multi-device-v700-nulled/page/20/#comment-57017

I saw that you set 30 seconds for each message, but I'm telling you that even if you set an hour for each message, the company will block your phone number. When the company sees that you are sending many messages at the same time, they will block you. Also, if they see that you are sending many messages to many people, even if it's after every hour, they will still block you. That's why the company insists that the recipient must have added your number.

However, you can simplify this process by using the broadcast feature because WhatsApp only receives one number and sends it to all the people in the broadcast. Therefore, it considers that you have sent only one message.

You can see the broadcast ID from log on SSH if you change server/lib/pino.js from (level info) to (level debug) and restart node.
but you need to change some files to accept to send broadcast via this script because the developer forgot to add this feature

@Magd Almuntaser do you have a way or have a script for the broadcast????? features

Link to comment
Share on other sites

  • DW Members
11 minutes ago, The Billionaire said:

@Magd Almuntaser do you have a way or have a script for the broadcast????? features

no i don't have but i will try ..
and you can see this link:

github .com/WhiskeySockets/Baileys/issues/619


and you can build small code to send to broadcast becouse this script use same lib (whiskeysockets/baileys)

Link to comment
Share on other sites

@Magd Almuntaser

On 7/4/2024 at 1:20 PM, Magd Almuntaser said:

If you have vps you can install PM2 and start node with pm2 ..

I will try to fix it .. 

And i see many problems with the owner he forget many things so i will fix it ..

thanks sir, i will wait

 

 

17 hours ago, Magd Almuntaser said:

 

This issue is from the script developer. First, you can send a normal message via Test Message, and then you can try the auto reply
you will see it works normally.

The reason for this issue is that the developer forgot to establish the server connection before running the auto reply command. Therefore, you need to send a normal message first to activate the server, and then the auto reply will work.
And the same issue occurs with the CAMPAIGN, you need to send a normal message first

yes, if send a normal message first, autoreply work. but its tiring

Link to comment
Share on other sites

  • DW Members
4 hours ago, Putra Pertama said:

@Magd Almuntaser

thanks sir, i will wait

 

 

yes, if send a normal message first, autoreply work. but its tiring

The problem is that if I fix the issues in this version, the developer will release a new version, like version 8, and all my fixes won't be included. So, with every new version the developer releases, I will have to redo all the fixes. I have tried to contact with the developer to include my previous fixes in his version, but he hasn't done anything
There are many issues that I have fixed, but I know he won't care about them no matter how much I contact him.

  • Like 1
Link to comment
Share on other sites

53 minutes ago, Magd Almuntaser said:

The problem is that if I fix the issues in this version, the developer will release a new version, like version 8, and all my fixes won't be included. So, with every new version the developer releases, I will have to redo all the fixes. I have tried to contact with the developer to include my previous fixes in his version, but he hasn't done anything
There are many issues that I have fixed, but I know he won't care about them no matter how much I contact him.

@Magd Almuntaser you know what since you have done fixes in yours push and give us the git repo to pull, whenever we see hes is more stable than yours we doubt he will ever make those changes, and i know u re using the one u have fix with changes, even this new version he called V7 i have gone through it no changes that look new inside.

so please can i get ur repo, or upload it somewhere let download it

Link to comment
Share on other sites

  • DW Members
Posted (edited)

AutoReply
(fix for 7.0.0 & 6.5.x & 5.5.0)

Reason: Because there is no connection to the WhatsApp server after connecting to the socket.
Solution: Connect to the WhatsApp server for all the numbers in the database after connecting to the socket.


Replace the server.js file located in the root directory of the script with the following code:
 

"use strict";

// Copyright By Ilman Sunanuddin, M pedia
// Email : Ilmansunannudin2@gmail.com
// website : https://m-pedia.co.id
// Whatsap : 6282298859671
// ------------------------------------------------------------------
// You are not allowed to share or sell this source code without permission.

const wa = require("./server/whatsapp");
const fs = require("fs");
const dbs = require('./server/database/index');
require("dotenv").config();
const lib = require("./server/lib");
global.log = lib.log;

/**
 * EXPRESS FOR ROUTING
 */
const express = require("express");
const app = express();
const http = require("http");
const server = http.createServer(app);

/**
 * SOCKET.IO
 */
const { Server } = require("socket.io");
const io = new Server(server);
const port = process.env.PORT_NODE;
app.use((req, res, next) => {
  res.set("Cache-Control", "no-store");
  req.io = io;
  // res.set('Cache-Control', 'no-store')
  next();
});

const bodyParser = require("body-parser");

// parse application/x-www-form-urlencoded
app.use(
  bodyParser.urlencoded({
    extended: false,
    limit: "50mb",
    parameterLimit: 100000,
  })
);
// parse application/json
app.use(bodyParser.json());
app.use(express.static("src/public"));
app.use(require("./server/router"));

// console.log(process.argv)

io.on("connection", (socket) => {
  socket.on("StartConnection", (data) => {
    wa.connectToWhatsApp(data, io);
  });
  socket.on("ConnectViaCode", (data) => {
    wa.connectToWhatsApp(data, io, true);
  });
  socket.on("LogoutDevice", (device) => {
    wa.deleteCredentials(device, io);
  });
});
server.listen(port, console.log(`Server run and listening port: ${port}`));

dbs.db.query("SELECT * FROM devices WHERE status = 'Connected'", (err, results) => {
    if (err) {
      console.error('Error executing query:', err);
    }
    results.forEach(row => {
      const number = row.body;
      if (/^\d+$/.test(number)) {
        wa.connectToWhatsApp(number);
      }
    });
});

 

Edited by Magd Almuntaser
  • Thanks 1
Link to comment
Share on other sites

  • DW Members
Posted (edited)

Lost Connection And Node Shutdown
(fix for 7.0.0)

Reason: The libraries WhiskeySockets/Baileys and sharp are not compatible with version 7.0.0, which caused some issues and loss of connection to the WhatsApp server.
Solution: Update the WhiskeySockets/Baileys library to the latest version and update the sharp library to a version compatible with it.


Open the package.json file located in the root directory of the script and edit from:
 

"dependencies": {
    "@whiskeysockets/baileys": "github:laxeder/Baileys#fix-list-type",
    "axios": "^1.4.0",
    "dotenv": "^16.3.1",
    "express": "^4.18.2",
    "jimp": "^0.16.13",
    "lodash": "^4.17.21",
    "mime-types": "^2.1.35",
    "mysql2": "^3.9.2",
    "node-cache": "^5.1.2",
    "pino-pretty": "^10.2.0",
    "qrcode": "^1.5.3",
    "readline": "^1.3.0",
    "sharp": "^0.30.7",
    "socket.io": "^4.7.2"
  },

To:

"dependencies": {
    "@whiskeysockets/baileys": "^6.7.5",
    "axios": "^1.4.0",
    "dotenv": "^16.3.1",
    "express": "^4.18.2",
    "jimp": "^0.16.13",
    "lodash": "^4.17.21",
    "mime-types": "^2.1.35",
    "mysql2": "^3.9.2",
    "node-cache": "^5.1.2",
    "pino-pretty": "^10.2.0",
    "qrcode": "^1.5.3",
    "readline": "^1.3.0",
    "sharp": "^0.32.2",
    "socket.io": "^4.7.2"
  },


And run this SSH command in the root directory of the script:
 

npm update


=======================================================

Or if you don't have access to SSH or don't have a VPS, you can download the files from the attachments and replace them in your script without running any of the commands above.

fix_connecion_lost_7.0.0.zip

Edited by Magd Almuntaser
  • Thanks 1
Link to comment
Share on other sites

  • DW Members
Posted (edited)

Failed To Fetch Groups From Device
(fix for 7.0.0)

Reason: Failure to ensure connection to the WhatsApp server before fetching groups.
Solution: Connect to the WhatsApp server before performing the fetch operation.


Open the server/whatsapp.js and edit this function from:
 

async function fetchGroups(token) {
  try {
    let GetAll = await sock[token].groupFetchAllParticipating(),
      ResGet = Object.entries(GetAll)
        .slice(0)
        .map((MapGroup) => MapGroup[1])
    return ResGet
  } catch (error) {
    return false
  }
}

To:

async function fetchGroups(token) {
  try {
    if (typeof sock[token] === 'undefined') {
      const ConnBe = await connectWaBeforeSend(token)
      if (!ConnBe) {
        return false
      }
    }
    let GetAll = await sock[token].groupFetchAllParticipating(),
      ResGet = Object.entries(GetAll)
        .slice(0)
        .map((MapGroup) => MapGroup[1])
    return ResGet
  } catch (error) {
    return false
  }
}

 

===============================================

If your server/whatsapp.js file is encrypted, you can download my file from attachments.

whatsapp.js

Edited by Magd Almuntaser
Link to comment
Share on other sites

38 minutes ago, Magd Almuntaser said:

Failed To Fetch Groups From Device
(fix for 7.0.0)

Reason: Failure to ensure connection to the WhatsApp server before fetching groups.
Solution: Connect to the WhatsApp server before performing the fetch operation.


Open the server/whatsapp.js and edit this function from:
 

async function fetchGroups(token) {
  try {
    let GetAll = await sock[token].groupFetchAllParticipating(),
      ResGet = Object.entries(GetAll)
        .slice(0)
        .map((MapGroup) => MapGroup[1])
    return ResGet
  } catch (error) {
    return false
  }
}

To:

async function fetchGroups(token) {
  try {
    if (typeof sock[token] === 'undefined') {
      const ConnBe = await connectWaBeforeSend(token)
      if (!ConnBe) {
        return false
      }
    }
    let GetAll = await sock[token].groupFetchAllParticipating(),
      ResGet = Object.entries(GetAll)
        .slice(0)
        .map((MapGroup) => MapGroup[1])
    return ResGet
  } catch (error) {
    return false
  }
}

 

===============================================

If your server/whatsapp.js file is encrypted, you can download my file from attachments.

whatsapp.js 15.73 kB · 0 downloads

Setelah mengikuti langkah" ini kenapa campaign tidak bisa terkirim, cara seting cronjobnya bagaimana?

Link to comment
Share on other sites

  • DW Members
Posted (edited)

Campaign has not started
(fix for 7.0.0)

Reason: There is a conflict between the variable name and the function name, causing the campaign not to work.
Solution: Change the function name to a different name.

 

You can download the attached file and replace it with the file located at this path:

server/controllers/blast.js


And add this command in a CronJob every (1) minute:

/opt/alt/php81/usr/bin/php /path_to_your_script_root/artisan start:blast >/dev/null 2>&1

And

/opt/alt/php81/usr/bin/php /path_to_your_script_root/artisan schedule:run >/dev/null 2>&1

Don't forget to change /path_to_your_script_root/ to your script root and change /opt/alt/php81/usr/bin/php version to your php version or you can change it to only php /path_to_your_script_root/artisan start:blast >/dev/null 2>&1

@pak kacung

blast.js

Edited by Magd Almuntaser
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...