experiment (#12)
Reviewed-on: #12 Co-authored-by: phoenix <kundeng00@pm.me> Co-committed-by: phoenix <kundeng00@pm.me>
This commit is contained in:
+15
-32
@@ -5,58 +5,41 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/twilio/twilio-go"
|
||||
twilioApi "github.com/twilio/twilio-go/rest/api/v2010"
|
||||
|
||||
"git.kundeng.us/phoenix/sender/models"
|
||||
"git.kundeng.us/phoenix/swoosh/swoop/send"
|
||||
cnfg "git.kundeng.us/phoenix/textsender-models/pkg/config"
|
||||
"git.kundeng.us/phoenix/textsender-models/pkg/contact"
|
||||
msg "git.kundeng.us/phoenix/textsender-models/pkg/message"
|
||||
)
|
||||
|
||||
func SendMessages(config models.TwiloDetails, numbers [](models.Number), message models.Message, secondInterval int) {
|
||||
func SendMessages(config cnfg.TwiloConfig, numbers [](contact.Contact), message msg.Message, secondInterval int) {
|
||||
fmt.Println("Sending message")
|
||||
|
||||
longSleepLimit := 5
|
||||
count := 0
|
||||
|
||||
client := initClient(config)
|
||||
var snr send.MessageSender
|
||||
snr.Config = config
|
||||
|
||||
for _, number := range numbers {
|
||||
numberToSend := number
|
||||
|
||||
if numberToSend.IsEmpty() {
|
||||
fmt.Println("Empty number")
|
||||
continue
|
||||
}
|
||||
|
||||
fmt.Println(numberToSend)
|
||||
|
||||
params := &twilioApi.CreateMessageParams{}
|
||||
params.SetTo(numberToSend.PhoneNumber)
|
||||
params.SetFrom(config.Number)
|
||||
params.SetBody(message.Text)
|
||||
|
||||
fmt.Println("Sending to: " + numberToSend.PhoneNumber)
|
||||
|
||||
resp, err := client.Api.CreateMessage(params)
|
||||
if err != nil {
|
||||
fmt.Println("Error sending SMS message: " + err.Error())
|
||||
if resp, err := snr.Send(message, number, nil); err != nil {
|
||||
fmt.Println("Error sending:", err)
|
||||
} else {
|
||||
response, _ := json.Marshal(*resp)
|
||||
fmt.Println("Response: " + string(response))
|
||||
if response, err := json.Marshal(*resp); err != nil {
|
||||
fmt.Println("Error parsing:", err)
|
||||
} else {
|
||||
fmt.Println("Response:", string(response))
|
||||
}
|
||||
}
|
||||
|
||||
if count%longSleepLimit == 0 {
|
||||
// sleep for X seconds
|
||||
tme := 5 * time.Second
|
||||
tme := 1 * time.Second
|
||||
time.Sleep(tme)
|
||||
} else {
|
||||
time.Sleep(time.Second)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func initClient(config models.TwiloDetails) *twilio.RestClient {
|
||||
return twilio.NewRestClientWithParams(twilio.ClientParams{
|
||||
Username: config.AccountSID,
|
||||
Password: config.AuthToken,
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user