Merge remote-tracking branch 'origin/main'

This commit is contained in:
Joren 2024-06-18 17:38:56 +02:00
commit e0e5a72e90
Signed by: Joren
GPG Key ID: 280E33DFBC0F1B55

View File

@ -1,4 +1,47 @@
# SMS Hook # SMS Hook
## What? ## 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). 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.")
}
}
```