GithubHelp home page GithubHelp logo

mj294 / tarrasch Goto Github PK

View Code? Open in Web Editor NEW

This project forked from thieman/tarrasch

0.0 2.0 0.0 28 KB

A Chess bot for Slack with graphical boards, win tracking, and automated analysis

License: MIT License

Python 100.00%

tarrasch's Introduction

Deploy

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.

Features

  1. Fully-functional chess engine with en passant, castling, minor promotion, all that good stuff
  2. Graphical boards courtesy of jinchess.com
  3. Keeps track of personal and org-wide records against each opponent
  4. Lets you undo moves for when your friends screw up algebraic notation
  5. Optional waiting period between moves to force you to get some amount of work done
  6. Uploads each game to lichess.org for analysis (sample)

Installation

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.

Configuration

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: chess.
  • TARRASCH_COOLDOWN_SECONDS: Number of seconds to wait after each move before accepting another move. Default: 0.

There are also various TARRASCH_REDIS_* variables for configuring the Redis connection, but if you're deployed on Heroku this should Just Work™.

Interaction Model

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.

Using Heroku Free Dynos

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.

tarrasch's People

Contributors

thieman avatar mj294 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.