您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Preserves messages and files auto-removed by Volafile and prevents navigation to front page on room closure.
- // ==UserScript==
- // @name Volafile Unremover
- // @author Arnold François Lecherche and a Vola anon named Adonis
- // @namespace greasyfork.org
- // @icon https://volafile.org/favicon.ico
- // @version 1.09
- // @description Preserves messages and files auto-removed by Volafile and prevents navigation to front page on room closure.
- // @include http://volafile.org/*
- // @include http://*.volafile.org/*
- // @include https://volafile.org/*
- // @include https://*.volafile.org/*
- // @grant none
- // @run-at document-end
- // @copyright 2020 Arnold François Lecherche
- // ==/UserScript==
- (function (w, d) {
- 'use strict';
- var e, v, c, g;
- function removeMessages(t) {
- var obj = ['messages', 'queued_messages'], i = obj.length, msg, j;
- while (i--) {
- msg = c[obj[i]];
- j = msg.length;
- while (j--) if (t.msgIds.indexOf(msg[j].data.id) !== -1) {
- msg[j].elem.style.opacity = '.4';
- msg[j].elem.style.textDecoration = 'line-through';
- }
- }
- }
- function delete_file(t) {
- var file = e.filelist.files_by_id[t];
- file.dom.fileElement.style.opacity = '.2';
- file.dom.fileElement.getElementsByTagName('a')[0].style.textDecoration = 'line-through';
- c.showMessage('YourMom', 'File deleted: ' + file.name + ' [' + JSON.stringify(file.tags) + ']', {'dontsave': true, 'staff': true});
- }
- function navigate(e) {
- c.showMessage('Script', 'Intercepted auto-navigation to "' + e + '".', {'dontsave': false, 'staff': true});
- }
- function reload(e) {
- c.showMessage('Script', 'Intercepted force-reload.', {'dontsave': true, 'staff': true});
- }
- function config(t) {
- var keys = Object.keys(t), old = (keys.length === 1 && w.config[keys[0]]) ? ' from {"' + keys[0] + '":' + JSON.stringify(w.config[keys[0]]) + '} ' : '';
- if (keys.length < 20) c.showMessage('Config', 'changed ' + old + 'to ' + JSON.stringify(t), {'dontsave': true, 'staff': true});
- g(t);
- }
- function init() {
- var n;
- e = w.RoomInstance.extensions;
- n = e.connection;
- n.navigate = navigate;
- v = n._events;
- v.removeMessages = removeMessages;
- v.delete_file = delete_file;
- v.forceReload[0] = reload;
- g = v.config;
- v.config = config;
- c = e.chat;
- c.showMessage('Script', 'Volafile spy mode', {'dontsave': true, 'staff': true});
- }
- w.addEventListener('load', init, false);
- })(window, document);