您需要先安装一个扩展,例如 篡改猴、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;
- }