mastochess/README.md

105 líneas
3.3 KiB
Markdown

# 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](https://python-chess.readthedocs.io/en/latest/) 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](https://joinmastodon.org) 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](board.png)
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!