abhinavdahiya / go-messenger-bot

Golang bindings for the Messenger Bot API

Home Page:https://godoc.org/github.com/abhinavdahiya/go-messenger-bot

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Golang bindings for the Messenger Bot API

The scope of this project is just to provide a wrapper around the API without any additional features.

Example

This is a very simple bot that just displays any gotten updates, then replies it to it.

package main

import (
	"log"
    "net/http"
	"github.com/abhinavdahiya/go-messenger-bot"
)

func main() {
	bot := mbotapi.NewBotAPI("ACCESS_TOKEN", "VERIFY_TOKEN")

	callbacks, mux := bot.SetWebhook("/webhook")
	go http.ListenAndServeTLS("0.0.0.0:8443", "cert.pem", "key.pem", mux)

    for callback := range callbacks {
        log.Printf("[%#v] %s", callback.Sender, callback.Message.Text)

        msg := mbotapi.NewMessage(callback.Message.Text)
        bot.Send(callback.Sender, msg, mbotapi.RegularNotif)
    }
}

Facebook messenger webhook needs a certificate certified by known CA, Now that Let's Encrypt has entered public beta, you may wish to generate your free TLS certificate there.

Inspiration

Messenger takes design cues from:

About

Golang bindings for the Messenger Bot API

https://godoc.org/github.com/abhinavdahiya/go-messenger-bot

License:MIT License


Languages

Language:Go 100.0%