0.1.2 • Published 8 years ago
messenger-core v0.1.2
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-logusereq.logfor loggingmessenger-page-tokenget the receiving page’s page access tokenmessenger-user-profileget sender’s user profilemessenger-sendaddsendmethodsmessenger-intli18n support
Documentation is Work in Progress
Installation
$ npm install --save messenger-coreUsage
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