Fixed mqtt bug where phone number is not formatted
This commit is contained in:
@@ -35,7 +35,7 @@ type WhatsAppManager interface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NewLogger creates a new event logger
|
// NewLogger creates a new event logger
|
||||||
func NewLogger(cfg config.EventLoggerConfig, dbConfig config.DatabaseConfig, waManager WhatsAppManager) (*Logger, error) {
|
func NewLogger(cfg config.EventLoggerConfig, dbConfig config.DatabaseConfig, waManager WhatsAppManager, defaultCountryCode string) (*Logger, error) {
|
||||||
logger := &Logger{
|
logger := &Logger{
|
||||||
config: cfg,
|
config: cfg,
|
||||||
dbConfig: dbConfig,
|
dbConfig: dbConfig,
|
||||||
@@ -74,7 +74,7 @@ func NewLogger(cfg config.EventLoggerConfig, dbConfig config.DatabaseConfig, waM
|
|||||||
|
|
||||||
case "mqtt":
|
case "mqtt":
|
||||||
logging.Info("Initializing MQTT event logger target", "broker", cfg.MQTT.Broker)
|
logging.Info("Initializing MQTT event logger target", "broker", cfg.MQTT.Broker)
|
||||||
mqttTarget, err := NewMQTTTarget(cfg.MQTT, waManager)
|
mqttTarget, err := NewMQTTTarget(cfg.MQTT, waManager, defaultCountryCode)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logging.Error("Failed to initialize MQTT target", "error", err)
|
logging.Error("Failed to initialize MQTT target", "error", err)
|
||||||
continue
|
continue
|
||||||
|
|||||||
@@ -21,10 +21,11 @@ type MQTTTarget struct {
|
|||||||
config config.MQTTConfig
|
config config.MQTTConfig
|
||||||
waManager WhatsAppManager
|
waManager WhatsAppManager
|
||||||
eventFilter map[string]bool
|
eventFilter map[string]bool
|
||||||
|
defaultCountryCode string
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewMQTTTarget creates a new MQTT target
|
// NewMQTTTarget creates a new MQTT target
|
||||||
func NewMQTTTarget(cfg config.MQTTConfig, waManager WhatsAppManager) (*MQTTTarget, error) {
|
func NewMQTTTarget(cfg config.MQTTConfig, waManager WhatsAppManager, defaultCountryCode string) (*MQTTTarget, error) {
|
||||||
if cfg.Broker == "" {
|
if cfg.Broker == "" {
|
||||||
return nil, fmt.Errorf("MQTT broker is required")
|
return nil, fmt.Errorf("MQTT broker is required")
|
||||||
}
|
}
|
||||||
@@ -44,6 +45,7 @@ func NewMQTTTarget(cfg config.MQTTConfig, waManager WhatsAppManager) (*MQTTTarge
|
|||||||
config: cfg,
|
config: cfg,
|
||||||
waManager: waManager,
|
waManager: waManager,
|
||||||
eventFilter: make(map[string]bool),
|
eventFilter: make(map[string]bool),
|
||||||
|
defaultCountryCode: defaultCountryCode,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Build event filter map for fast lookup
|
// Build event filter map for fast lookup
|
||||||
@@ -183,10 +185,13 @@ func (m *MQTTTarget) handleSendMessage(client mqtt.Client, msg mqtt.Message) {
|
|||||||
sendReq.Type = "text"
|
sendReq.Type = "text"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Format phone number to JID format
|
||||||
|
formattedJID := utils.FormatPhoneToJID(sendReq.To, m.defaultCountryCode)
|
||||||
|
|
||||||
// Parse JID
|
// Parse JID
|
||||||
jid, err := types.ParseJID(sendReq.To)
|
jid, err := types.ParseJID(formattedJID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logging.Error("Failed to parse JID", "to", sendReq.To, "error", err)
|
logging.Error("Failed to parse JID", "to", sendReq.To, "formatted", formattedJID, "error", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ func newWithConfig(cfg *config.Config, configPath string) (*WhatsHooked, error)
|
|||||||
|
|
||||||
// Initialize event logger if enabled
|
// Initialize event logger if enabled
|
||||||
if cfg.EventLogger.Enabled && len(cfg.EventLogger.Targets) > 0 {
|
if cfg.EventLogger.Enabled && len(cfg.EventLogger.Targets) > 0 {
|
||||||
logger, err := eventlogger.NewLogger(cfg.EventLogger, cfg.Database, wh.whatsappMgr)
|
logger, err := eventlogger.NewLogger(cfg.EventLogger, cfg.Database, wh.whatsappMgr, cfg.Server.DefaultCountryCode)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
wh.eventLogger = logger
|
wh.eventLogger = logger
|
||||||
wh.eventBus.SubscribeAll(func(event events.Event) {
|
wh.eventBus.SubscribeAll(func(event events.Event) {
|
||||||
|
|||||||
Reference in New Issue
Block a user