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
usereq.log
for loggingmessenger-page-token
get the receiving page’s page access tokenmessenger-user-profile
get sender’s user profilemessenger-send
addsend
methodsmessenger-intl
i18n support
** Documentation is Work in Progress **
Installation
$ npm install --save messenger-core
Usage
const app = const messenger =
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
postback
and quick_reply
JSON payloads for 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