Jump to content
Bicrypto v4.4.2 + All Plugins ×

Whatsapp Gateway | Multi Device v8.5.1


Magd Almuntaser

Recommended Posts

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 🥲

Link to comment
Share on other sites

  • 2 weeks later...

@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

 

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