BotChatvdvoem

try to take over the world!

// ==UserScript==
// @name         BotChatvdvoem
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       KoctrX
// @match        https://chatvdvoem.ru
// @grant        none
// ==/UserScript==
obj = {
    text: ['Не те б*яди,\nчто хлеба ради \nспередии сзади \nдают нам е*ти,\nБог их прости! \nА те б*яди - лгущие,\nденьги сосущие,\nе*ать не дающие - \nвот б*яди сущие,\nмать их ети!',
        'Гордишься ты, \nНо ты не идеал, \nСама себе ты набиваешь цену, \nТаких как ты я на х*й одевал, \nИ видит бог не раз ещё одену',
        'Я в Париже живу как денди. \nЖенщин имею до ста. \nМой х*й, как сюжет в легенде, \nПереходит из уст в уста.',
        'Лежу на чужой\nжене, потолок\nприлипает к жопе,\nно мы не ропщем - делаем коммунистов,\nназло буржуазной Европе!\nПусть х*й мой\nкак мачта топорщится!\nМне все равно, кто подо мной -\nжена министра или уборщица!'], // 2230 - max
    update: 1000, // 100mc
    st: false,
    autosave: true
};

_idArr = 0;

flood = {
    connect: function () {
        if (obj.st) {
            document.getElementById('but-start').click();
        }
    },
    close: function () {
        if (obj.st) {
            document.getElementById('but-close').click();
        }
    },
    saveToCookie: function () {
        if (obj.text.length > 0 && obj.text.toString().length > 0) {
            var jsonData = JSON.stringify(obj.text);
            document.cookie = 'list=' + jsonData + ';path=/';
            flood.mirage({'type': 'id', id: 'saveToCookie', innerP: 'Сохранено', innerE: 'Сохранить'});
        } else {
            alert('Вы не можете сохранить пустой объект, добавьте текст и после сохраните.');
        }
    },
    mirage: function (cart) {
        var object = (cart.type === 'id') ? document.getElementById(cart.id) : document.getElementsByClassName(cart.id)[cat.c];
        object.disabled = true;
        object.innerHTML = cart.innerP;
        setTimeout(function () {
            object.disabled = false;
            object.innerHTML = cart.innerE;
        }, 1000);
    },
    clearCookie: function () {
        if (confirm('Вы уверены что хотите удалить данные с куков? ')) {
            document.cookie = 'list=;path=/';
            flood.mirage({'type': 'id', id: 'delCo', innerP: 'Очищено', innerE: 'Очистить куки'});
        }
    },
    getCookie: function (name) {
        var matches = document.cookie.match(new RegExp(
            "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
        ));
        return matches ? decodeURIComponent(matches[1]) : undefined;
    },
    flood: function () {
        if (obj.text.length >= 1 && obj.text.toString().length >= 1) {
            var sub = document.getElementById('_submit');
            if (obj.st) {
                obj.st = false;
                sub.value = 'Включить';
            } else {
                obj.st = true;
                flood.sender();
                sub.value = 'Выключить';
            }
        } else {
            alert('Добавьте текст для флуда');
        }
    },
    list: function (tr) {
        if (!tr) {
            try {
                document.getElementsByClassName('list')[0].remove();
            } catch (e) {
            }
            if (obj.text.length > 0) {
                var elem = this.listRender(this.createObjects({type: 'div', attr: [['class', 'list']]}));
                document.getElementById('projects').appendChild(elem);
            }
        } else {
            document.getElementsByClassName('listcl')[_idArr].innerHTML = flood.miniSub(_idArr);
        }
    },
    getWriteList: function (id, tray) {
        document.getElementById('_textArea').focus();
        if (document.getElementById('_textArea').value.length < 1 && !tray) {
            alert('Введите текст, не оставляйте пустое поле');
        } else {
            _idArr = id;
            document.getElementById('_textArea').value = obj.text[id];
        }
    },
    deleteElemList: function () {
        if (confirm("Вы уверены что хотите удалить текст:\n" + obj.text[_idArr])) {
            obj.text.splice(_idArr, 1);
            flood.getWriteList(0, true);
            flood.list();
        }
    },
    removeList: function () {
        if (confirm("Вы уверены что хотите очистить весь список?")) {
            obj.text = [''];
            flood.getWriteList(0, true);
            flood.list();
        }
    },
    listRender: function (elem) {
        for (var i = 0; i < obj.text.length; i++) {
            var el = flood.createObjects({
                'type': 'div',
                attr: [['onclick', 'flood.getWriteList(' + i + ');'], ['class', 'listcl']]
            });
            el.innerHTML = flood.miniSub(i);
            elem.appendChild(el);
        }
        return elem;
    },
    miniSub: function (i) {
        return (obj.text[i].length > 30) ? obj.text[i].substring(0, 30) + '...' : obj.text[i];
    },
    sendActive: function () {
        flood.updateText();
        if (obj.text[_idArr].length >= 1) {
            this.sendMessage(obj.text[_idArr]);
        } else if (document.getElementById('_textArea').value.length >= 1) {
            flood.sendActive();
        } else {
            alert('Введите что нибудь');
            document.getElementById('_textArea').focus();
        }
    },
    sendMessage: function (message) {
        chat.sendMessage(message);
    },
    getTextFlood: function () {
        if (obj.text.length > 0) {
            flood.sendMessage(obj.text[flood.randomize(0, obj.text.length - 1)]);
        } else {
            alert('Добавьте текст для флуда.');
        }
    },
    randomize: function (x, y) {
        return Math.floor(x + Math.random() * ((y + 1) - x));
    },
    sender: function () {
        if (obj.st) {
            if (chat.isChatStarted()) {
                flood.getTextFlood();
                setTimeout(function () {
                    flood.close();
                    flood.timer();
                }, obj.update);
            } else {
                setTimeout(function () {
                    flood.connect();
                    flood.timer();
                }, obj.update);
            }
        }
    },
    chat: function () {
        var but = document.getElementById('_but');
        var teq = document.getElementById('text');
        if (teq.getAttribute('contenteditable') === 'true') {
            teq.setAttribute('contenteditable', 'false');
            but.value = 'Включить чат';
        } else {
            teq.setAttribute('contenteditable', 'true');
            but.value = 'Выключить чат';
        }
    },
    setPoster: function () {
        var projects = document.getElementById('projects');
        document.getElementById('log-wrap').setAttribute('class', 'show-projects');
        var log = document.createElement('style');
        log.setAttribute('type', 'text/css');
        log.innerHTML = '.show-projects #log { right:315px; }';
        log.innerHTML += '.list { width: 100%; background: #000; }';
        log.innerHTML += '.listcl { padding: 3px 5px; background: #3d3d3d; margin: 1px 0; color: #fff; cursor: pointer; }';
        log.innerHTML += '.listcl:hover { background: rgba(0,0,0,0.5); }';
        log.innerHTML += '.btn { margin: 2px 2px; padding: 3px; cursor: pointer; border: 1px solid #000; }';
        document.head.appendChild(log);
        projects.innerHTML = '';
        projects.style = 'width: 300px; display: inline-block;';
        projects.appendChild(this.createForm());
        if (obj.autosave) {
            document.getElementById('_update').disabled = true;
        }
        if (this.getCookie('list')) {
            obj.text = flood.resCookie();
        }
        document.getElementById('_textArea').value = obj.text[0];
        this.list();
    },
    resCookie: function () {
        var test = JSON.parse(this.getCookie('list'));
        return ({}.toString.call(test).slice(8, -1) === 'Array') ? test : obj.text;
    },
    updateText: function (re) {
        if (document.getElementById('_textArea').value.length >= 1 || re) {
            obj.text[_idArr] = document.getElementById('_textArea').value;
        } else {
            document.getElementById('_textArea').focus();
            return alert('Нельзя сохранить пустое поле');
        }
        if (!re) {
            flood.list();
            flood.mirage({'type': 'id', id: '_update', innerP: 'Сохранено', innerE: 'Сохранить'});
        } else {
            flood.list(true);
        }
    },
    createForm: function () {
        var tie = document.createElement('form');
        tie.setAttribute('onsubmit', 'return false;');
        tie.appendChild(this.createObjects({
            'type': 'button',
            inner: 'Новый',
            attr: [['class', 'btn'], ['onclick', 'flood.newTicket();'], ['title', 'Добавить текст']]
        }));
        tie.appendChild(this.createObjects({
            'type': 'button',
            inner: 'Удалить',
            attr: [['class', 'btn'], ['onclick', 'flood.deleteElemList();'], ['title', 'Удалить текущий текст']]
        }));
        tie.appendChild(this.createObjects({
            'type': 'button',
            inner: 'Удалить все',
            attr: [['class', 'btn'], ['onclick', 'flood.removeList();'], ['title', 'Удалить все сохраненные тексты']]
        }));
        tie.appendChild(this.createObjects({
            'type': 'input',
            attr: [['type', 'submit'], ['id', '_update'], ['class', 'btn'], ['onclick', 'flood.updateText();'], ['value', 'Сохранить']]
        }));
        var style = 'border: 1px solid #000; height: 100px; width: 95%; resize: none; padding: 5px; font-size: 14px;';
        tie.appendChild(this.createObjects({
            'type': 'textarea',
            attr: [['id', '_textArea'], ['onkeyup', '(obj.autosave)?flood.updateText(true):"";'], ['style', style]]
        }));
        style = 'padding: 5px; font-size: 16px; border-radius: 5px; cursor: pointer; margin: 5px;';
        tie.appendChild(this.createObjects({
            'type': 'input',
            attr: [['type', 'submit'], ['id', '_active'], ['class', 'btn'], ['onclick', 'flood.sendActive();'], ['value', 'Отправить']]
        }));
        tie.appendChild(this.createObjects({
            'type': 'input',
            attr: [['type', 'submit'], ['id', '_submit'], ['class', 'btn'], ['onclick', 'flood.flood();'], ['value', 'Включить']]
        }));
        tie.appendChild(this.createObjects({
            'type': 'input',
            attr: [['type', 'submit'], ['id', '_but'], ['class', 'btn'], ['onclick', 'flood.chat();'], ['value', 'Выключить чат']]
        }));
        var inputCheck = '<input type="checkbox" ' + ((obj.autosave) ? 'checked' : 'none') + ' id="_autosave" onclick="flood.autosave();"/>';
        tie.appendChild(this.createObjects({
            'type': 'div',
            inner: '<label>Автосохранение ' + inputCheck + '</label>',
            attr: [['class', 'save']]
        }));
        tie.appendChild(this.createObjects({
            'type': 'button',
            inner: 'Сохранить в куки',
            attr: [['class', 'save btn'], ['id', 'saveToCookie'], ['onclick', 'flood.saveToCookie();']]
        }));
        tie.appendChild(this.createObjects({
            'type': 'button',
            inner: 'Очистить куки',
            attr: [['class', 'save btn'], ['id', 'delCo'], ['onclick', 'flood.clearCookie();']]
        }));
        return tie;
    },
    autosave: function () {
        obj.autosave = document.getElementById('_autosave').checked;
        document.getElementById('_update').disabled = (obj.autosave) ? true : false;
        alert((obj.autosave) ? 'Автосохранение включено' : 'Автосохранение отключено');
    },
    newTicket: function () {
        if (obj.text[_idArr].length < 1) {
            alert('Введите текст, не оставляйте пустое поле');
        } else {
            obj.text.push('');
            document.getElementById('_textArea').focus();
            this.getWriteList(obj.text.length - 1);
            this.list();
        }
    },
    timer: function () {
        setTimeout(function () {
            flood.sender();
        }, obj.update);
    },
    createObjects: function (obj) {
        var object = document.createElement(obj.type);
        if (obj.inner) {
            object.innerHTML = obj.inner;
        }
        if (obj.attr) {
            for (var i = 0; i < obj.attr.length; i++) {
                object.setAttribute(obj.attr[i][0], obj.attr[i][1]);
            }
        }
        return object;
    }
};
flood.setPoster();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址