From 46359a017d103d279ae46b80ceeae3a8b6eb024a Mon Sep 17 00:00:00 2001 From: Dimas Restu H Date: Fri, 6 May 2022 17:59:41 +0700 Subject: [PATCH] update add option to send one message at a time --- .env.default | 1 + .env.development | 1 + .env.production | 1 + internal/whatsapp/whatsapp.go | 6 ++++-- pkg/whatsapp/whatsapp.go | 9 +++++++++ 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.env.default b/.env.default index e68cb35..1e726b6 100644 --- a/.env.default +++ b/.env.default @@ -31,6 +31,7 @@ HTTP_BASE_URL=/api/v1/whatsapp WHATSAPP_DATASTORE_TYPE=sqlite WHATSAPP_DATASTORE_URI=file:dbs/WhatsApp.db?_foreign_keys=on +WHATSAPP_ONE_MESSAGE_FLIGHT=true WHATSAPP_MEDIA_IMAGE_CONVERT_WEBP=true # WHATSAPP_VERSION_MAJOR=2 diff --git a/.env.development b/.env.development index 0a9fbb7..027c3cf 100644 --- a/.env.development +++ b/.env.development @@ -31,6 +31,7 @@ AUTH_JWT_EXPIRED_HOUR=24 WHATSAPP_DATASTORE_TYPE=sqlite WHATSAPP_DATASTORE_URI=file:dbs/WhatsApp.db?_foreign_keys=on +WHATSAPP_ONE_MESSAGE_FLIGHT=true WHATSAPP_MEDIA_IMAGE_CONVERT_WEBP=true WHATSAPP_VERSION_MAJOR=2 diff --git a/.env.production b/.env.production index f0920c5..9059438 100644 --- a/.env.production +++ b/.env.production @@ -31,6 +31,7 @@ AUTH_JWT_EXPIRED_HOUR=24 WHATSAPP_DATASTORE_TYPE=sqlite WHATSAPP_DATASTORE_URI=file:dbs/WhatsApp.db?_foreign_keys=on +WHATSAPP_ONE_MESSAGE_FLIGHT=true WHATSAPP_MEDIA_IMAGE_CONVERT_WEBP=true WHATSAPP_VERSION_MAJOR=2 diff --git a/internal/whatsapp/whatsapp.go b/internal/whatsapp/whatsapp.go index 39f3dd5..75ee25c 100644 --- a/internal/whatsapp/whatsapp.go +++ b/internal/whatsapp/whatsapp.go @@ -222,8 +222,10 @@ func sendMedia(c echo.Context, mediaType string) error { // Then Convert it as PNG var fileBytes []byte - isConvertMediaImageWebP := false - isConvertMediaImageWebP, _ = env.GetEnvBool("WHATSAPP_MEDIA_IMAGE_CONVERT_WEBP") + isConvertMediaImageWebP, err := env.GetEnvBool("WHATSAPP_MEDIA_IMAGE_CONVERT_WEBP") + if err != nil { + isConvertMediaImageWebP = false + } if mediaType == "image" && fileType == "image/webp" && isConvertMediaImageWebP { // Decode WebP Image diff --git a/pkg/whatsapp/whatsapp.go b/pkg/whatsapp/whatsapp.go index e150151..9b17573 100644 --- a/pkg/whatsapp/whatsapp.go +++ b/pkg/whatsapp/whatsapp.go @@ -73,6 +73,15 @@ func WhatsAppInitClient(device *store.Device, jid string) { // Initialize New WhatsApp Client // And Save it to The Map WhatsAppClient[jid] = whatsmeow.NewClient(device, nil) + + // Set WhatsApp Client One Message at a Time + isOneMessageFlight, err := env.GetEnvBool("WHATSAPP_ONE_MESSAGE_FLIGHT") + if err != nil { + // Set Default Value WhatsApp Client One Message at a Time + // For Account Safety then Turn it ON by Default + isOneMessageFlight = true + } + WhatsAppClient[jid].OneMessageAtATime = isOneMessageFlight } }