divysriv Posted August 19, 2023 Posted August 19, 2023 3 minutes ago, Magd Almuntaser said: DM send me you link Done Quote
SHIEVIP Posted August 19, 2023 Posted August 19, 2023 @Magd Almuntaser When i try send message and show error like this Quote
DW Members Magd Almuntaser Posted August 19, 2023 Author DW Members Posted August 19, 2023 7 minutes ago, SHIEVIP said: @Magd Almuntaser When i try send message and show error like this your website disable eval function .. so you need to decode all files that encoded.. i decoded this two files for you. so first if you use 5.5.0 you can replace this file inside this file (app/Services/Impl/WhatsappServiceImpl.php) : <?php namespace App\Services\Impl; use App\Services\WhatsappService; use Illuminate\Support\Facades\Http; class WhatsappServiceImpl implements WhatsappService { private $url; public function __construct() { $this->url = env('WA_URL_SERVER'); } public function fetchGroups($device): object { $fetch = Http::withOptions(['verify' => false])->asForm()->post($this->url .'/backend-getgroups',['token' => $device->body]); return json_decode($fetch->body()); } public function startBlast($data): object { $res = Http::withOptions(['verify' => false]) ->asForm() ->post( $this->url . '/backend-blast', [ 'data' => json_encode($data), 'delay' => 1, ] ); return json_decode($res->body()); } public function sendText($request,$receiver): object | bool { $results = Http::withOptions(['verify' => false])->asForm()->post($this->url . '/backend-send-text', [ 'token' => $request->sender, 'number' =>$receiver, 'text' => $request->message, ]); return json_decode($results->body()); } public function sendMedia($request,$receiver): object | bool { // GET FILE NAME from $request->url $fileName = explode('/', $request->url); $fileName = explode('.', end($fileName)); $fileName = $fileName[0]; $data = [ 'token' => $request->sender, 'url' => $request->url, 'number' => $receiver, 'caption' => $request->caption ?? '', 'filename' => $fileName, 'type' => $request->media_type, 'ptt' => $request->ptt ? ($request->ptt == 'vn' ? true : false) : false, ]; $results = Http::withOptions(['verify' => false])->asForm()->post($this->url . '/backend-send-media', $data); return json_decode($results->body()); } public function sendButton($request,$receiver): object | bool { $buttons = []; foreach ($request->button as $button) { $buttons[] = ['displayText' => $button, ]; } // check url if exists,set to image if not exists cheeck thumbnail if exists set to image $image = $request->url ? $request->url : ($request->image ? $request->image : ''); $data = [ 'token' => $request->sender, 'number' => $receiver, 'button' => json_encode($buttons), 'message' => $request->message, 'footer' => $request->footer ?? '', 'image' => $image, ]; ; $results = Http::withOptions(['verify' => false])->asForm()->post($this->url . '/backend-send-button', $data); return json_decode($results->body()); } public function sendTemplate($request,$receiver): object | bool { $templates = []; $ii = 1; foreach ($request->template as $template) { $ii++; $typedest = explode('|', $template)[0] == 'url' ? 'url' : (explode('|', $template)[0] == 'call' ? 'phoneNumber' : 'id'); $type = explode('|', $template)[0] == 'id' ? 'quickReplyButton' : explode('|', $template)[0] . 'Button'; $templates[] = [ 'index' => $ii, $type => [ 'displayText' => explode('|', $template)[1], $typedest => explode('|', $template)[2], ], ]; } $image = $request->url ? $request->url : ($request->image ? $request->image : ''); $data = [ 'token' => $request->sender, 'number' => $receiver, 'button' => json_encode($templates), 'text' => $request->message, 'footer' => $request->footer ?? '', 'image' => $image, ]; $results = Http::withOptions(['verify' => false])->asForm()->post($this->url . '/backend-send-template', $data); return json_decode($results->body()); } public function sendList($request,$receiver) : Object | bool { $section['title'] = $request->title; $i = 1; foreach ($request->list as $menu) { $i++; $section['rows'][] = [ 'title' => $menu, 'rowId' => 'id' . $i, 'description' => '', ]; } $data = [ 'token' => $request->sender, 'number' => $receiver, 'list' => json_encode($section), 'text' => $request->message, 'footer' => $request->footer ?? '', 'title' => $request->title, 'buttonText' => $request->buttontext, ]; $results = Http::withOptions(['verify' => false])->asForm()->post($this->url . '/backend-send-list', $data); return json_decode($results->body()); } public function sendPoll ($request ,$receiver) : Object | bool { $optionss = []; foreach ($request->option as $opt) { $optionss[] = $opt; } $data = [ "token" => $request->sender, "number" => $receiver, "name" => $request->name, "options" => json_encode($optionss), "countable" => $request->countable === "1" ? true : false, ]; $results = Http::withOptions(['verify' => false])->asForm()->post($this->url . '/backend-send-poll', $data); return json_decode($results->body()); } } ?> and replace this code with (app/Services/Impl/MessageServiceImpl.php) : <?php namespace App\Services\Impl; use App\Services\MessageService; class MessageServiceImpl implements MessageService { public function formatText($text): array { return ['text' => $text]; } public function formatImage($url, $caption = ''): array { return ['image' => ['url' => $url], 'caption' => $caption]; } // formating buttons public function formatButtons($text, $buttons, $urlimage = '', $footer = '' ): array { $optionbuttons = []; $i = 1; foreach ($buttons as $button) { $optionbuttons[] = [ 'buttonId' => "id$i", 'buttonText' => ['displayText' => $button], 'type' => 1, ]; $i++; } $valueForText = $urlimage ? 'caption' : 'text'; $message = [ $valueForText => $text, 'buttons' => $optionbuttons, 'footer' => $footer, 'headerType' => 1, ]; if ($urlimage) { $message['image'] = ['url' => $urlimage]; } return $message; } // formating templates public function formatTemplates( $text,$buttons, $urlimage = '', $footer = ''): array { $templateButtons = []; $i = 1; foreach ($buttons as $button) { $type = explode('|', $button)[0] . 'Button'; $textButton = explode('|', $button)[1]; $urlOrNumber = explode('|', $button)[2]; $typeIcon = explode('|', $button)[0] === 'url' ? 'url' : 'phoneNumber'; $templateButtons[] = [ 'index' => $i, $type => ['displayText' => $textButton, $typeIcon => $urlOrNumber], ]; $i++; } $valueForText = $urlimage ? 'caption' : 'text'; $templateMessage = [ $valueForText => $text, 'footer' => $footer, 'templateButtons' => $templateButtons, 'viewOnce' => true, ]; //add image to templateMessage if exists if ($urlimage) { $templateMessage['image'] = ['url' => $urlimage]; } return $templateMessage; } public function formatLists ($text,$lists,$title,$name,$buttonText,$footer = '') : array { $section = [ 'title' => $title, ]; $i = 1; foreach ($lists as $menu) { $i++; $section['rows'][] = [ 'title' => $menu, 'rowId' => 'id' . $i, 'description' => '', ]; } $listMessage = [ 'text' => $text, 'footer' => $footer, 'title' => $name, 'buttonText' => $buttonText, 'sections' => [$section], 'viewOnce' => true, ]; return $listMessage; } public function format ($type, $data) : array { switch ($type) { case 'text': $reply = $this->formatText($data->message); break; case 'image': $reply = $this->formatImage($data->image, $data->caption ); break; case 'button': $buttons = []; foreach ($data->button as $button) { $buttons[] = $button; } $reply = $this->formatButtons( $data->message,$buttons,$data->image ? $data->image : '',$data->footer ?? '' ); break; case 'template': $buttons = []; foreach ($data->template as $button) { $buttons[] = $button; } try { $reply = $this->formatTemplates( $data->message,$buttons, $data->image ? $data->image : '',$data->footer ?? '' ); } catch (\Throwable $th) { throw new \Exception('Invalid button type'); } break; case 'list': $reply = $this->formatLists($data->message,$data->list,$data->title,$data->name,$data->buttontext,''); break; default: # code... break; } return $reply; } } ?> after that you try again to send msg if there is error screenshot to know what is the other files need decoded. Quote Update Whatsapp Gateway Multi Device (Magd Version) v8.0.0
Arif Wicaksono Posted August 19, 2023 Posted August 19, 2023 Hello, anyone khow how to call variable name when sending scheduled message? please tell me Quote
Clarar Posted August 19, 2023 Posted August 19, 2023 (edited) On 8/10/2023 at 9:50 PM, Micro Creatives said: Autoreply notworking since i installed, other features is working fine but only autoreply notworking ? i used shared hosting Hi friend Seems like an isolated issue with autoreply after installation. Shared hosting might be a factor. Check plugin settings and hosting compatibility for a quick fix. Quote Edited August 27, 2023 by Clarar 1 Quote
Antoni Edi Kurniawan Posted August 19, 2023 Posted August 19, 2023 23 minutes ago, Clarar said: Hi friend Seems like an isolated issue with autoreply after installation. Shared hosting might be a factor. Check plugin settings and hosting compatibility for a quick fix. True Quote
DW Members Magd Almuntaser Posted August 19, 2023 Author DW Members Posted August 19, 2023 (edited) 1 hour ago, Clarar said: Hi friend Seems like an isolated issue with autoreply after installation. Shared hosting might be a factor. Check plugin settings and hosting compatibility for a quick fix. The problem when your friend send msg the format is: {"text":"Hello World"} the correct is: {text:"Hello World"} becouse the (text) is object not string.. so to fix the problem you can see my old reply Edited August 19, 2023 by Magd Almuntaser Quote Update Whatsapp Gateway Multi Device (Magd Version) v8.0.0
DW Members Magd Almuntaser Posted August 19, 2023 Author DW Members Posted August 19, 2023 11 minutes ago, SHIEVIP said: @Magd Almuntaser still error sir yes i know it's still not working becouse you don't replace what i give you in old reply i've sent to you (2) files you should replace the two files you forget MessageServiceImpl.php so back to my old reply and replace the correct files Quote Update Whatsapp Gateway Multi Device (Magd Version) v8.0.0
DW Members Magd Almuntaser Posted August 19, 2023 Author DW Members Posted August 19, 2023 ok this is the two files again .. MessageServiceImpl.phpWhatsappServiceImpl.php 1 Quote Update Whatsapp Gateway Multi Device (Magd Version) v8.0.0
DW Members Magd Almuntaser Posted August 19, 2023 Author DW Members Posted August 19, 2023 (edited) Ok guys i've decoded all files in this script and fixed most errors like autoreply and others.. you can download from here: easyupload .io/3j7cjg remove space from link. Edited August 20, 2023 by Magd Almuntaser 2 2 Quote Update Whatsapp Gateway Multi Device (Magd Version) v8.0.0
divysriv Posted August 19, 2023 Posted August 19, 2023 1 hour ago, nikokenzo said: I prefer use version 5.2.0 no issues Do you have link of it, prefer providing as latest version is showing blank on installation on server Quote
kecoamumet Posted August 20, 2023 Posted August 20, 2023 16 hours ago, Magd Almuntaser said: Ok guys i've decoded all files in this script and fixed most errors like autoreply and others.. you can download from here: mediafire .com/file/i61pnpkx3qj5an5/whatsapp-gateway-multi-device-v5.5.0-decoded.zip/file remove space from link. nice bro. ty so much. it work for autoreply. i hope other bug too. Quote Need Help?? just buy me a cup of coffee
divysriv Posted August 20, 2023 Posted August 20, 2023 @Magd Almuntaser when I select test message, under type message, no option is visible to write messages Quote
DW Members Magd Almuntaser Posted August 20, 2023 Author DW Members Posted August 20, 2023 1 hour ago, Zero828 said: @Magd Almuntaser broken link sir i've change the link: easyupload .io/3j7cjg remove space. 1 hour ago, divysriv said: @Magd Almuntaser when I select test message, under type message, no option is visible to write messages becouse you open the script from /public/home you should open it from the root like: ws.yoursite.com/home 1 Quote Update Whatsapp Gateway Multi Device (Magd Version) v8.0.0
kecoamumet Posted August 20, 2023 Posted August 20, 2023 1 hour ago, divysriv said: @Magd Almuntaser when I select test message, under type message, no option is visible to write messages check your .htaccess it should like this <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_URI} !^/socket.io/ RewriteCond %{REQUEST_URI} !^/backend-* RewriteCond %{REQUEST_URI} !^/public/ RewriteRule ^(.*)$ /public/$1 [L,QSA] </IfModule> <IfModule mod_security.c> SecFilterEngine Off SecFilterScanPOST Off </IfModule> 1 Quote Need Help?? just buy me a cup of coffee
divysriv Posted August 20, 2023 Posted August 20, 2023 38 minutes ago, Magd Almuntaser said: i've change the link: easyupload .io/3j7cjg remove space. becouse you open the script from /public/home you should open it from the root like: ws.yoursite.com/home Thanks bro it's fixed but when I click on the send error pop on saying App\Services\Impl\WhatsappServiceImpl::sendText(): Return value must be of type object|bool, null returned Quote
DW Members Magd Almuntaser Posted August 20, 2023 Author DW Members Posted August 20, 2023 16 minutes ago, divysriv said: Thanks bro it's fixed but when I click on the send error pop on saying App\Services\Impl\WhatsappServiceImpl::sendText(): Return value must be of type object|bool, null returned can you screenshot your command (node .) to see the log what exactly the error. and whats your nodejs version Quote Update Whatsapp Gateway Multi Device (Magd Version) v8.0.0
ashoksingh shekhawat Posted August 20, 2023 Posted August 20, 2023 @Magd Almuntaser Sir templete , list and button messages are not working in android device please provide any solution for it. Quote
DW Members Magd Almuntaser Posted August 20, 2023 Author DW Members Posted August 20, 2023 28 minutes ago, ashoksingh shekhawat said: @Magd Almuntaser Sir templete , list and button messages are not working in android device please provide any solution for it. there is no solution .. the problem from whatsapp github .com/WhiskeySockets/Baileys/issues/25 and github .com/WhiskeySockets/Baileys/issues/56 this script using WhiskeySockets to send and recive the msg so no solution.. Quote Update Whatsapp Gateway Multi Device (Magd Version) v8.0.0
divysriv Posted August 20, 2023 Posted August 20, 2023 1 hour ago, Magd Almuntaser said: can you screenshot your command (node .) to see the log what exactly the error. and whats your nodejs version Solved , Thanks for your coordination Quote
Antoni Edi Kurniawan Posted August 20, 2023 Posted August 20, 2023 23 hours ago, Magd Almuntaser said: Ok guys i've decoded all files in this script and fixed most errors like autoreply and others.. you can download from here: easyupload .io/3j7cjg remove space from link. Can you decode web.php or is it the same as mpedia.php in the route folder? Quote
DW Members Magd Almuntaser Posted August 20, 2023 Author DW Members Posted August 20, 2023 13 minutes ago, Antoni Edi Kurniawan said: Can you decode web.php or is it the same as mpedia.php in the route folder? it's decoded bro .. all files is decoded 1 Quote Update Whatsapp Gateway Multi Device (Magd Version) v8.0.0
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.