SmsHook/README.md
2024-06-16 16:14:24 +02:00

47 lines
1.1 KiB
Markdown

# 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](https://github.com/bogkonstantin/android_income_sms_gateway_webhook).
## 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
```go
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.")
}
}
```