A Chess bot for Slack. Uses a fully-functional chess engine, graphical boards (none of that low-budget ASCII stuff), keeps track of your record against your friends and coworkers, and automatically uploads each game to lichess.org for analysis.
Basic setup requires a Slack bot token. A Redis instance is also required, which is set up for you if you're running on Heroku. Once the bot is online, enter a channel with it and say
chess help to see the command list.
Tarrasch is configured through environment variables.
TARRASCH_MESSAGE_PREFIX: Set the word Tarrasch listens for at the beginning of your messages to know you're talking to it. Default:
TARRASCH_COOLDOWN_SECONDS: Number of seconds to wait after each move before accepting another move. Default:
There are also various
TARRASCH_REDIS_* variables for configuring the Redis connection, but if you're deployed on Heroku this should Just Work™.
To keep things simple, Tarrasch can manage one game per channel it is in. The recommended way of playing a game is to invite your opponent and Tarrasch to a group DM. You can also play in public channels if you want an audience, but only one game can go on in that channel at a time.
You'll need to take Tarrasch offline for 6 hours a day if you plan to deploy it on Heroku free dynos. See the scaling doc for more information.