From 7d17744239abdbff2a8288b717f1a0ac933ad520 Mon Sep 17 00:00:00 2001 From: Joren Date: Sun, 16 Jun 2024 16:14:24 +0200 Subject: [PATCH] Update README.md --- README.md | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0461555..ebbbc29 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,47 @@ # 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). + +## 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.") + } +} +``` \ No newline at end of file