70 líneas
1,9 KiB
Markdown
70 líneas
1,9 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.
|
|
|
|
### How to play:
|
|
|
|
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:
|
|
|
|
@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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 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
|