slack-up-bot

Bot for slack and running standups

Usage no npm install needed!

<script type="module">
  import slackUpBot from 'https://cdn.skypack.dev/slack-up-bot';
</script>

README

Slackup Bot

This bot helps teams coordinate slackups, it is a simple bot that collects reports from users and flushes them out at once. This allows all the info to be colocated while allowing for async input.

Usage

Input

Messaging the bot with a message that starts with y: and/or t: will add your message for what you did yesterday or will do today respecively. It stores these until the channel is flushed. This means you can input it the day before, or even a week or weekend before.

When you message the bot it'll echo back to you what it has so you can confirm it's being stored correctly.

Why two fields? Often people will put in their Y on the same day they did the work and their T on the following day.

In the channel

The bot can be configured to say who has already put in slackups at any time of day. This is meant as a gentile nudge for other people to put theirs in. It doesn't call people out explicitly because it has no way of knowing who's in that day or not. It also doesn't notify people so that there's not too much notification spam.

If you want to know who's slacked up in the channel, at any point you can do

@slackupbot current

This will list all the people who have entered it so far today.

At any point you can flush all the slackups at once with this command.

@slackupbot flush

You can setup the bot to notify reminders whenever you want and use logic to determine when.

Development

The external dependencies for running the bot are

  1. Slack's API
  2. MySQL

All of these are configured by the environment variables as described in the sample .env.sample dotenv file.

To easily pass these to command commands check out the dotenv-shell tool. VS Code also allows the usage of these tools built-in.

To dev on slack I recommend you make a free slack of your own to dev on.

MySQL Dev

❯ docker-compose --file development/docker-compose-database.yml up

This command will load up a new mysql db with all the scemas described in /config/schema.

Server Dev

First you need to build the typescript

yarn build -w

Then you can run the server with

yarn run