弹幕结尾自动添加desuwa

随手拿ai搓的,本来也不会写多少,有bug不修 b站:阿琴-kotori

目前为 2025-05-16 提交的版本,查看 最新版本

// ==UserScript==
// @name         弹幕结尾自动添加desuwa
// @namespace    https://space.bilibili.com/28106105?spm_id_from=333.1007.0.0
// @version      1.0
// @description  随手拿ai搓的,本来也不会写多少,有bug不修 b站:阿琴-kotori
// @author       YourName
// @match        *://www.douyu.com/*
// @grant        GM_openInTab
// @grant        GM_xmlhttpRequest
// @grant        GM_setClipboard
// @grant        GM_setValue
// @grant        GM_getValue
// @grant        GM_listValues
// @grant        GM_deleteValue
// @grant        GM_cookie
// @grant        GM_registerMenuCommand
// @grant        unsafeWindow
// ==/UserScript==

(function() {
    'use strict';

    // 监听发送按钮点击事件
    document.addEventListener('click', function(e) {
        if (e.target.closest('.ChatSend-button')) {
            processMessage();
        }
    });

    // 监听回车键发送
    document.addEventListener('keydown', function(e) {
        if (e.key === 'Enter' && document.activeElement.classList.contains('ChatSend-txt')) {
            processMessage();
            e.preventDefault(); // 阻止默认回车换行
        }
    });

    function processMessage() {
        const textarea = document.querySelector('.ChatSend-txt');
        if (!textarea) return;

        // 添加后缀并处理长度限制
        const maxLength = 66;
        const suffix = 'desuwa';
        const baseText = textarea.value.replace(/desuwa$/, ''); // 避免重复添加

        // 计算可用长度
        const availableLength = maxLength - suffix.length;
        const finalText = baseText.slice(0, availableLength) + suffix;

        // 更新输入框内容
        textarea.value = finalText;

        // 触发输入事件(部分网站需要)
        const event = new Event('input', { bubbles: true });
        textarea.dispatchEvent(event);
    }
})();