Browse Source

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
pull/188/head v4.17.0
Aldino Kemal 2 years ago
parent
commit
9e8c3fd8ea
  1. 1
      src/cmd/root.go
  2. 3
      src/config/settings.go
  3. 2
      src/pkg/whatsapp/whatsapp.go

1
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 <string> | example: --autoreply="Don't reply this message"`)
rootCmd.PersistentFlags().StringVarP(&config.WhatsappWebhook, "webhook", "w", config.WhatsappWebhook, `forward event to webhook --webhook <string> | example: --webhook="https://yourcallback.com/callback"`)
rootCmd.PersistentFlags().BoolVarP(&config.WhatsappAccountValidation, "account-validation", "", config.WhatsappAccountValidation, `enable or disable account validation --account-validation <true/false> | example: --account-validation=true`)
}
func runRest(_ *cobra.Command, _ []string) {

3
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
)

2
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))
}

Loading…
Cancel
Save