Browse Source

environment variable support for webhook

pull/159/head
Abdul Rahman 2 years ago
parent
commit
9ea5c762bd
  1. 2
      docker/golang.Dockerfile
  2. 40
      src/config/settings.go
  3. 1
      src/go.mod
  4. 2
      src/go.sum

2
docker/golang.Dockerfile

@ -19,5 +19,7 @@ RUN apk update && apk add --no-cache ffmpeg
WORKDIR /app
# Copy compiled from builder.
COPY --from=builder /app/whatsapp /app/whatsapp
# Copy the .env file
COPY .env ./.env
# Run the binary.
ENTRYPOINT ["/app/whatsapp"]

40
src/config/settings.go

@ -3,8 +3,7 @@ package config
import (
"log"
"os"
"strconv"
"github.com/joho/godotenv" // Import the godotenv package
waProto "go.mau.fi/whatsmeow/binary/proto"
)
@ -12,7 +11,7 @@ var (
AppVersion = "v4.14.0"
AppPort = "3000"
AppDebug = false
AppOs = "AldinoKemal"
AppOs = "ABD-Whatsapp-Client"
AppPlatform = waProto.DeviceProps_PlatformType(1)
AppBasicAuthCredential string
@ -23,29 +22,22 @@ var (
DBName = "whatsapp.db"
WhatsappAutoReplyMessage string = getEnv("WhatsappAutoReplyMessage", "")
WhatsappWebhook string = getEnv("WhatsappWebhook", "")
WhatsappLogLevel string = getEnv("WhatsappLogLevel", "ERROR")
WhatsappSettingMaxFileSize int64 = getEnvAsInt64("WhatsappSettingMaxFileSize", 50000000) // 50MB
WhatsappSettingMaxVideoSize int64 = getEnvAsInt64("WhatsappSettingMaxVideoSize", 100000000) // 100MB
WhatsappTypeUser string = "@s.whatsapp.net"
WhatsappTypeGroup string = "@g.us"
WhatsappAutoReplyMessage string
WhatsappWebhook string
WhatsappLogLevel = "ERROR"
WhatsappSettingMaxFileSize int64 = 50000000 // 50MB
WhatsappSettingMaxVideoSize int64 = 100000000 // 100MB
WhatsappTypeUser = "@s.whatsapp.net"
WhatsappTypeGroup = "@g.us"
)
func getEnv(key, defaultValue string) string {
if value, exists := os.LookupEnv(key); exists {
return value
func init() {
err := godotenv.Load()
if err != nil {
log.Fatalf("Error loading .env file: %v", err)
}
return defaultValue
}
func getEnvAsInt64(key string, defaultValue int64) int64 {
if valueStr, exists := os.LookupEnv(key); exists {
if value, err := strconv.ParseInt(valueStr, 10, 64); err == nil {
return value
} else {
log.Printf("Error parsing environment variable %s: %v", key, err)
}
WhatsappWebhook = os.Getenv("WhatsappWebhook")
if WhatsappWebhook == "" {
log.Fatalf("WhatsappWebhook environment variable is not set")
}
return defaultValue
}

1
src/go.mod

@ -33,6 +33,7 @@ require (
github.com/gofiber/utils v1.1.0 // indirect
github.com/gorilla/websocket v1.5.1 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/joho/godotenv v1.5.1 // indirect
github.com/klauspost/compress v1.17.8 // indirect
github.com/kr/pretty v0.1.0 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect

2
src/go.sum

@ -45,6 +45,8 @@ github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/
github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0=
github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4=
github.com/klauspost/compress v1.17.8 h1:YcnTYrq7MikUT7k0Yb5eceMmALQPYBW/Xltxn0NAMnU=
github.com/klauspost/compress v1.17.8/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=

Loading…
Cancel
Save