Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e4b6b191f0
|
+13
-4
@@ -14,6 +14,7 @@ import (
|
|||||||
"git.kundeng.us/phoenix/swoosh/swoop/types"
|
"git.kundeng.us/phoenix/swoosh/swoop/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
type MessageSender struct {
|
type MessageSender struct {
|
||||||
Config *config.TwiloConfig
|
Config *config.TwiloConfig
|
||||||
}
|
}
|
||||||
@@ -33,10 +34,8 @@ func (m *MessageSender) Send(msg message.Message, number contact.Contact, sendTi
|
|||||||
params.SetFrom(m.Config.Number)
|
params.SetFrom(m.Config.Number)
|
||||||
params.SetMessagingServiceSid(m.Config.ServiceSID)
|
params.SetMessagingServiceSid(m.Config.ServiceSID)
|
||||||
params.SetBody(msg.Content)
|
params.SetBody(msg.Content)
|
||||||
if sendTime != nil {
|
if sendTime != nil && isSchedulable(now, sendTime) {
|
||||||
if sendTime.After(now) {
|
params.SetSendAt(*sendTime)
|
||||||
params.SetSendAt(*sendTime)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if resp, err := client.Api.CreateMessage(params); err != nil {
|
if resp, err := client.Api.CreateMessage(params); err != nil {
|
||||||
@@ -49,3 +48,13 @@ func (m *MessageSender) Send(msg message.Message, number contact.Contact, sendTi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func isSchedulable(now *time.Time, scheduled *time.Time) (bool) {
|
||||||
|
early := now.Add(300 * time.Second)
|
||||||
|
|
||||||
|
if scheduled.Before(early) && scheduled.After(now) {
|
||||||
|
return true
|
||||||
|
} else {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user