{"id":41727915,"url":"https://github.com/tailuge/bot-o-tron","last_synced_at":"2026-01-24T23:18:04.206Z","repository":{"id":42211499,"uuid":"129897741","full_name":"tailuge/bot-o-tron","owner":"tailuge","description":"Try out lichess' bot interface","archived":false,"fork":false,"pushed_at":"2025-03-09T06:18:49.000Z","size":716,"stargazers_count":38,"open_issues_count":33,"forks_count":25,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-09T07:21:57.900Z","etag":null,"topics":["chess","chess-engine","javascript","lichess","lichess-api"],"latest_commit_sha":null,"homepage":"https://bot-o-tron.onrender.com/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tailuge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-04-17T12:01:08.000Z","updated_at":"2025-01-24T09:24:20.000Z","dependencies_parsed_at":"2023-02-05T02:02:19.437Z","dependency_job_id":"708615ab-851f-4248-a3c2-e397f41377a9","html_url":"https://github.com/tailuge/bot-o-tron","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tailuge/bot-o-tron","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailuge%2Fbot-o-tron","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailuge%2Fbot-o-tron/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailuge%2Fbot-o-tron/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailuge%2Fbot-o-tron/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tailuge","download_url":"https://codeload.github.com/tailuge/bot-o-tron/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailuge%2Fbot-o-tron/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28738980,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T22:12:27.248Z","status":"ssl_error","status_checked_at":"2026-01-24T22:12:10.529Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chess","chess-engine","javascript","lichess","lichess-api"],"created_at":"2026-01-24T23:18:03.636Z","updated_at":"2026-01-24T23:18:04.137Z","avatar_url":"https://github.com/tailuge.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bot-o-tron\n\n[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=tailuge_bot-o-tron\u0026metric=code_smells)](https://sonarcloud.io/summary/new_code?id=tailuge_bot-o-tron)\n[![codecov](https://codecov.io/gh/tailuge/bot-o-tron/branch/master/graph/badge.svg?token=qlSyYVeGdi)](https://codecov.io/gh/tailuge/bot-o-tron)\n[![CodeFactor](https://www.codefactor.io/repository/github/tailuge/bot-o-tron/badge)](https://www.codefactor.io/repository/github/tailuge/bot-o-tron)\n[![Open in Gitpod](https://img.shields.io/badge/Gitpod-Open%20in%20Gitpod-%230092CF.svg)](https://gitpod.io/#https://github.com/tailuge/bot-o-tron)\n\nThis project creates a simple chess bot using javascript that\nconnects to [lichess'](https://lichess.org)\nbot interface \u003chttps://lichess.org/api#tag/Bot\u003e .\nThis project can be hosted free on cloud providers such as [render.com](https://render.com).\n\n* Play against this bot unrated now on lichess at [@bot-o-tron](https://lichess.org/@/bot-o-tron)\n\n## Setup\n\n* Get an [API token](https://lichess.org/account/oauth/token) from lichess.org\nand add it as an environment variable on your machine or cloud hosting provider.\n\n```bash\n$ nvm use v18.16.1\n$ yarn install\n\n# Linux\n$ export API_TOKEN=xxxxxxxxxx\n\n# Windows\n$ setx API_TOKEN xxxxxxxxxx\n```\n\n## Run\n\nThe project runs as an express node server that connects\nto the lichess BOT account using the API_TOKEN\n\n```bash\nyarn start\n```\n\n## Local unit tests and code coverage\n\n```bash\nyarn test\n```\n\nTo implement your chess bot you only need to create one class\nthat implements the method:\n\n```js\n  getNextMove(moves) {\n      return uciMove;\n  }\n```\n\nWhere moves is a list of moves so far in uci format e.g. `[\"e2e4\", \"b8c6\", \"f2f4\"]`\n\nSee [`RandomPlayer`](src/bots/RandomPlayer.js) for minimal implementation\nusing [chess.js](https://github.com/jhlywa/chess.js/blob/master/README.md)\n\n## Free Cloud Hosting\n\nIf you register a free render.com account you can host a BOT like this one\nas is - just add your `API_TOKEN` to the environment property configuration.\nThis code auto deploys and is live at \u003chttps://bot-o-tron.onrender.com/\u003e\n\n[![Deploy to Render](https://render.com/images/deploy-to-render-button.svg)](https://render.com/deploy)\n\n## Tournaments\n\nCompare bots locally in a round-robin tournament\n\n```bash\n$ yarn tournament\n\nResults\n[ { player: 'AntiPatzerPlayer    ', score: 32.5 },\n  { player: 'PatzerPlayer        ', score: 23 },\n  { player: 'RandomPlayer        ', score: 22.5 },\n  { player: 'SwarmKingPlayer     ', score: 18 } ]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftailuge%2Fbot-o-tron","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftailuge%2Fbot-o-tron","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftailuge%2Fbot-o-tron/lists"}