A Nice bot for Slack
This repository has been archived on 2024-12-05. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2019-11-22 13:03:01 -06:00
cmd Make sure we request all required data 2019-11-22 12:50:34 -06:00
plugins_src AoC & Stats are working, I believe 2019-11-22 12:37:15 -06:00
.gitignore Working on things... Considering a slack library change 2019-11-21 11:09:06 -06:00
buildplugins.sh Initial Commit 2019-11-12 18:45:56 -06:00
interfaces.go AoC & Stats are working, I believe 2019-11-22 12:37:15 -06:00
package.sh AoC & Stats are working, I believe 2019-11-22 12:37:15 -06:00
README.md Add Readme 2019-11-22 13:03:01 -06:00

helperbot

Helperbot is a general purpose slack bot meant to be augmented by plugins.

It uses a bolt db for all data storage.

Installation

On first run, the app will prompt the user for:

  • Slack Token: The bot uses this to connect to your slack
  • Admin User DM ID: This is the 'admin users' DM ID, it's a 9 character Slack ID that starts with a D. This is the Direct Message ID for the admin user.

Included Plugins:

Advent of Code

On first run this plugin will prompt for:

  • Advent of Code Board ID

  • Advent of Code Session Cookie You'll need to just pull this out of your browser cookies, it's everything after the session= part.

  • Advent of Code Slack Channel ID This is the slack id that you want AoC updates posted too. It's also the channel that the bot will listen for !aoc top commands in

  • Channel Commands:

    • !aoc top : Print the top 5 for the most recent year
    • !aoc top <year> : Print the Top 5 for the given year
    • !aoc top all
  • Admin Commands:

    • !aoc ping : PONG!
    • !aoc session : Print the current AoC Session Cookie
    • !aoc session <session code> : Change the AoC Session cookie

If the plugin determines that the session cookie is invalid, it will stop trying to hit the API until the session cookie has been updated. It should notify the admin user if this occurs.

Stats

  • Admin Commands:
    • !stats lag : Print the latest latency value