dorkhub

lichess-bot

A bridge between Lichess bots and chess engines

lichess-bot-devs
Python1.1k561 forksAGPL-3.0updated 1 day ago
git clone https://github.com/lichess-bot-devs/lichess-bot.gitlichess-bot-devs/lichess-bot

lichess-bot

lichess-bot

A bridge between lichess.org and bots.
Explore lichess-bot docs »

Python Build Python Test Mypy

Overview

lichess-bot is a free bridge between the Lichess Bot API 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 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
  2. Create a lichess OAuth token
  3. Setup the engine
  4. Configure lichess-bot
  5. Upgrade to a BOT account
  6. Run lichess-bot

Advanced options


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 and his 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 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.

more like this

meine

meine 🌒 - A CLI file manager and system utility built with Textual. It combines intuitive command parsing with rich t…

Python50

search

search projects, people, and tags