Play with other fediverse users a Chess game! Mastodon Chess control games, players and boards and it post, graphically, every move to both players!
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
spla c3027ccd04 Detect if DST is in effect 5 months ago
app New feature! Added Elo rating system! 9 months ago
LICENSE Added LICENSE 10 months ago
README.md New feature! Added Elo rating system! 9 months ago
board.png board.png 10 months ago
db-setup.py New feature! Added Elo rating system! 9 months ago
mastochess.py Detect if DST is in effect 5 months ago
requirements.txt First functional but alpha stage release 10 months ago
setup.py Added pawn promotion and locales support! 10 months ago
smtp_setup.py New feature! %1 - send game anotations to players 10 months ago

README.md

Mastodon Chess

Play with other fediverse users a Chess game! Mastodon Chess control games, players and boards and even it post, graphically, every move to both players!
Mastodon Chess (mastochess) uses python-chess library.
Mastodon Chess uses Elo rating system to calculate the relative skill levels of fediverse players!

How to play:

  • To get help:

@your_bot_username help

  • To start a game:

@your_bot_username new

  • To make a move:

@your_bot_username move e2e4

  • To finish game at any time:

@your_bot_username end

  • To list on going games:

@your_bot_username games

  • To get any game anotations, in ex. game 1, in pgn format:

@your_bot_username send 1

  • To promote a pawn use first letter of desired piece:

@your_bot_username move g7g8r (if you want a rook)

n = knight
b = bishop
r = rook

Don't use q for queen. Pawn is promoted to Queen by default.

  • To claim a draw:

@your_bot_username draw

  • To get your panel stats:

@your_bot_username panel

  • To change the bot's language:

@your_bot_username conf en

Commands table

ca en es fr ex. Observ.
nova new nueva nouvelle
mou move mueve déplace e2e3
fi end fin fin
jocs games partidas parties
envia send envia envoyer 1 game number
taules draw tablas nulle
ajuda help ayuda aide
panell panel panel panneau
conf conf conf conf ca,es,fr,en

Dependencies

  • Python 3
  • Postgresql server
  • Mastodon's bot account
  • Mastodon server admin

Usage:

Within Python Virtual Environment:

  1. Run pip install -r requirements.txt to install needed Python libraries.

  2. Run python db-setup.py to setup and create new Postgresql database and needed tables in it.

  3. Run python smtp_setup.py to setup your smtp server, user and password. Needed to send game anotations to players.

  4. Run python setup.py to get your Mastodon's bot account tokens.

  5. Use your favourite scheduling method to set python mastochess.py to run regularly.

board

20.11.2020 - New feature! Added link to on going games in games list
21.11.2020 - New feature! Added a warning to player in turn when has been captured one of its pieces
23.11.2020 - New feature! Now all moves are saved to file (with san anotation).
25.11.2020 - New feature! Get any game anotations via email (see point 3 above).
27.11.2020 - New feature! Pawn promotion and locales support ( ca & eng )
28.11.2020 - New feature! Added 'es' locale support
28.11.2020 - New feature! Now any fediverse user can play Mastodon Chess!
28.11.2020 - New feature! Added help
03.12.2020 - New feature! Added pgn save & send support
04.12.2020 - New feature! Now players can claim a draw.
05.12.2020 - New feature! Add panel stats.
19.12.2020 - New feature! Now you can configure bot's language!
19.12.2020 - New feature! Added french language!
21.12.2020 - New feature! Added Elo rating system!