From e4b6b191f01b7ed71ecb05f92f58501dec692f14 Mon Sep 17 00:00:00 2001 From: phoenix Date: Sat, 29 Nov 2025 13:46:14 -0500 Subject: [PATCH] Added scheduling check --- swoop/send/sender.go | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/swoop/send/sender.go b/swoop/send/sender.go index a809a67..e6e05e8 100644 --- a/swoop/send/sender.go +++ b/swoop/send/sender.go @@ -14,6 +14,7 @@ import ( "git.kundeng.us/phoenix/swoosh/swoop/types" ) + type MessageSender struct { Config *config.TwiloConfig } @@ -33,10 +34,8 @@ func (m *MessageSender) Send(msg message.Message, number contact.Contact, sendTi params.SetFrom(m.Config.Number) params.SetMessagingServiceSid(m.Config.ServiceSID) params.SetBody(msg.Content) - if sendTime != nil { - if sendTime.After(now) { - params.SetSendAt(*sendTime) - } + if sendTime != nil && isSchedulable(now, sendTime) { + params.SetSendAt(*sendTime) } 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 + } +}