triagebot-example
triagebot-example copied to clipboard
A triage bot example for Slack
:construction: This repository is no longer being maintained. :construction:
@slackapi has a similar and more up-to-date :sparkles: version of this app at https://github.com/slackapi/template-triage-bot that uses functionality which predate this one, including Shortcuts, Granular Bot Scopes, and Bolt for Javascript.
What is a Triage Bot? 
After triggering this bot through a slash command, it will scan the last 1000 messages in the current channel and look for messages that contain certain emojis [configurable] in the text (not reactions). These messages will be grouped into statuses and reported to the user.
Statuses
- Pending - Messages pending review
- Review - Messages that are in review
- Addressed - Messages that have been addressed
Requirements
- A Slash Command setup on your Slack Team
- A Slack Bot Token or a token with at least the
channels:history
scope
Usage
Environment Variables
-
TOKEN
- The Slack token -
PORT
- The webserver port -
LOCALE
- The preferred locale. Defaults toen
Starting
TOKEN=xoxp-XXXXXXXXXX PORT=3000 LOCALE=pirate npm start
Contents
- index.js - A very basic webserver and http client to post back to Slack
- triage.js - The main functionality lies here. Pass in the Slash command payload, the channel history, and optionally any settings overrides. You'll get a formatted Slack message with the results.
API
let message = triage(
payload, // The payload from the Slack slash command
messages, // An array of slack messages to triage
settings // Any settings overrides to apply [optional]
);
Settings
You can adjust the messages, emoji, and reactjis by updates the settings.json file or passing in any overrides you'd like to the main function.
triage(payload, messages, {
display: [ "pending", "review" ]
});
Private Response
Public Response
Existing Apps
Already have an app and just want the Triage builder? No problem, you could require this package or copy the contents from triage.js.