104 líneas
3,3 KiB
Markdown
104 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!
|