61 lines
1.5 KiB
Go
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)
|
|
}
|
|
}
|
|
}
|