Automatically add and keep up to date your latest games from chess.com

Overview

Chess Stats Action

Automatically add and keep up to date your latest games from chess.com.

Type Rapid ⏲️ Blitz Bullet 🔫
Current 2805 3207 3300
Best 2927 3332 3570
White Black Result 🏆 Date 📅 Position 🗺️
Mykola-Bortnyk Hikaru win 🥇 28/7/2022 Link
Hikaru Mykola-Bortnyk win 🥇 28/7/2022 Link
Mykola-Bortnyk Hikaru win 🥇 28/7/2022 Link
Hikaru Mykola-Bortnyk repetition ⏸️ 28/7/2022 Link
NikoTheodorou Hikaru win 🥇 27/7/2022 Link
Hikaru NikoTheodorou win 🥇 27/7/2022 Link
NikoTheodorou Hikaru repetition ⏸️ 27/7/2022 Link
smallxhafa Hikaru repetition ⏸️ 27/7/2022 Link
Knukleks Hikaru win 🥇 27/7/2022 Link
blyp Hikaru win 🥇 27/7/2022 Link

Usage

Add these two placeholders somewhere in your README.md, they will get replaced by the action.



Create a GitHub Action in your repository, you can call it chess-stats-action.yml.

name: Chess Games & Stats Action

on:
  schedule:
    - cron: '0 0 * * *' # Runs at 00:00 UTC every day
  workflow_dispatch:

jobs:
  update-readme:
    name: Update readme with your chess stats and games
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: Balastrong/chess-stats-action@main
        with:
          CHESS_USERNAME: 

Configuration

There are a few configuration options you can use in your GitHub Action.

Parameter Description Default Required
CHESS_USERNAME Your chess.com username hikaru Yes
COMMIT_MSG Commit message used while committing to the repo ♟️ Updated README with your chess games No
GAMES_SIZE How many games to load 10 No
SHOW_DATE Toggle the Date column true No
SHOW_FEN Toggle the Position column true No
FILE_NAME Define a specific file in your repo README.md No
SHOW_STATS Show stats true No

Contributing

There are many possible ways to expand the functionalities or improve the current logic. Feel free to have a look at the open issues or create a new one youself if something is missing.

PRs are also welcome!

More details on how to setup and contribute in CONTRIBUTING.md

Comments
  • Handle null values in stats

    Handle null values in stats

    The chess user may or may not have games on specific category, ex: blitz, bullet, rapid. For example, I don't have bullet's best game but have others. In this case your actions fails with nullity access error.

    image

    opened by hackmajoris 5
  • test: reorganize tests and add coverage

    test: reorganize tests and add coverage

    Starting the works for #8

    • Got rid of the old irrelevant test
    • Properly set up the testing environment
    • Enabled coverage
    • Add some tests for uti.ts
    • Add npm run test on the GitHub Action
    testing 
    opened by Balastrong 0
  • Stats tab

    Stats tab

    As the action already sends requests to the ~amazing~ chess.com APIs, we can also grab more stats and put them somewhere.

    We can add a SHOW_STATS config that toggles a new table with some stats.

    enhancement help wanted 
    opened by Balastrong 0
  • Link to FEN visualizer

    Link to FEN visualizer

    The API returns the FEN code of the final position.

    We can add a SHOW_FEN_URL config that toggles an extra column with a link to some FEN visualizer.

    FEN: r3k2r/p3bpp1/2pp4/1p6/4Pp2/1B1P1Pnq/PPPN1RKp/R3Q3 w kq -

    Link: http://www.ee.unb.ca/cgi-bin/tervo/fen.pl?select=r3k2r%2Fp3bpp1%2F2pp4%2F1p6%2F4Pp2%2F1B1P1Pnq%2FPPPN1RKp%2FR3Q3+w+kq+-

    enhancement help wanted good first issue 
    opened by Balastrong 0
  • Add more unit tests

    Add more unit tests

    The project currently has only one test that basically runs the entire action.

    We need proper unit testing for the individual features. Jest is fine, we only need to write them :)

    Extra requirement, add an action to run the tests on push/PR.

    enhancement help wanted good first issue hacktoberfest 
    opened by Balastrong 0
  • Game type icon

    Game type icon

    The API returns time_class with info about the game (bullet, blitz, rapid and more?)

    We can add a SHOW_TIME_CLASS config that toggles an extra column with an icon.

    enhancement help wanted good first issue hacktoberfest 
    opened by Balastrong 0
Releases(v2)
  • v2(Aug 2, 2022)

    What's Changed

    It is now possible to add a table with stats from your current and best score in rapid, blitz and bullet games.

    • feat: show stats by @iib0011 in https://github.com/Balastrong/chess-stats-action/pull/7
    • Improved docs and actions by @Balastrong in https://github.com/Balastrong/chess-stats-action/pull/9
    • Refactor and getting ready for release v2 by @Balastrong in https://github.com/Balastrong/chess-stats-action/pull/10

    New Contributors

    • @iib0011 made their first contribution in https://github.com/Balastrong/chess-stats-action/pull/7

    Full Changelog: https://github.com/Balastrong/chess-stats-action/compare/v1.0.3...v2

    Source code(tar.gz)
    Source code(zip)
  • v1.0.3(Jul 28, 2022)

    • Replaced the coloring (didn't work) with icons on win - tie - loss
    • Added a new (optional) flag to show the final position on a FEN visualizer
    Source code(tar.gz)
    Source code(zip)
  • v1.0.2(Jul 27, 2022)

  • v1.0.1(Jul 27, 2022)

    First release!

    Automatically add and keep up to date your latest games from chess.com.

    | White ⚪ | Black ⚫ | Result 🏆 | Date 📅 | | :-------------: | :------------: | :----------------------------------------: | :-------: | | Hikaru | TigrVShlyape | win | 27/7/2022 | | Hikaru | Salem-AR | stalemate | 27/7/2022 | | mbojan | Hikaru | win | 27/7/2022 | | Hikaru | honestgames | win | 27/7/2022 | | Russian_berezka | Hikaru | win | 27/7/2022 | | Hikaru | bipe137 | win | 27/7/2022 | | Witik | Hikaru | resigned | 26/7/2022 | | Hikaru | Manukyan_Artak | win | 26/7/2022 | | K_A_S_T_O_R | Hikaru | resigned | 26/7/2022 | | Hikaru | jinbojinbo | win | 26/7/2022 |

    Usage

    Add these two placeholders somewhere in your README.md, they will get replaced by the action.

    <!--START_SECTION:chessStats-->
    
    <!--END_SECTION:chessStats-->
    

    Create a GitHub Action in your repository, you can call it chess-stats-action.yml.

    name: Chess Stats Action
    
    on:
      schedule:
        - cron: '0 0 * * *' # Runs at 00:00 UTC every day
      workflow_dispatch:
    
    jobs:
      update-readme:
        name: Update readme with your chess stats and games
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v3
          - uses: Balastrong/chess-stats-action@master
            with:
              CHESS_USERNAME: <Your chess.com Username>
    

    Configuration

    There are a few configuration options you can use in your GitHub Action.

    | Parameter | Description | Default | Required | | :------------: | :----------------------------------------------: | :---------------------------------: | :------: | | CHESS_USERNAME | Your chess.com username | hikaru | Yes | | COMMIT_MSG | Commit message used while committing to the repo | Update README with your chess games | No | | GAMES_SIZE | How many games to load | 10 | No | | SHOW_DATE | Toggle the Date column | true | No |

    Contributing

    There are many possible ways to expand the functionalities or improve the current logic. Feel free to have a look at the open issues or create a new one youself if something is missing.

    PRs are also welcome!

    Source code(tar.gz)
    Source code(zip)
Owner
Leonardo Montini
Leonardo Montini
this is a single-page web application. we built a book website where the user can add , remove and display books. we used modules to implement these functionalities. also, we used the Date class to display the date and time.

Awsome Books In this Project, we have built A Books websites. Built With ?? HTML CSS javascript Git & Github Live Demo Here you can find the live Demo

Nedjwa Bouraiou 10 Aug 3, 2022
Keep your Playdate sideload games synced with your itch.io playdate game library.

playdate-itchio-sync Keep your Playdate sideload games synced with your itch.io playdate game library. Requirements node.js 16+ Directions Rename cred

Eric Lewis 14 Dec 20, 2022
A webXdc chess game for two players and many observers :)

Chess Board A webXdc chess game for two players, made with chess.js and chessboard.js Testing To test the app you can simply open the index.html file.

Asiel Díaz Benítez 6 Jun 30, 2022
♟️ Simple 2D Chess game

♟️ Chess2D A simple 2D Chess game made using HTML, CSS, and TypeScript. Chess2D This project uses the VanillaTilt.js library to achieve the 3D-paralla

null 6 Jul 22, 2022
A Chess learning tool where you have to find a top-engine move in a random position.

Just A Chess Move A Chess learning tool where you have to find a top-5 move in a random position. There aren't necessarily any tactics, you have to ju

Daan Heskes 14 Sep 18, 2022
Chess Engine Battles & Analysis using UCI Engines

Chess Engine Battles & Analysis Written in TypeScript, using UCI Engine, managed from NodeJS Tested using Stockfish, LCZero, Beserk and SmallBrain for

Vladimir Mandic 2 Oct 10, 2022
This is just a script I put together to check and notify me via email (MailGun) when there's an earlier date before my initial appointment date. It doesn't handle rescheduling.

US-visa-appointment-notifier This is just a script I put together to check and notify me via email (MailGun) when there's an earlier date before my in

Theophilus Omoregbee 13 Jan 4, 2023
Remarkable is a simple extension that automatically keeps your bookmarks clean & up-to-date.

Remarkable Remarkable is a simple extension that automatically keeps your bookmarks clean & up-to-date. Installation (Other browsers coming soon - sor

Samuel Dobbie 116 Dec 21, 2022
This "To-do-list" app is a simple web application that displays a list of task and allows you to add and remove task from that list. it is built with the latest technology namely; JavaScript with webpack Configuration.

To-do-list "To-do-list" is a simple web application that displays a list of task and allows you to add and remove task from that list. Built With HTML

Aniekan udo 10 Nov 21, 2022
A web app designed to keep track of activities that are done and those that are and not done. Users can add, delete, mark as completed and update the activities. Built with Javscript, html, css and webpack.e your activites

ToDoListApp A web app designed to help web keep track of activities that are done and those that are still pending. Users can add, delete, mark as com

Francis Wayungi 6 Dec 23, 2022
Add all games from purchased itch.io bundles to your library.

itch-io-bundle-claimer When you purchase some game bundles on itch.io, you are required to manually claim every game that you want to add to your libr

Anthony Brown 7 Oct 3, 2022
🌎 Set the latest image from GOES 16 & 17 as your desktop background.

goes-bg A small command line program to set your desktop background to the latest Full Disk GeoColor image from GOES-16 and GOES-17. GOES-16 and GOES-

Nate Goldman 8 Apr 15, 2022
A single-page application that allows users to keep track of their books. Users can add the book details (book title and author) and also, and the books can also be removed. Built with JavaScript, HTML, and CSS

Project Name Awesome book with ES6 Description the project. This is a single page application that allows users to keep track of their books. Users ca

Micheal Oguntayo 4 Oct 13, 2022
Add multiple languages support for RPG Maker MV games.

============================================================================ __ __ _ _ _ _ |

Nozaki Yuu (野崎悠) 2 Dec 19, 2022
To keep online organized data and be able to add listeners in certain paths by socket.io and http clients

The purpose of this project is to create a state machine server to keep organized data and be able to add listeners with socket.io in specific paths and in addition to providing a possible form of messages between socket.io clients.

Manga 3 Mar 19, 2022
This extension allows you to create Markdown files which are automatically transformed to in-game documentation for your Add-On.

Markdown Doc Generator An extension for bridge editor which makes creating docs in minecraft easier, by generating json-ui from markdown View extensio

Freddie 7 Dec 31, 2022
Get the latest Flashbots blocks and Flashbots transactions using TypeScript in two lines of code !

mev-blocks-js This package can let you query the Flashbots blocks API easily from any JavaScript or TypeScript project. You can access the Flashbots b

Luca G.F. 6 May 14, 2022
All terminal commands in one place (you can Contribute to it by putting latest commands and adding Readme)

Terminal-Commands All basic terminal commands in one place Show some ❤ by some repositories You can contribute to this readme If you to contribute wit

Shehzad Iqbal 7 Dec 15, 2022