1
0
mirror of https://github.com/nikoksr/notify.git synced 2025-01-10 00:28:36 +02:00
notify/service/whatsapp/README.md

1.6 KiB

WhatsApp

go.dev reference

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:

  1. 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.

  1. 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("subject", "message")
        if err != nil {
                log.Fatalf("notifier.Send() failed: %s", err.Error())
        }

        log.Println("notification sent")
}