您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Downloads all messages (including private) in current chat
// ==UserScript== // @name ChatLog // @namespace http://alphaoverall.com // @version 0.7 // @description Downloads all messages (including private) in current chat // @author AlphaOverall // @include *://www.kongregate.com/games/*/* // ==/UserScript== // Check for holodeck to load function check() { if (!holodeck) { setTimeout(check, 1000);} else { console.log("[ChatLog]: Holodeck loaded"); start(); } } check(); // Main function function start() { holodeck.addChatCommand("chatlog", function(l, msg){ let z = msg.match(/^\/\S+\s+(.+)/), type = ".txt"; // Allow an optional html download if (z && z[1] == "html") type = ".html"; // Get active chat message window and log let element = jQuery(".chat_room_template:visible .chat_message_window")[0]; let log = element.innerText; if (type === ".html") { // Add styling to html files // Just grabbed these from Kong, probably not comprehensive or all necessary log = ` <style> .chat_message_window { background-color: #fff; margin-top: 3px; max-height: 500px; overflow-x: hidden; overflow-y: auto; text-align: left; font: normal 11px/15px Verdana, Arial, sans-serif; } .chat_message_window p .timestamp { color: #888; display: block; font: 10px/12px Arial, sans-serif; text-transform: uppercase; } .chat_message_window p .username { text-decoration: none; } .chat_message_window .chat_message_window_username { color: #285588; cursor: pointer; text-decoration: underline; } .chat_message_window .is_self, .chat_message_window .sent_whisper span.username { color: #900; } .chat_message_window p .message { line-height: 14px; } .hyphenate, .hyphenate * { word-wrap: break-word; -webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto; hyphens: auto; } .chat_message_window .even { background-color: #e3e3e3; } .chat_message_window p { margin: 1px 0; padding: 4px 6px 4px 5px; } .chat_message_window .whisper { background-color: #deeaf6; font-style: italic; margin: 2px 0; } </style>`; log += `<div class="chat_message_window">${element.innerHTML}</div>`; } // Create link to download document let download = document.createElement("a"); download.href = "data:text/html;charset=UTF-8," + encodeURIComponent(log); download.target = "_blank"; // Set a unique name download.download = "Log_" + (new Date().toLocaleString()) + type; // Add element (needed for FF) document.body.appendChild(download); // Download it download.click(); // Remove element document.body.removeChild(download); // Don't send command to chat window return false; }); // Add /log as an optional form of command holodeck._chat_commands.log = holodeck._chat_commands.chatlog; }