您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Остальные полезные скрипты - https://zelenka.guru/threads/5310268/
// ==UserScript== // @name report buttons // @namespace https://zelenka.guru/ // @version 0.1 // @description Остальные полезные скрипты - https://zelenka.guru/threads/5310268/ // @author Jack // @match https://zelenka.guru/threads/* // @icon https://www.google.com/s2/favicons?sz=64&domain=lolz.guru // @grant none // ==/UserScript== (function() { const buttons = { "Флуд / Оффтоп / Спам / Бесполезная тема": { name: '1.1', }, "Создание темы не в соответствующем разделе": { name: '2.12', }, "Неправильное оформление темы": { name: '3.2', }, } const _xfToken = document.querySelector('input[name="_xfToken"]').value; async function postData(url = '', formData) { return await fetch(url, { method: 'POST', body: formData }); } function addButtonToPosts() { const blocks = document.querySelectorAll('#messageList > li'); for(let block of blocks) { if (block.querySelector(".custom-button")) { continue; } for(let key in buttons) { let name = buttons[key].name; let message = buttons[key].message; let span = document.createElement('span'); span.innerText = name; span.className = "custom-button"; span.setAttribute('style', 'font-weight: bold; padding: 3px 10px; background: #218e5d; border-radius: 50px; margin-right: 5px; cursor: pointer;') span.onclick = function() { if(!confirm('Отправляем?')) return false; let formData = new FormData(); formData.append("message", key); formData.append("is_common_reason", 1); formData.append("_xfToken", _xfToken); formData.append("_xfNoRedirect", 1); formData.append("_xfToken", _xfToken); formData.append("redirect", window.location.href); postData('posts/' + block.id.split('-')[1] +'/report', formData); XenForo.alert('Жалоба отправлена', '', 5000); } if(block.querySelector('.publicControls')) block.querySelector('.publicControls').prepend(span); } } } addButtonToPosts(); const observer = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { if (mutation.type === 'childList') { addButtonToPosts(); } }); }); observer.observe(document.getElementById('messageList'), { childList: true }); })();