您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Заметки для юзеров Lolzteam
- // ==UserScript==
- // @name StickyNotes
- // @namespace StickyNotes
- // @version v2
- // @description Заметки для юзеров Lolzteam
- // @author https://zelenka.guru/lays (openresty)
- // @match https://zelenka.guru/*
- // @grant GM.setValue
- // @grant GM.getValue
- // @grant unsafeWindow
- // @run-at document-body
- // @license MIT
- // ==/UserScript==
- let notices;
- (async function() {
- notices = await GM.getValue("notices") ? GM.getValue("notices") : `{"users": {}}`;
- window.addEventListener("DOMContentLoaded",(event) => {
- profileRender();
- });
- renderFunctions();
- })();
- async function shortcutCall() {
- let returnit = `[exceptids=${await shortcut}]
- [/exceptids]`
- document.querySelector(".fr-element.fr-view.fr-element-scroll-visible p").innerHTML = await returnit;
- }
- function setShortcut(e) {
- GM.setValue("adblock", e)
- adblock = e;
- XenForo.alert('AdBlock настроен', 1, 10000)
- }
- async function profileRender() {
- if (!document.querySelector(".avatarScaler")) {return false;}
- notices = await JSON.parse(await notices);
- nick_val = document.querySelector("h1.username span").innerHTML.replace(/ <i.*?>.*?<\/i>/ig,'')
- let noticer = document.querySelector(".insuranceDeposit");
- if (!notices.users[nick_val]) {
- notices.users[nick_val] = {
- 'text': 'заметка не установлена'
- }
- notice = await notices.users[nick_val]
- }else {
- notice = await notices.users[nick_val]
- }
- let notice_render = `
- <br>
- <div class="section insuranceDeposit">
- <div class="secondaryContent">
- <h3>
- Заметка для ${nick_val}
- </h3>
- <h3 style="margin-bottom: 0px; font-size: 18px !important;" class="amount">
- ${await notice.text}
- </h3>
- <div style="margin-top: 15px; display: flex; gap: 5px;">
- <a class="button leftButton primary" onclick="noteSet(nick_val)">Изменить заметку</a>
- </div>
- </div>
- </div>`;
- // <a class="button leftButton primary" onclick="voteTrust(${blzt_trust_val})">Изменить рейтинг👍👎</a>
- let notice_block = document.createElement("div");
- notice_block.innerHTML = notice_render;
- noticer.append(notice_block);
- }
- function noteSet(trust) {
- nick_val = document.querySelector("h1.username span").innerHTML.replace(/ <i.*?>.*?<\/i>/ig,'')
- let html = `
- <i>Введите комментарий,>
- <input id="commentt" style=" padding: 6px;border-radius: 6px;height: 20px;background: #303030;color: white;border: 1px solid rgb(54, 54, 54); placeholder="Заметка">
- <div style="margin-top: 15px; display: flex; gap: 5px;">
- <a class="button leftButton primary" onclick="commitNote('${nick_val}')">Сохранить</a>
- `;
- XenForo.alert(html, "Изменить заметку");
- }
- async function commitNote(nick_val) {
- console.log(await notices)
- notices = await JSON.parse(await notices);
- let comment = document.querySelector("#commentt").value;
- if (!comment) {
- return XenForo.alert("Укажите комментарий!", 1, 10000)
- }
- if (!notices.users[nick_val]) {
- notices.users[nick_val] = {
- 'text': comment
- }
- }else {
- notices.users[nick_val].text = comment;
- }
- setCache(JSON.stringify(notices))
- location.reload()
- }
- async function setCache(e) {
- return await GM.setValue('notices', e);
- }
- function renderFunctions() {
- unsafeWindow.notices = notices;
- unsafeWindow.setShortcut = e => setShortcut(e);
- let torender = [dialogWin, commitNote, noteSet, profileRender];
- unsafeWindow.setCache = e => setCache(e);
- let funcs = torender.map(e => e.toString());
- let script = document.createElement('script');
- script.appendChild(document.createTextNode(funcs.join("")));
- document.head.appendChild(script);
- }
- async function dialogWin() {
- nickname = document.querySelector(".accountUsername.username").firstElementChild.innerText.trim().replace(/<[^>]*>/g, ' ').replace(/\s{2,}/g, ' ').trim().replace(" Premium", "").trim();
- let htmlall = `
- <div id="settings1-content" class="settings-content">
- <h2>FuckMouse</h2>
- <label>
- <span>ID Юзеров (через запятую)</span><br>
- <input id="secretph" placeholder="123, 1234, и т.д..." style="margin-top: 4px;">
- <a onclick="setShortcut(document.querySelector('#secretph').value)">Сохранить</a>
- </label>
- </div>
- <style>
- .errorOverlay>.baseHtml {
- padding: 0px;
- }
- .xenOverlay .errorOverlay .errorDetails {
- padding: 0px;
- white-space: normal;
- }
- .errorDetails {
- white-space: normal;
- padding: 0;
- margin: 0;
- font-family: sans-serif;
- background-color: #303030;
- color: white;
- }
- input {
- padding: 4px;
- border-radius: 6px;
- height: 20px;
- background: #303030;
- color: white;
- border: 1px solid rgb(0, 186, 120);
- }
- .settings-content {
- padding: 20px;
- /* border: 1px solid #ccc; */
- transition: 0.5s;
- }
- button {
- color: #fff;
- border: 0;
- background: 0;
- padding: 0 0 5px;
- margin-left: 7px;
- font-size: 15px;
- transition: 0.5s;
- }
- .customicon {
- background-color:#424141;
- padding: 10px;
- transition: .1s;
- }
- .customicon:hover {
- background-color:#242424;
- }
- .available {
- border-top: 1px solid rgb(0, 186, 120);
- }
- .onlyprem {
- border-top: 1px solid rgb(177, 0, 9);
- }
- </style>
- <script>
- var elements = document.querySelectorAll('button');
- for (var i = 0; i < elements.length; i++) {
- elements[i].addEventListener('click', function(e) {
- for (let index = 1; index < 50; index++) {
- try {
- document.getElementById('settings' + index + '-content').style.display = 'none';
- document.getElementById('settings' + index).style.boxShadow = 'none';
- } catch{}
- }
- e.target.style = "box-shadow: inset 0px -2px 0px 0px rgb(0, 186, 120);";
- document.getElementById(e.target.id + '-content').style.display = 'block';
- });
- }
- </script>
- `
- let html_prem = `
- ${htmlall}
- `;
- return XenForo.alert(
- `${html_prem}`, 'Настройки FuckMouse.'
- )
- }