Jump to content

Whatsapp Gateway | Multi Device v9.6.1

Featured Replies

  • Replies 5.4k
  • Views 465.4k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Magd Almuntaser
    Magd Almuntaser

    English Bexa AI will be released in the coming days, very soon. Everyone will be amazed by its speed, intelligence, and the way it interacts with users. It will not compete with ChatGPT, Gemini, or De

  • Magd Almuntaser
    Magd Almuntaser

    What's new so far in version 9.0.0: - Added landing page (welcome page). - Added plans system. - Added Manage Languages system. - Added (landing page) edit page. - Added ticket system. - Added cronjob

  • Magd Almuntaser
    Magd Almuntaser

    What's new so far in version 9.0.0: - Added Landing page (Homepage). - Added Plans System. - Added Manage Payment gateways. - Added Manage Languages system. - Added (Homepage) edit page. - Added Ticke

Most Helpful Posts

  • Magd Almuntaser
    Magd Almuntaser

    Yes you can use it as a messaging service/ SaaS without asking my permission, the new version 9.0.0 directly contains people who want to use it as a messaging service/ SaaS.. What's new so far in ver

  • Magd Almuntaser
    Magd Almuntaser

    What's new so far in version 9.0.0: - Added landing page (welcome page). - Added plans system. - Added Manage Languages system. - Added (landing page) edit page. - Added ticket system. - Added cronjob

  • Magd Almuntaser
    Magd Almuntaser

    It has already been fixed in version 9.0.0.. The problem is only in the mpwa theme but in eres and erescompact you will find them correctly It will be fixed in version 9.0.0.

Posted Images

On 8/19/2023 at 1:28 AM, Magd Almuntaser said:

Finally i've fixed the problem when you enable autoreply ..
replace this code with your file (server/controllers/incomingMessage.js) :

const { dbQuery } = require('../database/index'),
  { parseIncomingMessage, formatReceipt } = require('../lib/helper')
require('dotenv').config()
const axios = require('axios'),
  {
    isExistsEqualCommand,
    isExistsContainCommand,
    getUrlWebhook,
  } = require('../database/model'),
  IncomingMessage = async (whatsa, usera) => {
    try {
      let quoted = false
      if (!whatsa.messages) {
        return
      }
      whatsa = whatsa.messages[0]
      const namea = whatsa?.pushName || ''
      if (whatsa.key.fromMe === true) {
        return
      }
      if (whatsa.key.remoteJid === 'status@broadcast') {
        return
      }
      const partinumber =
          whatsa.key.participant && formatReceipt(whatsa.key.participant),
        {
          command: commanda,
          bufferImage: bufimagea,
          from: froma,
        } = await parseIncomingMessage(whatsa)
      let texta, replya
      const spilia = usera.user.id.split(':')[0],
        isrepl = await isExistsEqualCommand(commanda, spilia)
      isrepl.length > 0
        ? (replya = isrepl)
        : (replya = await isExistsContainCommand(commanda, spilia))
      if (replya.length === 0) {
        console.log(whatsa)
        const urla = await getUrlWebhook(spilia)
        if (urla == null) {
          return
        }
        const objecta = await sendWebhook({
          command: commanda,
          bufferImage: bufimagea,
          from: froma,
          url: urla,
          participant: partinumber,
        })
        if (objecta === false) {
          return
        }
        if (objecta === undefined) {
          return
        }
        if (typeof objecta != 'object') {
          return
        }
        quoted = objecta?.quoted ? true : false
        texta = JSON.stringify(objecta)
      } else {
        replyorno =
          replya[0].reply_when == 'All'
            ? true
            : replya[0].reply_when == 'Group' &&
              whatsa.key.remoteJid.includes('@g.us')
            ? true
            : replya[0].reply_when == 'Personal' &&
              !whatsa.key.remoteJid.includes('@g.us')
            ? true
            : false
        if (replyorno === false) {
          return
        }
        quoted = replya[0].is_quoted ? true : false
        texta =
          process.env.TYPE_SERVER === 'hosting'
            ? replya[0].reply
            : JSON.stringify(replya[0].reply)
      }
      return (
        (texta = texta.replace(/{name}/g, namea)),
        await usera
          .sendMessage(whatsa.key.remoteJid, JSON.parse(JSON.parse(texta)), {
            quoted: quoted ? whatsa : null,
          })
          .catch((errora) => {
            console.log(errora)
          }),
        true
      )
    } catch (lasterrora) {
      console.log(lasterrora)
    }
  }
async function sendWebhook({
  command: msga,
  bufferImage: newimga,
  from: newfroma,
  url: newurla,
  participant: newparta,
}) {
  try {
    const senda = {
        message: msga,
        bufferImage: newimga == undefined ? null : newimga,
        from: newfroma,
        participant: newparta,
      },
      headra = { 'Content-Type': 'application/json; charset=utf-8' },
      dataa = await axios
        .post(newurla, senda, headra)
        .catch(() => {
          return false
        })
    return dataa.data
  } catch (newrerrora) {
    return console.log('error send webhook', newrerrora), false
  }
}
module.exports = { IncomingMessage: IncomingMessage }


and tell me if your autoreply work !!
i've sent this fix to the developer

Its not work sir, autoreply still error 🥲

@ronipriyatna @We Blend Web use this information to configure this file and the cronjob

On 6/17/2023 at 2:08 AM, Ardian said:

config cronjob in shared hosting

To make it work you must edit file "custom-route.php" at "webhome/routes/custom-routes.php with:

?php

use Illuminate\Support\Facades\Route;

use Illuminate\Support\Facades\Artisan;

Route::get('generate', function (){
return \Illuminate\Support\Facades\Artisan::call('storage:link');
})->name('generate');

Route::get('/schedule-run', function () {
return Illuminate\Support\Facades\Artisan::call('schedule:run');
})->name('schedule-run');


Route::get('/clear-cache',function(){
dd('adsf');
return Artisan::call('optimize');
})->name("cache.clear");
?>

----------------------

Now you can test: www.yourweb.com/schedule-run

For the cronjob i´m using this two every five minutes:

cd /YOURHOMEE/artisan schedule:run 1 >/dev/null 2>&1

curl "https://YOURWEB.com/schedule-run" >/dev/null 2>&1

 

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...

Recently Browsing 0

  • No registered users viewing this page.

Latest Updated Files