Reginald analyzes Slack chat history to provide users with an overview of how their in-chat behavior is perceived by other users. Metrics returned include participation, positivity, negativity, and conceit. The metrics are calculated using only the last 1000 posts in the current channel. This means a user's scores will be different in each channel and will change over time.
Click the below link to install the app
Reginald gives you information about your in-chat behavior. He analyzes 4 metrics: participation, positivity, negativity, and conceit. He can return a report with any combination of these metrics. Reports are private by default, but can be made public by adding "public" to the command
- Get full report
/reginald
- Get only participation
/reginald participation
- Get participation and positivity
/reginald participation positivity
- Make a report public
/reginald public participation
To install the app to a Slack channel use the Installation instructions provided above. To deploy your own version of the app in AWS follow the below instructions.
- Node.js/npm
- git
- Install Serverless globally
npm install -g serverless
- Clone the repository then change directories to the project root
git clone https://github.com/asmith60/slackbot-reginald.git
cd slackbot-reginald
- Create and populate a .env file at the root of the project - See below section on Environment Variables
touch .env
- Set AWS credentials - The user must have rights to create the necessary resources
export AWS_ACCESS_KEY_ID=[Key goes here]
export AWS_SECRET_ACCESS_KEY=[Secret key goes here]
- Deploy AWS resources using Serverless - By default resources will be created in the us-west-2 region. This can be overridden on the command line with the "-r" flag. See Serverless CLI Reference
sls deploy
- The above command will output the public endpoints used by the app to accept requests. From here you can hook the app up to a custom integration in Slack, or test the app by itself by sending JSON requests to the endpoints.
To set environment variables that can be referenced in the Lambda functions, you must create and populate a file called .env in the root of the project. The current list of configurable environment variables can be found below.
- AWS_ACCOUNT_ID: ID of the AWS account that resources are deploying to Required
- BOT_NAME: Name of the Slackbot - Default is "slackbot-reginald"
- CLIENT_ID: ID issued by Slack to the integration Required
- CLIENT_SECRET: Secret issued by Slack to the integration Required
- CHANNEL_HISTORY_ENDPOINT: URI that can be called to get Slack channel history - Default is "channels.history"
- DEV_TOKEN: Developer token issued by Slack for testing integrations - If a developer token is provided, it will be used. Otherwise, the app will go through the normal OAuth flow
- OAUTH_ACCESS_ENDPOINT: URI that can be called to get a Slack OAuth token - Default is "oauth.access"
- TEAMS_TABLE_NAME: Name of the DynamoDB table used to store team OAuth info - Default is "Teams"
- VERIFY_TOKEN: Verification token issued by Slack to the integration Required
EXAMPLE .env file:
CHANNEL_HISTORY_ENDPOINT=channels.history
OAUTH_ACCESS_ENDPOINT=oauth.access
AWS_ACCOUNT_ID=123456
CLIENT_ID=123456
CLIENT_SECRET=123456
VERIFY_TOKEN=123456
If you find a bug in the project or a mistake in the documentation, you can help us by submitting an issue to the slackbot-reginald repository . Even better you can submit a pull request with a fix :) !
You can request a new feature by submitting an issue to the slackbot-reginald repository .