__mocks__ | ||
dist | ||
src | ||
transcripts | ||
.gitignore | ||
Dockerfile | ||
package.json | ||
README.md | ||
sample.config.json | ||
webpack.config.js | ||
yarn.lock |
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 configuration file is config.json
. It can also pull in user-set configurations from the Safe Support Chat Admin app. To do so, run the command yarn setup
before starting the bot.
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/Safe-Support-Chat/ocrcc-bot.git
Install dependencies
cd safesupport-bot
yarn
Copy the sample config file and add in the missing values.
cp sample.config.json config.json
Pull in the user-defined settings (if there are any).
yarn setup
Start the local server
yarn develop
Run the tests
yarn test
Production build
yarn build