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

private-safesupport-bot

v2.0.2

Published

Chatbot to manage interactions on Safe Support Chat

Downloads

24

Readme

Safe Support Chat Bot

A simple Matrix bot that handles inviting, uninviting, and notifying Riot users on the recieving end of the Safe Support chatbox.

The bot can be configured with an .env file with the following variables:

MATRIX_SERVER_URL=
BOT_DISPLAY_NAME=
BOT_USERNAME=
BOT_PASSWORD=
BOT_USERID=
FACILITATOR_ROOM_ID=
CHAT_OFFLINE_MESSAGE=
CAPTURE_TRANSCRIPTS=

What does the bot do?

  • The bot receives an invitation to every chatroom created by the embedded chatbox, and automatically accepts
  • Upon joining a new room, the bot invites all of the members of the Facilitators community
  • When the first facilitator accepts the invitation, the bot uninvites the rest of the facilitators
  • The bot notifies the Support Chat Notifications chatroom when there is a support request and when a facilitator joins
  • If there are no facilitators online, the bot notifies the support seeker
  • The bot makes the facilitator a moderator of the chatroom so they can change the room settings (i.e. room name)
  • The bot listens to all the incoming messages and prints them to a transcript if that setting is enabled (CAPTURE_TRANSCRIPT)
  • Messages that start with !bot are treated as commands.
  • The bot sends a notification to the support chatroom and the Support Chat Notifications room if it crashes
  • On startup, the bot deletes all of the old device IDs for its account

Bot commands

|Command|Response| --- | --- |!bot hi|Bot responds with a greeting| |!bot transcript|Bot sends the chat transcript as a .txt file| |!bot transcript please|Bot happily sends the transcript :)|

Local development

If you prefer to develop locally instead of on Glitch:

Clone the project

git clone https://github.com/nomadic-labs/safesupport-bot.git

Install dependencies

cd safesupport-bot
yarn

Copy the sample .env file and add in your own variables

cp .env.sample .env

Start the local server

yarn develop

Run the tests

yarn test

Production build

yarn build