From eac80b40bd79cd734f16c5d7ece05a3b96d8fdd2 Mon Sep 17 00:00:00 2001 From: Dimas Restu H Date: Mon, 25 Apr 2022 16:23:15 +0700 Subject: [PATCH] add capabilites to set whatsapp client version from environment variable --- .env.default | 4 ++++ .env.development | 4 ++++ .env.production | 4 ++++ pkg/whatsapp/whatsapp.go | 16 ++++++++++++++++ 4 files changed, 28 insertions(+) diff --git a/.env.default b/.env.default index 7106001..4a7b7b4 100644 --- a/.env.default +++ b/.env.default @@ -27,3 +27,7 @@ # ----------------------------------- # WHATSAPP_DATASTORE_TYPE=sqlite3 # WHATSAPP_DATASTORE_URI=file:dbs/WhatsApp.db?_foreign_keys=on + +# WHATSAPP_VERSION_MAJOR=2 +# WHATSAPP_VERSION_MINOR=2214 +# WHATSAPP_VERSION_PATCH=9 diff --git a/.env.development b/.env.development index b6eade6..f2c9f52 100644 --- a/.env.development +++ b/.env.development @@ -27,3 +27,7 @@ AUTH_JWT_EXPIRED_HOUR=24 # ----------------------------------- WHATSAPP_DATASTORE_TYPE=sqlite3 WHATSAPP_DATASTORE_URI=file:dbs/WhatsApp.db?_foreign_keys=on + +WHATSAPP_VERSION_MAJOR=2 +WHATSAPP_VERSION_MINOR=2214 +WHATSAPP_VERSION_PATCH=9 diff --git a/.env.production b/.env.production index 8a01c52..d56fac8 100644 --- a/.env.production +++ b/.env.production @@ -27,3 +27,7 @@ AUTH_JWT_EXPIRED_HOUR=24 # ----------------------------------- WHATSAPP_DATASTORE_TYPE=sqlite3 WHATSAPP_DATASTORE_URI=file:dbs/WhatsApp.db?_foreign_keys=on + +WHATSAPP_VERSION_MAJOR=2 +WHATSAPP_VERSION_MINOR=2214 +WHATSAPP_VERSION_PATCH=9 diff --git a/pkg/whatsapp/whatsapp.go b/pkg/whatsapp/whatsapp.go index a961ba9..311130c 100644 --- a/pkg/whatsapp/whatsapp.go +++ b/pkg/whatsapp/whatsapp.go @@ -44,6 +44,8 @@ func init() { } func WhatsAppInitClient(device *store.Device, jid string) { + var err error + if WhatsAppClient[jid] == nil { if device == nil { // Initialize New WhatsApp Client Device in Datastore @@ -54,6 +56,20 @@ func WhatsAppInitClient(device *store.Device, jid string) { store.CompanionProps.Os = proto.String("Go WhatsApp Multi-Device REST") store.CompanionProps.PlatformType = waproto.CompanionProps_DESKTOP.Enum() + // Set Client Versions + version.Major, err = env.GetEnvInt("WHATSAPP_VERSION_MAJOR") + if err == nil { + store.CompanionProps.Version.Primary = proto.Uint32(uint32(version.Major)) + } + version.Minor, err = env.GetEnvInt("WHATSAPP_VERSION_MINOR") + if err == nil { + store.CompanionProps.Version.Secondary = proto.Uint32(uint32(version.Minor)) + } + version.Patch, err = env.GetEnvInt("WHATSAPP_VERSION_PATCH") + if err == nil { + store.CompanionProps.Version.Tertiary = proto.Uint32(uint32(version.Patch)) + } + // Initialize New WhatsApp Client // And Save it to The Map WhatsAppClient[jid] = whatsmeow.NewClient(device, nil)