{"id":17726925,"url":"https://github.com/piterden/chessbot","last_synced_at":"2025-08-01T23:14:03.614Z","repository":{"id":46167620,"uuid":"127028226","full_name":"Piterden/chessbot","owner":"Piterden","description":"PvP chess bot for the Telegram messenger. Bot is inline, type @chessy_bot in any chat in the Telegram.","archived":false,"fork":false,"pushed_at":"2023-11-14T02:50:24.000Z","size":955,"stargazers_count":106,"open_issues_count":5,"forks_count":20,"subscribers_count":5,"default_branch":"dev","last_synced_at":"2025-04-15T14:56:43.428Z","etag":null,"topics":["bot","chess","chess-board","chess-game","game","inline-keyboard","inline-message","pvp","pvp-chess-bot","telegram"],"latest_commit_sha":null,"homepage":"http://t-do.ru/chessy_bot","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Piterden.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}},"created_at":"2018-03-27T18:18:06.000Z","updated_at":"2025-02-15T11:40:55.000Z","dependencies_parsed_at":"2023-11-13T19:25:11.179Z","dependency_job_id":"57063b64-f690-480b-8fce-f5312d73714b","html_url":"https://github.com/Piterden/chessbot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Piterden%2Fchessbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Piterden%2Fchessbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Piterden%2Fchessbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Piterden%2Fchessbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Piterden","download_url":"https://codeload.github.com/Piterden/chessbot/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249094937,"owners_count":21211836,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["bot","chess","chess-board","chess-game","game","inline-keyboard","inline-message","pvp","pvp-chess-bot","telegram"],"created_at":"2024-10-25T17:07:26.514Z","updated_at":"2025-04-15T14:56:50.640Z","avatar_url":"https://github.com/Piterden.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The PvP chess bot for the Telegram\n\n![Travis (.org)](https://img.shields.io/travis/Piterden/chessbot/dev.svg?style=for-the-badge)\n![GitHub search hit counter](https://img.shields.io/github/search/Piterden/chessbot/chess.svg?style=for-the-badge)\n![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/Piterden/chessbot.svg?style=for-the-badge)\n\n## Overview\n\nA simple PvP chess game based on inline message and edit a reply markup of a chess board. The board built with callback buttons of inline-keyboard. Bot uses the [`node-chess`](https://github.com/brozeph/node-chess) package, which is driven by the algebraic notation of moves (PGN).\n\n#### Features:\n\n- Inline query to start the game.\n- PvP - play with friends.\n- Bot works in any group or private chat.\n- All moves stored in the DB, so you can play a few games simultaneously.\n\n**[Demo]**(https://t.me/chessy_bot) (WIP version)\n\n## Usage\n\nTo play chess simply type `@chessy_bot[SPACE]` to your telegram message input box.\n\n![](img/3.png)\n\nThen choose a side you want to play with. You will see an inline message with a chess board and a **\"Join to game\"** at the bottom.\n\n![](img/4.png)\n\nWhen someone join your game, this will be displayed in the status message. Also the **\"Join to game\"** button will become **\"Settings\"**.\n\n![](img/5.png)\n\nNow everything is ready to start the game. To move your pieces just select a piece you want to move and then select a destination from displayed available to move squares.\n\n\u003e **WARNING!!!**\n\u003e\n\u003e The board is rotating each turn by default! The active player always placed at the bottom!\n\n## Install and run own bot instance\n\nFirst clone this repository and install dependencies. Run in the terminal:\n\n```bash\ngit clone git@github.com:Piterden/chessbot.git\ncd chessbot\nnpm i\n```\n\nThen you have to create and fill up a new `.env` file:\n\n```bash\ncp .env.example .env\neditor .env\n```\n\nNext migrate the DB:\n\n```bash\nnpm run knex migrate:latest\n```\n\nThen run the dev mode:\n\n```bash\nnpm run dev\n```\n\n## Built With\n\n- [Telegraf.js](https://github.com/telegraf/telegraf) - Telegram bot framework for Node.js.\n- [Node-Chess](https://github.com/brozeph/node-chess) - A simple node.js library for parsing and validating chess board position with an algebraic move parser.\n- [Knex](https://github.com/tgriesser/knex) - A query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use.\n\n## Contributing\n\nPlease read [CONTRIBUTING.md](https://gist.github.com/PurpleBooth/b24679402957c63ec426) for details on our code of conduct, and the process for submitting pull requests to us.\n\n## Authors\n\n- **Denis Efremov** - *Code|Idea* - [Piterden](https://github.com/Piterden)\n- **kolay** - *Code|Consulting* - [kolay-v](\u003chttps://github.com/kolay-v\u003e)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiterden%2Fchessbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpiterden%2Fchessbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiterden%2Fchessbot/lists"}