maciekmm / Messenger Platform Go Sdk
Licence: mit
✉️ A GO SDK for Facebook's messenger-platform: https://developers.facebook.com/docs/messenger-platform
Stars: ✭ 105
Programming Languages
go
31211 projects - #10 most used programming language
Projects that are alternatives of or similar to Messenger Platform Go Sdk
Rubotnik
"Bot-end" Ruby framework to quickly build and launch a Facebook Messenger chatbot
Stars: ✭ 191 (+81.9%)
Mutual labels: messenger, messenger-platform
Wire Ios
📱 Wire for iOS (iPhone and iPad)
Stars: ✭ 3,079 (+2832.38%)
Mutual labels: messenger, messenger-platform
Messenger4j
A Java library for building Chatbots on the Facebook Messenger Platform - easy and fast.
Stars: ✭ 199 (+89.52%)
Mutual labels: messenger, messenger-platform
Jquery.fbmessenger
Fake Facebook Messenger interactions on an iPhone with a simple jQuery plugin!
Stars: ✭ 130 (+23.81%)
Mutual labels: messenger, messenger-platform
Fbbot
Minimal framework/SDK for facebook messenger bots. BYOS (Bring Your Own Server)
Stars: ✭ 46 (-56.19%)
Mutual labels: sdk, messenger-platform
React Messenger Customer Chat
React component for messenger customer chat plugin
Stars: ✭ 221 (+110.48%)
Mutual labels: messenger, messenger-platform
facebook-send-api-emulator
Facebook Messenger Emulator & Facebook Send API Emulator functionality allowing you to test web hooks on developer's machine.
Stars: ✭ 24 (-77.14%)
Mutual labels: messenger, messenger-platform
Pymessager
Python API to develop chatbot on Facebook Messenger Platform
Stars: ✭ 580 (+452.38%)
Mutual labels: sdk, messenger
Chat Sdk Ios
Chat SDK iOS - Open Source Mobile Messenger
Stars: ✭ 813 (+674.29%)
Mutual labels: sdk, messenger
Applozic Android Sdk
Android Real Time Chat & Messaging SDK
Stars: ✭ 611 (+481.9%)
Mutual labels: messenger, messenger-platform
Chaskiq
A full featured Live Chat, Support & Marketing platform, alternative to Intercom, Drift, Crisp, etc ...
Stars: ✭ 1,263 (+1102.86%)
Mutual labels: messenger, messenger-platform
Chatblocks
Declarative Messenger chatbot framework
Stars: ✭ 48 (-54.29%)
Mutual labels: messenger, messenger-platform
Chat Sdk Android
Chat SDK Android - Open Source Mobile Messenger
Stars: ✭ 1,496 (+1324.76%)
Mutual labels: sdk, messenger
Quickblox Javascript Sdk
JavaScript SDK of QuickBlox cloud backend platform
Stars: ✭ 98 (-6.67%)
Mutual labels: sdk
Applicationinsights Php
Azure Application Insights SDK for PHP
Stars: ✭ 98 (-6.67%)
Mutual labels: sdk
Flickr Sdk
Almost certainly the best Flickr API client in the world for node and the browser
Stars: ✭ 104 (-0.95%)
Mutual labels: sdk
Messenger Platform Go SDK
A Go SDK for the Facebook Messenger Platform.
Installation
go get gopkg.in/maciekmm/messenger-platform-go-sdk.v4
Usage
The main package has been named messenger
for convenience.
Your first step is to create Messenger
instance.
import "gopkg.in/maciekmm/messenger-platform-go-sdk.v4"
//...
messenger := &messenger.Messenger {
VerifyToken: "VERIFY_TOKEN/optional",
AppSecret: "APP_SECRET/optional",
AccessToken: "PAGE_ACCESS_TOKEN",
Debug: messenger.DebugAll, //All,Info,Warning
}
Parameters
-
VerifyToken
is the token needed for a verification process facebook performs. It's only required once. Optional. -
AppSecret
is the Application Secret token. It's used for message integrity check. Optional. -
AccessToken
is required to send messages. You can find this token in your app developer dashboard underMessenger
tab. -
Debug
is used for setting debug mode type as described on https://developers.facebook.com/docs/graph-api/using-graph-api#debugging. Optional.
The next step is to hook up the handler to your HTTP server.
//hook up
http.HandleFunc("/webhook", messenger.Handler)
//start the server
http.ListenAndServe(":5646", nil)
The next step is to subscribe to an event, to do that you have to hook up your own handler.
messenger.MessageReceived = MessageReceived
//...
func MessageReceived(event messenger.Event, opts messenger.MessageOpts, msg messenger.ReceivedMessage) {
//do stuff
}
Sending messages
Example
Check more examples in examples folder.
var mess = &messenger.Messenger{
AccessToken: "ACCESS_TOKEN",
}
func main() {
mess.MessageReceived = MessageReceived
http.HandleFunc("/webhook", mess.Handler)
log.Fatal(http.ListenAndServe(":5646", nil))
}
func MessageReceived(event messenger.Event, opts messenger.MessageOpts, msg messenger.ReceivedMessage) {
profile, err := mess.GetProfile(opts.Sender.ID)
if err != nil {
fmt.Println(err)
return
}
resp, err := mess.SendSimpleMessage(opts.Sender.ID, fmt.Sprintf("Hello, %s %s, %s", profile.FirstName, profile.LastName, msg.Text))
if err != nil {
fmt.Println(err)
}
fmt.Printf("%+v", resp)
}
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].