Chess courtesy

On lichess.org, says "Good game" to the opponent, when you lose or draw a game.

目前為 2019-10-31 提交的版本,檢視 最新版本

// ==UserScript==
// @name         Chess courtesy
// @namespace    http://tampermonkey.net/
// @version      0.4
// @description  On lichess.org, says "Good game" to the opponent, when you lose or draw a game.
// @author       lichess.org/@/thibault
// @include      /^https://lichess\.org\/(\w{8}|\w{12})$/
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // feel free to change this list! Always be super nice.
    const messages = [
        "Good game",
        "Good game!",
        "Well done",
        "Thank you for the game",
        // "I tried my best",
    ];

    window.lichess.pubsub.on('socket.in.endData', d => {
        const input = document.querySelector('.mchat__say');
        const loser = d.winner == 'white' ? 'black' : 'white';
        if (input && (!d.winner || document.querySelector('.cg-wrap.manipulable.orientation-' + loser))) setTimeout(() => {
            const played = document.querySelector('.mchat__presets') && document.querySelectorAll('.moves index').length > 5;
            if (played) {
                input.value = messages[Math.floor(Math.random() * messages.length)];
                input.dispatchEvent(new KeyboardEvent('keypress', {'keyCode':13, 'which':13}));
            }
        }, 1000);
    });
})();