My weekend project aimed to help me learn Go while having some fun. Makes good use of goroutines, channels, function signatures, slices, etc. It has its own database (leveldb), downloads images from the web and converts them to ASCII, plays/streams concurrent ASCII animations into posts (by posting and editing a message in the channel repeatedly), etc. I spent some time cleaning up the code (mostly to learn) but I'm sure it can be improved a lot. Enjoy!
A Slack bot written in go with its own database that can help you pick random teams (e.g. for foosball, code reviews, etc.).
It features a number of ASCII art and animation experiments, along with the ability to create custom named groups and put/get values.
The bot uses reactions to confirm commands (or say they don't work) to not spam the channel.
Try the following commands:
put key value
get key
group groupname list
group groupname create @user1 @user2 @user3 ...
group groupname add @user1 @user2 @user3 ...
group groupname remove @user1 @user2 @user3 ...
score add team1:team2 score1:score2
score get team2:team1
score reset team2:team1
randompairs @user1 @user2 @user3 ...
randompairs group
randomteams teamsize @user1 @user2 @user3 ...
randomteams teamsize group
ascii https://imageurl
shark
animate
Check out this great tutorial: https://rsmitty.github.io/Slack-Bot/