Files
sender/internal/messaging/messaging.go
T
2026-06-06 14:19:23 -04:00

61 lines
1.5 KiB
Go

package messaging
import (
"encoding/json"
"fmt"
"log"
"time"
"git.kundeng.us/phoenix/swoosh/swoop/send"
cnfg "git.kundeng.us/phoenix/textsender-models/tx0/config/auxiliary"
"git.kundeng.us/phoenix/textsender-models/tx0/contact"
msg "git.kundeng.us/phoenix/textsender-models/tx0/message"
)
func SendMessages(config cnfg.TwilioConfig, numbers [](contact.Contact), message msg.Message, secondInterval int) {
log.Println("Sending message")
longSleepLimit := 5
count := 0
var snr send.MessageSender
snr.Config = &config
// 2026-04-24 12:00 ET
// 2026-04-25T16:00:00.000Z
// 2026-04-25T16:00:00.000Z
// inputSendTime := "2026-04-25T16:00:00.000Z"
// inputSendTime = "2026-04-25T15:12:00.000Z"
// inputSendTime := "2026-04-29T16:18:00.000Z"
inputSendTime := "2026-04-30T00:00:00.000Z"
sentTime, err := time.Parse(time.RFC3339, inputSendTime)
if err != nil {
fmt.Println("Error:", err)
return
}
for _, number := range numbers {
numberToSend := number
log.Println("Sending to: " + numberToSend.PhoneNumber)
if resp, _, err := snr.Send(message, number, &sentTime); err != nil {
log.Println("Error sending:", err)
} else {
if response, err := json.Marshal(*resp); err != nil {
log.Println("Error parsing:", err)
} else {
log.Println("Response:", string(response))
}
}
log.Println("Sleeping")
if count%longSleepLimit == 0 {
// sleep for X seconds
tme := 1 * time.Second
time.Sleep(tme)
} else {
time.Sleep(time.Second)
}
}
}