0.1.2 • Published 7 years ago

messenger-core v0.1.2

Weekly downloads
5
License
MIT
Repository
github
Last release
7 years ago

Build Status npm.io 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

FrameworkPackageLinks
Expressexpress-messengerGithub · NPM
HAPIhapi-messengerTBD
Koakoa-messengerTBD
Micromicro-messengerGithub · NPM
Restifyexpress-messengerGithub · 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 EventDescription
messagesSubscribes to Message Received events
message_deliveriesSubscribes to Message Delivered events
message_readsSubscribes to Message Read events
message_echoesSubscribes to Message Echo events
messaging_postbacksSubscribes to Postback Received events
messaging_optinsSubscribes to Plugin Opt-in events
messaging_referralsSubscribes to Referral events
messaging_checkout_updates (BETA)Subscribes to Checkout Update events
messaging_payments (BETA)Subscribes to Payment events
messaging_account_linkingSubscribes to Account Linking events
messaging_policy_enforcementSubscribes to Policy Enforcement events

License

MIT © Andreas Pizsa