Skip to content
View in the app

A better way to browse. Learn more.

DoniaWeB

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
     

Whatsapp Gateway | Multi Device v14.7.0

Featured Replies

@Magd Almuntaser

Feature Request: Add last_connected_at for reliable Login Reminder plugin

Problem

(This plugin will be useful for those whose countries (such as India) automatically log them out of WhatsApp after a specific period of time.)

The login-reminder plugin is currently unreliable because it infers connection time via polling (status = Connected) instead of reading an authoritative connection timestamp from core data.

Goal

Add a core-level device connection timestamp so plugins can calculate reminder timing correctly and consistently.

Required Core Changes

  • Add a new column to devices table:

    • last_connected_at (DATETIME, nullable, indexed)

  • On every successful WhatsApp connection open event:

    • set devices.status = 'Connected' (existing behavior)

    • set devices.last_connected_at = CURRENT_TIMESTAMP (new behavior)

  • On reconnect/open after disconnection:

    • update last_connected_at again to the latest open time

  • Do not clear last_connected_at on disconnect/logout (keep it as historical last successful connect time)

Hook/Event Contract for Plugins

Expose a plugin hook/event for connection open with consistent payload, e.g.:

  • Hook: whatsapp.onConnectionOpen

  • Payload:

    • token

    • deviceId

    • userId

    • connectedAt (must match saved last_connected_at)

Requirements:

  • Fire once per actual connection-open transition

  • Avoid duplicate firing for the same open state

  • Keep payload stable for plugin compatibility

Time and Data Consistency Rules

  • Store timestamps in UTC in DB

  • Convert to user timezone only in UI/presentation layer

  • If never connected: last_connected_at = NULL

  • Handle rapid reconnect race conditions so newest connection timestamp wins

Plugin Integration Expectation

login-reminder will use:

  • Primary source: devices.last_connected_at

  • Fallback: polling only if timestamp is unavailable (temporary safety)

Reminder calculation:

  • base_time = last_connected_at

  • remind_at = base_time + session_lifetime - remind_before_minutes

If last_connected_at is null, plugin should skip scheduling and write clear debug logs.

Acceptance Criteria

  • On connect: last_connected_at is written immediately

  • On reconnect: last_connected_at updates to latest connect time

  • After server restart: plugin can rebuild timers correctly from DB timestamp

  • No false reminders when device is disconnected

  • UTC storage and timezone conversion are consistent

Optional (Recommended)

  • Add last_disconnected_at for diagnostics

  • Add connection_events audit table (device_id, event_type, event_at, reason) for full traceability


  • Replies 9.3k
  • Views 1.2m
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Magd Almuntaser
    Magd Almuntaser

    What's new in version 11.0.0 (so far): - Added Chat System (Customer Service). - Fixed Connection problems With WhatsApp. - Fixed Generate QR Via API. - Fixed Delete Sections From Edit List Page. - Fi

  • Magd Almuntaser
    Magd Almuntaser

    English: Version 14.0.0 is now nearly complete. A lot has been changed in this version because of the plugin system, as features have been separated and converted into plugins. Therefore: Testers are

  • Magd Almuntaser
    Magd Almuntaser

    Version 11.0.1 has been released What's new in version 11.0.1: - Fixed Stop/Start AI In Conversations. - Fixed Chat Date (Database). - Fixed Migrate To Database. - Fixed Plans Page.

Most Helpful Posts

  • Magd Almuntaser
    Magd Almuntaser

    English (EN) I have already informed you that WhatsApp is rolling out new updates. These updates are being sent to some numbers first and will gradually reach all numbers worldwide. The first update i

  • Magd Almuntaser
    Magd Almuntaser

    What will be available in version 11.0.0: - A chat system will be added. - A customer service system will be added (integrated with chat). - Some Indian payment gateways will be added. - Order design

  • i give you the step: Stop your Node server. Download the files validate-connection.js and validate-connection.d.ts from the links provided below. Go to the directory: /your_mpwa_directory/node_modul

Posted Images

1 minute ago, Shivendra Kr. Sahu said:

@Magd Almuntaser

Feature Request: Add last_connected_at for reliable Login Reminder plugin

Problem

(This plugin will be useful for those whose countries (such as India) automatically log them out of WhatsApp after a specific period of time.)

The login-reminder plugin is currently unreliable because it infers connection time via polling (status = Connected) instead of reading an authoritative connection timestamp from core data.

Goal

Add a core-level device connection timestamp so plugins can calculate reminder timing correctly and consistently.

Required Core Changes

  • Add a new column to devices table:

    • last_connected_at (DATETIME, nullable, indexed)

  • On every successful WhatsApp connection open event:

    • set devices.status = 'Connected' (existing behavior)

    • set devices.last_connected_at = CURRENT_TIMESTAMP (new behavior)

  • On reconnect/open after disconnection:

    • update last_connected_at again to the latest open time

  • Do not clear last_connected_at on disconnect/logout (keep it as historical last successful connect time)

Hook/Event Contract for Plugins

Expose a plugin hook/event for connection open with consistent payload, e.g.:

  • Hook: whatsapp.onConnectionOpen

  • Payload:

    • token

    • deviceId

    • userId

    • connectedAt (must match saved last_connected_at)

Requirements:

  • Fire once per actual connection-open transition

  • Avoid duplicate firing for the same open state

  • Keep payload stable for plugin compatibility

Time and Data Consistency Rules

  • Store timestamps in UTC in DB

  • Convert to user timezone only in UI/presentation layer

  • If never connected: last_connected_at = NULL

  • Handle rapid reconnect race conditions so newest connection timestamp wins

Plugin Integration Expectation

login-reminder will use:

  • Primary source: devices.last_connected_at

  • Fallback: polling only if timestamp is unavailable (temporary safety)

Reminder calculation:

  • base_time = last_connected_at

  • remind_at = base_time + session_lifetime - remind_before_minutes

If last_connected_at is null, plugin should skip scheduling and write clear debug logs.

Acceptance Criteria

  • On connect: last_connected_at is written immediately

  • On reconnect: last_connected_at updates to latest connect time

  • After server restart: plugin can rebuild timers correctly from DB timestamp

  • No false reminders when device is disconnected

  • UTC storage and timezone conversion are consistent

Optional (Recommended)

  • Add last_disconnected_at for diagnostics

  • Add connection_events audit table (device_id, event_type, event_at, reason) for full traceability


image.png

i just update the billing plugin too add website name as a footer for free plan. so when a message is sent on whatsapp, it shows
"Send by business name", only free plan will get this.
i belive a plugin will be nice for this for this development. i would have shared the billing plugin, but that was not the only file i edited, i also editted the api message and system message and also .env

anyone use payment gateway?, if using online payment gateway after payment user automatic change status, plan.period or we sholud change manually from admin dashboard

Smart Blast Scheduler — Jadwalkan dan kirim pesan WhatsApp secara otomatis ke kontak, grup, atau ribuan nomor sekaligus. Dukung teks, gambar, video, dokumen, pengulangan terjadwal, dan import Excel.

smartblast2.png

smart blast2.png

3 hours ago, pinpin said:

anyone use payment gateway?, if using online payment gateway after payment user automatic change status, plan.period or we sholud change manually from admin dashboard

@Magd Almuntaser if using online payment gateway after payment, user automatic change status, plan,period ?

On 4/17/2026 at 6:49 AM, dentos said:

Hi sir @Magd Almuntaser For the next update, please fix the following issues:

  1. The Pause & Play buttons in the Campaign/Blast feature are not functioning properly. Please check and ensure they work as expected.

  2. The Free Trial feature is currently not working and returns a 500 Server Error. Please investigate and fix this issue as soon as possible.

These issues are quite critical, especially the free trial feature since it affects new user onboarding.

Thank you.

Please fix this sir @Magd Almuntaser

Thanks 🙏

  • Community Expert
  • Author
23 minutes ago, Project Downgrade said:

Is it possible to send messages for this product or what? Can you help me with this?
delivery status read failed. Please help @Magd Almuntaser


You can send a product normally,
simply copy the product link already stored in WhatsApp and paste it into MPWA.
This means the product must already exist in WhatsApp and be created with a WhatsApp Business account before you can send it by copying its link and pasting it into MPWA to retrieve its details.
Note that the product must be visible in WhatsApp, not hidden.

16 minutes ago, Magd Almuntaser said:


Anda dapat mengirim produk seperti biasa,
Cukup salin tautan produk yang sudah tersimpan di WhatsApp dan tempelkan ke MPWA.
Artinya, produk tersebut harus sudah ada di WhatsApp dan dibuat dengan akun WhatsApp Business sebelum Anda dapat mengirimkannya dengan menyalin tautannya dan menempelkannya ke MPWA untuk mengambil detailnya.
Perhatikan bahwa produk harus terlihat di WhatsApp, bukan disembunyikan.

Is it possible to send and use products from other WhatsApp businesses? because my sending always fails

51 minutes ago, Magd Almuntaser said:

yes and it's working .. you can try this product:
https://wa.me/p/28471875879095023/6285175049705

image.png
I've tried, the message sending failed

Edited by Project Downgrade

7 hours ago, dentos said:

Smart Blast Scheduler — Jadwalkan dan kirim pesan WhatsApp secara otomatis ke kontak, grup, atau ribuan nomor sekaligus. Dukung teks, gambar, video, dokumen, pengulangan terjadwal, dan import Excel.

smartblast2.png

smart blast2.png

What's the difference with the usual campaign? @dentos

1 hour ago, Sing Only said:

What's the difference with the usual campaign? @dentos

The default campaign is for one-time broadcast to numbers only.

Smart Blast Scheduler is an upgraded version of the Advance Scheduler plugin, with added features like group messaging, recurring automation, and multi-source recipients.

Here are the key differences:

📢 Send to WhatsApp Groups

Unlike the usual campaign, you can send messages directly to WhatsApp groups.

🔁 Recurring Messages (Auto Repeat)

Schedule messages to be sent automatically (hourly, daily, weekly, monthly, yearly).

→ Perfect for reminders and follow-ups.

👥 Multiple Recipient Sources

Import from Excel, select from phonebook, or combine numbers and groups in one campaign.

🖼️ Rich Media Support

Send not just text, but also images, videos, audio, and documents with captions.

🏷️ Message Categorization & Management

Organize your schedules with categories and manage them easily (pause, resume, edit).

15 minutes ago, dentos said:

The default campaign is for one-time broadcast to numbers only.

Smart Blast Scheduler is an upgraded version of the Advance Scheduler plugin, with added features like group messaging, recurring automation, and multi-source recipients.

Here are the key differences:

📢 Send to WhatsApp Groups

Unlike the usual campaign, you can send messages directly to WhatsApp groups.

🔁 Recurring Messages (Auto Repeat)

Schedule messages to be sent automatically (hourly, daily, weekly, monthly, yearly).

→ Perfect for reminders and follow-ups.

👥 Multiple Recipient Sources

Import from Excel, select from phonebook, or combine numbers and groups in one campaign.

🖼️ Rich Media Support

Send not just text, but also images, videos, audio, and documents with captions.

🏷️ Message Categorization & Management

Organize your schedules with categories and manage them easily (pause, resume, edit).

Is the MPWA plugin not available in the marketplace yet?

  • Community Expert
  • Author

The plugin has been added to the (Marketplace).
You can install it if you wish from the
Plugins page.


- Added Group Sender v1.0.0 (By Dentos) - [ @dentos ] [To support Dentos, click here].


Description: Broadcast messages to WhatsApp groups with mention options, scheduling, and reusable templates.


Screenshot:

screenshot.webp

=======

1 (15).webp

Just now, Magd Almuntaser said:

The plugin has been added to the (Marketplace).
You can install it if you wish from the
Plugins page.


- Added Group Sender v1.0.0 (By Dentos) - [ @dentos ] [To support Dentos, click here].


Description: Broadcast messages to WhatsApp groups with mention options, scheduling, and reusable templates.


Screenshot:

screenshot.webp

=======

1 (15).webp

This is a great plugin. Here are a few small suggestions that might be worth considering:

  1. Instead of mentioning each group participant individually, why not use the built-in WhatsApp feature like @all/@everyone?

  2. The silent mention and mention all functions don’t seem much different—only the message position changes. Maybe my expectations were too high, as I thought a silent mention would deliver the message without showing the @ tag.

Thank you, this plugin is awesome.

  • Community Expert
  • Author
8 minutes ago, Sing Only said:

Halo sir @Shivendra Kr. Sahu Rotator campaign always crashes in the middle of the broadcast process, never fully finished, why is that? See image

Screenshot_2026-04-21-22-03-39-443_com.android.chrome-edit.jpg

The problem might be with your hosting provider.
Most hosting providers, especially shared hosting, restart their servers for about 10 seconds at any time of day, or even if their server experiences high user traffic. Node.js might also shut down briefly to clear its cache and relieve server load.
So, try again at a different time.
If the campaign is successful, then your problem is with your hosting provider.

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.

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

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.