From 9e8c3fd8eab8cf5b1769d66d6cccfdb68e176e06 Mon Sep 17 00:00:00 2001 From: Aldino Kemal Date: Thu, 29 Aug 2024 03:29:23 +0700 Subject: [PATCH] feat: add account validation flag feat: add --account-validation flag in root command for optional account validation feat: enable WhatsappAccountValidation by default in settings refactor: conditionally validate JID based on WhatsappAccountValidation flag in whatsapp package --- src/cmd/root.go | 1 + src/config/settings.go | 3 ++- src/pkg/whatsapp/whatsapp.go | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/cmd/root.go b/src/cmd/root.go index 1fcc79b..27fe650 100644 --- a/src/cmd/root.go +++ b/src/cmd/root.go @@ -47,6 +47,7 @@ func init() { rootCmd.PersistentFlags().StringVarP(&config.AppBasicAuthCredential, "basic-auth", "b", config.AppBasicAuthCredential, "basic auth credential | -b=yourUsername:yourPassword") rootCmd.PersistentFlags().StringVarP(&config.WhatsappAutoReplyMessage, "autoreply", "", config.WhatsappAutoReplyMessage, `auto reply when received message --autoreply | example: --autoreply="Don't reply this message"`) rootCmd.PersistentFlags().StringVarP(&config.WhatsappWebhook, "webhook", "w", config.WhatsappWebhook, `forward event to webhook --webhook | example: --webhook="https://yourcallback.com/callback"`) + rootCmd.PersistentFlags().BoolVarP(&config.WhatsappAccountValidation, "account-validation", "", config.WhatsappAccountValidation, `enable or disable account validation --account-validation | example: --account-validation=true`) } func runRest(_ *cobra.Command, _ []string) { diff --git a/src/config/settings.go b/src/config/settings.go index 136cbe4..08f5e66 100644 --- a/src/config/settings.go +++ b/src/config/settings.go @@ -5,7 +5,7 @@ import ( ) var ( - AppVersion = "v4.16.0" + AppVersion = "v4.17.0" AppPort = "3000" AppDebug = false AppOs = "AldinoKemal" @@ -26,4 +26,5 @@ var ( WhatsappSettingMaxVideoSize int64 = 100000000 // 100MB WhatsappTypeUser = "@s.whatsapp.net" WhatsappTypeGroup = "@g.us" + WhatsappAccountValidation = true ) diff --git a/src/pkg/whatsapp/whatsapp.go b/src/pkg/whatsapp/whatsapp.go index 5fc2fcd..7570d70 100644 --- a/src/pkg/whatsapp/whatsapp.go +++ b/src/pkg/whatsapp/whatsapp.go @@ -137,7 +137,7 @@ func IsOnWhatsapp(waCli *whatsmeow.Client, jid string) bool { func ValidateJidWithLogin(waCli *whatsmeow.Client, jid string) (types.JID, error) { MustLogin(waCli) - if !IsOnWhatsapp(waCli, jid) { + if config.WhatsappAccountValidation && !IsOnWhatsapp(waCli, jid) { return types.JID{}, pkgError.InvalidJID(fmt.Sprintf("Phone %s is not on whatsapp", jid)) }