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

machaao

v0.2.2

Published

Build, develop and rapidly launch personalized chatbots on Web and Android via MessengerX.io

Downloads

42

Readme

alt text

Gitter

Build, Grow and Monetize Personalized Chatbots

NodeJS package for MACHAAO aka MessengerX.io npm module for building personalized chatbots on web and beyond

Documentation

  • Visit https://messengerx.rtfd.io/ for full documenation.

Installation

npm i --save machaao

Quick Start Guide

  • Register via MessengerX Developer Portal and verify your account.

  • Create a new bot by clicking on 'Add New App'

    alt text

  • You can set Webhook and Image Url as None till deployment of your Chat App to get started.

  • Once your bot is created, click on Settings and copy 'Token' value.

  • Install npm package in your server file by running npm i --save machaao

  • Initialize the MessengerX SDK as show in the example below which takes in the Token that you copied in the above step, and server object. Currently our SDK supports express server object and other libraries will be supported in upcoming releases:

const MxSdk = require('machaao');
const express = require('express');
const server = express();
const lib = new MxSdk('<----Bot Token----->', 'prod', server);

server.listen(3000);
  • Once you have initialised the SDK, you can easily read incoming user messages and send responses back to the user (Simple Text, Buttons, Quick Replies and Carousel)
  • In order for the integration to be complete, you will need to update your bot settings in portal and update the Webhook Url with your server url and endpoint. (You may choose to use Ngrok.io for development purpose to test the integration.)
  • Check out below sample that shows how you can setup a webhook that accepts incoming user message and responds back to the user.
const MxSdk = require('machaao');
const express = require('express');
const server = express();
const lib = new MxSdk('<---Bot Token---->', 'prod', server);

server.post('/incoming', async (req, res) => {
	let x = await lib.getUserMessages(req); // read incoming user messages
	await lib.sendTextMessage(req, 'hi');
	await lib.sendButtonsOrQuickRepliesMessage(
		req,
		'test buttons',
		[{ title: 'button', type: 'postback', payload: 'Hi' }], // sample buttons
		[{ title: 'qr', content_type: 'text', payload: 'qr' }] // sample quick reply
	);

	//sample carousel
	await lib.sendCarousel(req, 'test carousel', [
		{
			title: 'title',
			subtitle: 'subtitle',
			image_url: 'https://provogue.s3.amazonaws.com/provogue-duffle1.jpg',
			buttons: [{ title: 'button', type: 'postback', payload: 'Hi' }],
		},
		{
			title: 'title',
			subtitle: 'subtitle',
			image_url: 'https://provogue.s3.amazonaws.com/provogue-duffle1.jpg',
			buttons: [{ title: 'button', type: 'postback', payload: 'Hi' }],
		},
		{
			title: 'title',
			subtitle: 'subtitle',
			image_url: 'https://provogue.s3.amazonaws.com/provogue-duffle1.jpg',
			buttons: [{ title: 'button', type: 'postback', payload: 'Hi' }],
		},
	]);

	res.send(200);
});

server.listen(3000);

Support

For any queries or questions, please write to [email protected] to reach us.

Release Notes

v 0.2.1

  • Added support for User Tags API.
  • Better API response handling