mirror of
https://github.com/nikoksr/notify.git
synced 2024-12-10 10:10:24 +02:00
.. | ||
doc.go | ||
mock_whatsappClient.go | ||
README.md | ||
whatsapp_test.go | ||
whatsapp.go |
Prerequisites
You will need a registered WhatsApp phone number to be used as source for sending WhatsApp messages.
Usage
In the current implementation, authentication is implemented using 2 ways:
-
Scanning QR code from terminal using a registered WhatsApp device.
- Go to WhatsApp on your device.
- Click on the ellipsis icon (3 vertical dots) on top right, then click on "WhatsApp Web".
- Click on the "+" icon and scan the QR code from terminal.
Refer: Login (go-whatsapp) and sigalor/whatsapp-web-reveng for more details.
- Providing the Session credentials explicitly.
package main
import (
"log"
"github.com/nikoksr/notify"
"github.com/nikoksr/notify/service/whatsapp"
)
func main() {
whatsappSvc, err := whatsapp.New()
if err != nil {
log.Fatalf("whatsapp.New() failed: %s", err.Error())
}
err = whatsappSvc.LoginWithQRCode()
if err != nil {
log.Fatalf("whatsappSvc.LoginWithQRCode() failed: %s", err.Error())
}
whatsappSvc.AddReceivers("Contact1")
notifier := notify.New()
notifier.UseServices(whatsappSvc)
err = notifier.Send(context.Background(), "subject", "message")
if err != nil {
log.Fatalf("notifier.Send() failed: %s", err.Error())
}
log.Println("notification sent")
}