messenger-core

0.1.2 • Public • Published

Build Status NPM version Greenkeeper badge

messenger-core

Write-once, run anywhere Messenger bots, powered by plugins.

Features

  • Universal. Build your bot once, run it anywhere. Works with Micro, Express, Koa, Restify, Hapi and any other web framework.
  • Powered by plugins. Build your bot with re-usable plugins, or write and share your own.
  • Solid. 100% test coverage.

Implementations

Framework Package Links
Express express-messenger Github · NPM
HAPI hapi-messenger TBD
Koa koa-messenger TBD
Micro micro-messenger Github · NPM
Restify express-messenger Github · NPM

Architecture

+--------+--------+--------+--------+--------+
| plugin | plugin | plugin | plugin | plugin |
+--------+--------+--------+--------+--------+
|               messenger-core               |
+--------------------------------------------+
----------- ----------- ----------- ----------
  express      micro        koa        hapi
----------- ----------- ----------- ----------

Plugins

Plugins add useful features and functionality to your bot. They are the central building blocks that make your bot a bot.

  • messenger-req-log use req.log for logging
  • messenger-page-token get the receiving page’s page access token
  • messenger-user-profile get sender’s user profile
  • messenger-send add send methods
  • messenger-intl i18n support

** Documentation is Work in Progress **

Installation

$ npm install --save messenger-core

Usage

const app = require('express')()
const messenger = require('messenger-core')
 
 

Message Types

Postback message

{
  topic: 'postback.SHOW_FLIGHTS'
  data:  <parsed JSON payload>
}

quick_reply message

{
  topic: 'quick_reply.BOOK_FLIGHT'
  data:  <parsed JSON payload>
}

Text message

{
  topic: 'text'
  data:  'Hello, World!'
}

Use cases for plugins

  • Load the user’s profile data from facebook
  • Store user data in your own database

JSON payloads for postback and quick_reply

Supported Events

| Webhook Event | Description | |-------------------------------------------------------------------------------| | messages ✓ | Subscribes to Message Received events | | message_deliveries | Subscribes to Message Delivered events | | message_reads | Subscribes to Message Read events | | message_echoes | Subscribes to Message Echo events | | messaging_postbacks ✓ | Subscribes to Postback Received events | | messaging_optins ✓ | Subscribes to Plugin Opt-in events | | messaging_referrals ✓ | Subscribes to Referral events | | messaging_checkout_updates (BETA) | Subscribes to Checkout Update events | | messaging_payments (BETA) | Subscribes to Payment events | | messaging_account_linking | Subscribes to Account Linking events | | messaging_policy_enforcement | Subscribes to Policy Enforcement events |

License

MIT © Andreas Pizsa

Readme

Keywords

Package Sidebar

Install

npm i messenger-core

Weekly Downloads

2

Version

0.1.2

License

MIT

Last publish

Collaborators

  • andreaspizsa