ringbuffer | ||
smshook | ||
go.mod | ||
README.md |
SMS Hook
What
The purpose of SmsHook is to provide a simple library that provides a webhook where texts can be send to it using something like Sms Forwarder.
How
This captures all the requests coming into /webhook with {"content":"%text"}
and puts them in a buffer.
There are 3 methods
GetLast
Get last returns the last sms received and its location in the buffer.
WaitForNew
WaitForNew keeps waiting for the next sms that will be send the the webhook
WaitForNewWithTimeout
Same thing as WaitForNew but stops after a set interval
EXAMPLE
package main
import (
"fmt"
"time"
"git.directme.in/Joren/SmsHook/smshook"
)
func main() {
smshook.Init(10, "0.0.0.0:8080")
t := smshook.WaitForNew()
fmt.Printf("Received new item: %s\n", t)
text, pos := smshook.GetLast()
fmt.Printf("Last item: %s, Position: %d\n",text,pos)
t2, s := smshook.WaitForNewWithTimeout(10 * time.Second)
if s {
fmt.Printf("Received new item: %s\n", t2)
} else {
fmt.Println("Timed out waiting for new item.")
}
}