diff --git a/config.yaml b/config.yaml index eae9923..f785ce4 100644 --- a/config.yaml +++ b/config.yaml @@ -43,6 +43,16 @@ connectors: enabled: true name: sms gateway_url: http://localhost:9877 + signal: + enabled: true + api_url: http://localhost:8080 + number: "+31634481877" + poll_interval: 5 + contacts: + "+17272252475": "Johan" + "+17272381189": "Misha" + "+31646563377": "Roos" + "+31624403744": "Jacques" webhook: enabled: true diff --git a/main.go b/main.go index a2d7d9b..70d94ea 100644 --- a/main.go +++ b/main.go @@ -61,6 +61,7 @@ type ConnectorsConfig struct { Name string `yaml:"name"` GatewayURL string `yaml:"gateway_url"` } `yaml:"sms"` + Signal SignalConfig `yaml:"signal"` } type WebhookConfig struct { @@ -171,6 +172,14 @@ func main() { log.Printf("Registered SMS connector: %s -> %s", name, gatewayURL) } + // Register Signal connector + var signalConnector *SignalConnector + if config.Connectors.Signal.Enabled { + signalConnector = NewSignalConnector(config.Connectors.Signal) + signalConnector.Start() + log.Printf("Signal connector started (%s, poll: %ds)", config.Connectors.Signal.Number, config.Connectors.Signal.PollInterval) + } + // Log triage config if config.Triage.Enabled { log.Printf("Email triage enabled (model: %s, prompt: %s)", config.Triage.Provider.Model, config.Triage.PromptFile) @@ -243,6 +252,9 @@ func main() { if m365Connector != nil { m365Connector.Stop() } + if signalConnector != nil { + signalConnector.Stop() + } store.StopAll() server.Shutdown(nil) }()