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

@urbanriskmap/cognicity-bot-core

v1.1.5

Published

Core language functionality for CogniCity chatbots

Downloads

4

Readme

Build Status Coverage Status License: GPL v3

CogniCity Bot Core Package

Core language functionality for CogniCity chatbots

About

NodeJS package to create language for CogniCity chatbots operating on social media:

  • can fetch report card from CogniCity server and prepare a unique link for user to submit flood report
  • composes thank you message containing unique report ID
  • provides default message to send to users

Installation

npm i cognicity-bot-core

Use

import Bot from 'cognicity-bot-core';

// Messages object provides the bot with a vocabulary
const messages = {
    en: {
      texts: {
        default: "RiskMap bot helps you report flooding in realtime. Send /flood to report. In life-threatening situations call 911.",
        card: "Please report using this one-time link ",
        thanks: "Thank you for your report. You can access it using this link "
      }
    }
}

// Configuration object
const config = {
    CARDS_API: 'https://data.cognicity.com/cards/', // CogniCity data server cards endpoint
    CARDS_API_KEY: '123',                           // CogniCity data server API key
    CARDS_URL: 'https://cards.cognicity.com/',      // Client URL for cards resources
    DEFAULT_LANGUAGE: 'en',                         // Default language for messages
    MAP_URL: 'https://map.cognicity.com/',          // Client URL for map
    MESSAGES: messages                              // Vocabulary object created above
}

// Initialize
const bot = new Bot(config);

// Get a default message
const properties = {
    language: 'id'      // language of the user
}
const message = bot.default(properties);

// Get a report card message (bot will make a request to CogniCity server)
const properties = {
    language: 'id',     // language of the user
    network: 'twitter'  // user's network 
}
const message = bot.card(properties);

console.log(message.text); // language to send to user
console.log(message.link); // link to send to user

// Get a thank you message for a specified report
const properties = {
    language: 'id',             // language of the user
    instanceRegionCode: 'jbd',  // CogniCity instance region of the report
    reportId: '1'               // CogniCity report id
}
const message = bot.thanks(properties);

console.log(message.text); // language to send to user
console.log(message.link); // link to send to user

Tests

npm run test

Build

npm run build

Code Style

  • Google ES6 specification

Release

The release procedure is as follows:

  • Update the CHANGELOG.md file with the newly released version, date, and a high-level overview of changes. Commit the change.
  • Create a tag in git from the current head of master. The tag version should be the same as the version specified in the package.json file - this is the release version.
  • Update the version in the package.json file and commit the change.
  • Further development is now on the updated version number until the release process begins again.