| <div align="center"> | |
|  | |
| <h1>lichess-bot</h1> | |
| A bridge between [lichess.org](https://lichess.org) and bots. | |
| <br> | |
| <strong>[Explore lichess-bot docs »](https://github.com/lichess-bot-devs/lichess-bot/wiki)</strong> | |
| <br> | |
| <br> | |
| [](https://github.com/lichess-bot-devs/lichess-bot/actions/workflows/python-build.yml) | |
| [](https://github.com/lichess-bot-devs/lichess-bot/actions/workflows/python-test.yml) | |
| [](https://github.com/lichess-bot-devs/lichess-bot/actions/workflows/mypy.yml) | |
| </div> | |
| ## Overview | |
| [lichess-bot](https://github.com/lichess-bot-devs/lichess-bot) is a free bridge | |
| between the [Lichess Bot API](https://lichess.org/api#tag/Bot) and chess engines. | |
| With lichess-bot, you can create and operate a bot on lichess. Your bot will be able to play against humans and bots alike, and you will be able to view these games live on lichess. | |
| See also the lichess-bot [documentation](https://github.com/lichess-bot-devs/lichess-bot/wiki) for further usage help. | |
| ## Features | |
| Supports: | |
| - Every variant and time control | |
| - UCI, XBoard, and Homemade engines | |
| - Matchmaking (challenging other bots) | |
| - Offering Draws and Resigning | |
| - Participating in tournaments | |
| - Accepting move takeback requests from opponents | |
| - Saving games as PGN | |
| - Local & Online Opening Books | |
| - Local & Online Endgame Tablebases | |
| Can run on: | |
| - Python 3.10 and later | |
| - Windows, Linux and MacOS | |
| - Docker | |
| ## Steps | |
| 1. [Install lichess-bot](https://github.com/lichess-bot-devs/lichess-bot/wiki/How-to-Install) | |
| 2. [Create a lichess OAuth token](https://github.com/lichess-bot-devs/lichess-bot/wiki/How-to-create-a-Lichess-OAuth-token) | |
| 3. [Setup the engine](https://github.com/lichess-bot-devs/lichess-bot/wiki/Setup-the-engine) | |
| 4. [Configure lichess-bot](https://github.com/lichess-bot-devs/lichess-bot/wiki/Configure-lichess-bot) | |
| 5. [Upgrade to a BOT account](https://github.com/lichess-bot-devs/lichess-bot/wiki/Upgrade-to-a-BOT-account) | |
| 6. [Run lichess-bot](https://github.com/lichess-bot-devs/lichess-bot/wiki/How-to-Run-lichess%E2%80%90bot) | |
| ## Advanced options | |
| - [Create a homemade engine](https://github.com/lichess-bot-devs/lichess-bot/wiki/Create-a-homemade-engine) | |
| - [Add extra customizations](https://github.com/lichess-bot-devs/lichess-bot/wiki/Extra-customizations) | |
| <br /> | |
| ## Acknowledgements | |
| Thanks to the Lichess team, especially T. Alexander Lystad and Thibault Duplessis for working with the LeelaChessZero team to get this API up. Thanks to [Niklas Fiekas](https://github.com/niklasf) and his [python-chess](https://github.com/niklasf/python-chess) code which allows engine communication seamlessly. | |
| ## License | |
| lichess-bot is licensed under the AGPLv3 (or any later version at your option). Check out the [LICENSE file](https://github.com/lichess-bot-devs/lichess-bot/blob/master/LICENSE) for the full text. | |
| ## Citation | |
| If this software has been used for research purposes, please cite it using the "Cite this repository" menu on the right sidebar. For more information, check the [CITATION file](https://github.com/lichess-bot-devs/lichess-bot/blob/master/CITATION.cff). | |