xRock / Colorer pseudo OP

// ==UserScript==
// @name         Colorer pseudo OP
// @namespace    ^
// @version      1
// @description  Colore le pseudo de l'auteur du topic
// @author       xrock
// @match        https://*.jeuxvideo.com/forums/42-*
// @match        https://*.jeuxvideo.com/forums/1-*
// @license      MIT
// @require      http://code.jquery.com/jquery-3.3.1.min.js
// @grant        GM.setValue
// @grant        GM.getValue
// ==/UserScript==

/* eslint-env jquery */

let idtopic = parseInt(window.location.href.split("-0-1-0")[0].split("-")[2])
let page = parseInt(window.location.href.split("-0-1-0")[0].split("-")[3])
let posts = document.querySelectorAll(".bloc-message-forum")

function pageUn() {
    let pages = document.querySelectorAll("#forum-main-col > div.conteneur-messages-pagi > div:nth-child(1) > div.bloc-liste-num-page > span > a")
    for (var i = 0; i < pages.length; i++) {
        if (pages[i].textContent === "1") {
            return pages[i].href
        }
    }
}

async function oteur() {
    const gmget = await GM.getValue(idtopic)
    if (typeof gmget === "string") {
        return gmget
    } else {
        if (page === 1) {
            let a = $(posts[0]).find(".xXx.bloc-pseudo-msg.text-user").text().trim().toLowerCase()
            GM.setValue(idtopic, a)
            return a
        } else {
            let pageun = pageUn().replace("//www.", "//m.")
            $.get(pageun, function(data) {
                let doc = new DOMParser().parseFromString(data, "text/html")
                let docauteur = doc.querySelector(".post .bloc-pseudo-msg.text-auteur.text-user").textContent.trim().toLowerCase()
                GM.setValue(idtopic, docauteur)
                return docauteur
            })
        }
    }
}

(async function() {
    'use strict';

    let auteur = await oteur()

    posts.forEach(post => {
        let auteurpost = $(post).find(".xXx.bloc-pseudo-msg.text-user")
        if (auteurpost.text().trim().toLowerCase() === auteur) {
            $(auteurpost).css("cssText", "color: pink !important;")
        }
    })
})();