npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

messenger-core

v0.1.2

Published

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

Downloads

10

Readme

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