Добавляет смайлимк в сообщение

добавляет смайлик :pepesmile: в сообщение

// ==UserScript==
// @name         Добавляет смайлимк в сообщение
// @version      1.1
// @namespace    awaw https://lolz.live/andrey
// @description  добавляет смайлик :pepesmile: в сообщение
// @author       awaw
// @match        https://lolz.live/threads/*
// @match        https://zelenka.guru/threads/*
// @grant        none
// @run-at       document-end
// @license      MIT
// ==/UserScript==

//фиксированный эмодзи который будет вставляться - можно поставить любой другой
const fixedEmoji = ':pepesmile:'; //вместо :pepesmile: вписываете любой другой смайл, либо что-то своё, главное кавычки оставить

function waitForElement(node, selector, callback) {
    const observer = new MutationObserver((mutations, obs) => {
        const element = node.querySelector(selector);
        if (element) {
            callback(element);
            obs.disconnect();
        }
    });
    observer.observe(node, { childList: true, subtree: true });
}

function insertFixedEmoji(textbox) {
    var oldHTML = textbox.lastChild.innerHTML;
    if (oldHTML.endsWith("<br>")) {
        textbox.lastChild.innerHTML = `${oldHTML.slice(0, -4)} ${fixedEmoji}<br>`;
    } else {
        textbox.lastChild.innerHTML = `${oldHTML} ${fixedEmoji}`;
    }
}

(function () {
    'use strict';
    const editor = document.querySelector("div.defEditor");
    if (!editor) return;

    waitForElement(editor, "div.fr-element.fr-view", (textbox) => {
        textbox.addEventListener(
            "keydown",
            (event) => {
                if (event.repeat === false && event.key === "Enter" && !event.ctrlKey && !event.shiftKey) {
                    event.preventDefault();
                    insertFixedEmoji(textbox);
                }
            },
            true
        );

        const sendMessageButton = editor.querySelector("div.sendMessageContainer > button.lzt-fe-se-sendMessageButton");
        if (sendMessageButton) {
            sendMessageButton.addEventListener(
                "click",
                (event) => {
                    if (event.detail === 1) {
                        insertFixedEmoji(textbox);
                    }
                },
                true
            );
        }
    });
})();