Картошка
Аватар
Игрок
8 
22.11.2021 19:46:46

Чёрный список для чата

Всем привет, это Картошка, и теперь любой сможет блокировать все сообщения от нежелательных игроков.

Инструкция:
1. Устанавливаем расширение Tampermonkey

2. Закрепляем расширение в меню

3. Создаём новый скрипт

ae747a01113a1f752609964df30dce59.png
Откроется следующее окно:
3b225767893a85f8ff0047dfb4c56d4a.png

4.  Удаляем то что есть и прописываем


// ==UserScript==
// @name         BlackList
// @version      0.1
// @author       Potato (feat BezKlan)
// @match        https://www.mafiaonline.ru/games/chat/chat.php
// @require      http://code.jquery.com/jquery-latest.js
// ==/UserScript==

const nick_enemy = ['Ник1', 'Ник2']; // Ники авторов нежелательных сообщений (через запятую и в одинарных кавычках)
const yellow = 'YELLOW SPAM'; // Каким текстом будут заменены жёлтые сообщения
const green = 'GREEN SPAM'; // Сообщения в приват
const blue = 'BLUE SPAM'; // Сообщения на телефон
const white = 'WHITE SPAM'; // Сообщения, адресованные не вам
const target = document.getElementById('chat');
const config = { characterData: false, attributes: false, childList: true, subtree: false };

$(document).ready(function(){
    var observer = new MutationObserver(mutate);
    observer.observe(target, config);
    let td = document.getElementById("msgform");
    let next_on = td.nextElementSibling;
    let span_on = document.createElement('span');
    let span_off = document.createElement('span');
    span_on.className = "on_black_list";
    span_on.style = "vertical-align:top;font-size:16pt;cursor:pointer;margin-right:3pt";
    span_off.className = "off_black_list";
    span_off.style = "vertical-align:top;font-size:16pt;cursor:pointer";
    next_on.appendChild(span_on);
    next_on.appendChild(span_off);
    span_on.appendChild(document.createTextNode("on"));
    span_off.appendChild(document.createTextNode("off"));
    $("span.on_black_list").click(function(){
        observer.observe(target, config);
    });
    $("span.off_black_list").click(function(){
        observer.disconnect();
    });
});

function mutate(mutations, observer) {
    nick_enemy.forEach(nick => {
        const regex_yellow = new RegExp('\\[<a href="javascript:Chat.addMention\\(\'to\',\'' + nick + '\'\\)" style="text-decoration:none;color:#ffffff;">' + nick + '</a>\\] <span class="to".*?<br>');
        const regex_green = new RegExp('\\[<a href="javascript:Chat.addMention\\(\'private\',\'' + nick + '\'\\)" style="text-decoration:none;color:#ffffff;">' + nick + '</a>\\] <span class="private".*?<br>');
        const regex_blue = new RegExp('\\[<a href="javascript:Chat.addMention\\(\'phone\',\'' + nick + '\'\\)" style="text-decoration:none;color:#ffffff;">' + nick + '</a>\\] <span class="phone".*?<br>');
        const regex_white = new RegExp('\\[<a href="javascript:Chat.addMention\\(\'to\',\'' + nick + '\'\\)" style="text-decoration:none;color:#ffffff;">' + nick + '</a>\\] <span class="chat_text".*?(<br>){1}');
        mutations.forEach(function(mutation) {
            if (document.querySelector('#chat').innerHTML.includes('[<a href="javascript:Chat.addMention(\'to\',\'' + nick + '\')" style="text-decoration:none;color:#ffffff;">' + nick + '</a>] <span class="to"')) {
                document.querySelector('#chat').innerHTML = document.querySelector('#chat').innerHTML.replace(regex_yellow, " " + yellow + "<br>");
                observer.disconnect();
            }
            else if (document.querySelector('#chat').innerHTML.includes('[<a href="javascript:Chat.addMention(\'private\',\'' + nick + '\')" style="text-decoration:none;color:#ffffff;">' + nick + '</a>] <span class="private"')) {
                document.querySelector('#chat').innerHTML = document.querySelector('#chat').innerHTML.replace(regex_green, " " + green + "<br>");
                observer.disconnect();
            }
            else if (document.querySelector('#chat').innerHTML.includes('[<a href="javascript:Chat.addMention(\'phone\',\'' + nick + '\')" style="text-decoration:none;color:#ffffff;">' + nick + '</a>] <span class="phone"')) {
                document.querySelector('#chat').innerHTML = document.querySelector('#chat').innerHTML.replace(regex_blue, " " + blue + "<br>");
                observer.disconnect();
            }
            else if (document.querySelector('#chat').innerHTML.includes('[<a href="javascript:Chat.addMention(\'to\',\'' + nick + '\')" style="text-decoration:none;color:#ffffff;">' + nick + '</a>] <span class="chat_text"')) {
                document.querySelector('#chat').innerHTML = document.querySelector('#chat').innerHTML.replace(regex_white, " " + white + "<br>");
                observer.disconnect();
            }
        });
        observer.observe(target, config);
    });
};

5. Сохраняем

6. Заходим в игру (или обновляем страницу) и убеждаемся, что скрипт работает

7. Переводим 200 маф на банковский счёт игрока Информация о персонаже Картошка.


Нет.

Картошка
Аватар
Игрок
8 
22.11.2021 19:47:12

Re: Чёрный список для чата

Обзор возможностей:
d26cdc0112859b3e19e41357dc1094a1.png
Можно прописать ники нежелательных чатописцев.
Можно прописать, на что будет заменены нежелательные сообщения в зависимости от из цвета. Между одинарными кавычками даже можно оставить лишь один пробел.

Работу скрипта можно приостановить, нажав на "off", и возобновить, нажав на "on". Это может пригодиться в совместных партиях. После нажатия на "on" весь чат от нежелательного игрока тут же затрётся.
9a0df8677aa29733c76995cc29b30969.png

Кроме того, все сообщения не белого цвета можно будет увидеть в первоначальном виде без выключения скрипта, открыв личный чат:
62880cc44d115d62562e38c307bd65b2.png

При желании можно оставить белые или любые другие сообщения, просто удалив часть кода, отвечающую за блокировку в зависимости от цвета. Например, для белых сообщений полностью удалить строки 59-62.
c3345c734ae482e352dfbd302983cc41.png


Нет.

Картошка
Аватар
Игрок
8 
22.11.2021 19:48:11

Re: Чёрный список для чата

Блокируем Информация о персонаже The Internet
d4cf49d3fadd0eba783e92e93ad71825.png


Нет.

Sound
Аватар
Игрок
7 
22.11.2021 20:15:15

Re: Чёрный список для чата

Перевёл.

Воздух
Аватар
Игрок
10  
22.11.2021 21:23:25

Re: Чёрный список для чата

Хароший скрипт, на тройке можно спокойно вбивать ники двух других игроков
Мафами отблагодарил)

apaapaapa
Аватар
Игрок
14  
22.11.2021 21:53:52

Re: Чёрный список для чата

За блокировку Интернета, конечно, лайк, но как быть, если он оказался комиссаром? Я не увижу его проверку и полечу в СИЭ? Хотелось бы лучше в Дубай.

(Я поняла, что скрипт можно включить и выключить, но я не знаю, в какую минуту Интернет даст проверку, а в какую - просто зафлудит мне чат).


Рады видеть на форуме, apaapaapa! Чай? Кофе? Шампанское?

Flur
Аватар
Игрок
6  
23.11.2021 00:31:56

Re: Чёрный список для чата

apaapaapa

но я не знаю, в какую минуту Интернет даст проверку

очевидно же— отключай на время перехода


не свисти

sound of waves
Аватар
Игрок
6  
23.11.2021 01:00:06

Re: Чёрный список для чата

Flur
apaapaapa

но я не знаю, в какую минуту Интернет даст проверку

очевидно же— отключай на время перехода

Нет же! Что очевидно, так то, что блок игрока Зе Интернет - провокация. Игрок Зе Интернет всегда комиссар и даёт проверки в случайные моменты времени (включая первый день).

Я бы не велась и не стала блокировать игрока Зе Интернет. И вам не советую.

Varis
Аватар
Игрок
11  
23.11.2021 09:17:12

Re: Чёрный список для чата

Информация о персонаже Картошка, Благодарю  {scout}

Веро
Аватар не установлен
Борщец
9  
23.11.2021 14:02:49

Re: Чёрный список для чата

Ого я вшоке. Спасибо картошка


ВВ

Dr WakeUp
Аватар
Игрок
7 
24.11.2021 10:37:30

Re: Чёрный список для чата

Меня волнует один вопрос: это все легально? То есть любой человек может написать скрипт, сделать изменения в мафии онлайн, подпортить партии и это все спокойно воспринимают, практикуют и даже мафы ему кидают. Может это какой-то стеб и я ничего не понял?


Основоположник английского юмора в Мафии Онлайн и общения на Сумеречном переулке.
🌟 ГОЛОС МАФИИ: 10 ЛЕТ - БЕНЕФИСЫ 🌟

Varis
Аватар
Игрок
11  
24.11.2021 10:49:19

Re: Чёрный список для чата

16:37 [WakeUp] КОМ
17:05 [Varis] 12:16 WHITE SPAM
17:06 [Varis] :)
17:11 [Varis] глянул лог
17:22 [Varis] он типа вскрылся

Информация о персонаже Картошка,  благодарю еще раз!

September
Аватар
Игрок
9 
24.11.2021 11:17:59

Re: Чёрный список для чата

Я думала картошка и зе интернет один и тот же человек


Иду я как-то по берегу, а в реке человек, у которого закончились все аргументы в споре, тонет. "Цепляйся к орфографии!", — кричу ему. Еле спас.

SeRceeDka
Аватар
Игрок
10  
24.11.2021 11:20:49

Re: Чёрный список для чата

благодарю.


Насколько высоко ты находишься, зависит исключительно от того, что ты считаешь дном. Эшли Бриллиант

Картошка
Аватар
Игрок
8 
24.11.2021 12:36:11

Re: Чёрный список для чата

WakeUp

Может я ничего не понял?

+


Нет.

The Internet
Аватар
Игрок
6 
24.11.2021 15:57:02

Re: Чёрный список для чата

WakeUp

То есть любой человек может написать скрипт, сделать изменения в мафии онлайн

Конечно нет. Только тот, кто переведёт Картошке 200 маф.

Rogue
Аватар
Palermo
9  
24.11.2021 18:01:02

Re: Чёрный список для чата

На форуме тоже работает

The Internet

BLACK SPAM


Αν δεν μπορείς να έχεις έναν πιστό φίλο, να είσαι ο ίδιος φίλος του εαυτού σου

The Internet
Аватар
Игрок
6 
24.11.2021 19:02:35

Re: Чёрный список для чата

осуждаю

Ирландец
Аватар
Игрок
8  
11.02.2022 23:24:33

Re: Чёрный список для чата

А нет случаем ни у кого желания сделать расширения, которые бы меняли картинки на старые добрые?..  {weep}
1.jpg
2.jpg
3.jpg
4.gif


– Хотите, я скажу вам правду?
– Спасибо, у меня своя

Katatenj
Аватар
Игрок
15  
11.02.2022 23:42:57

Re: Чёрный список для чата

Тоскую по пакету ..
Дементор ужасен(

Лето
Аватар
Игрок
8  
12.02.2022 16:36:33

Re: Чёрный список для чата

Картошка

7. Переводим 200 маф на банковский счёт игрока  Информация о персонаже Картошка

А 200 евро на карту скрипт сам переведет  {laugh}

Mayakovsky
Аватар
Banned
4 
26.02.2023 12:53:08

Re: Чёрный список для чата

По слухам этот скрипт будет доступен в Премиум функционале.