/messenger

Package messenger is used for making bots for use with Facebook messenger

Primary LanguageGoMIT LicenseMIT

Messenger GoDoc Build Status

This is a Go library for making bots to be used on Facebook messenger. It is built on the Messenger Platform. One of the main goals of the project is to implement it in an idiomatic and easy to use fashion.

You can find examples for this library here.

We tag our releases Semver style.

Tips

  • Follow the quickstart guide for getting everything set up!
  • You need a Facebook development app, and a Facebook page in order to build things.
  • Use ngrok to tunnel your locally running bot so that Facebook can reach the webhook.

Breaking Changes

In January 2019 we began tagging releases so that the package could be used properly with Go modules. Prior to that we simply maintained the following list to help users migrate between versions, it's staying here for legacy reasons. From now on, however, you should find breaking changes in the notes of a new release.

paked/messenger is a pretty stable library, however, changes will be made which might break backwards compatibility. For the convenience of its users, these are documented here.

  • 06/2/18: Added messaging_type field for message send API request as it is required by FB
  • 23/1/17: Updating timezone type to float64 in profile struct
  • 12/9/16: Removing unused parameter text string from function (r *Response) GenericTemplate.
  • 20/5/16: Leaving the WebhookURL field blank in Options will yield a URL of "/" instead of a panic.
  • 4/5/16: The URL to use for the webhook is changable in the Options struct.

Inspiration

Messenger takes design cues from:

Projects

This is a list of projects use messenger. If you would like to add your own, submit a Pull Request adding it below.

  • meme-maker by @paked: A bot which, given a photo and a caption, will create a macro meme.
  • drone-facebook by @appleboy: Drone.io plugin which sends Facebook notifications