Загрузка...

Общая тема скриптов MeloniuM

Тема в разделе Дополнения создана пользователем MeloniuM 17 май 2023. (поднята 26 ноя 2024) 8153 просмотра

Загрузка...
  1. Burzum
    Burzum 9 ноя 2023 :love2: TRX&ENERGY(FROM 100₽/66.000) - lzt.lol/trx7 :love2: 5421 7 сен 2023
    годно,только вот мне никто не пишет :finger_up:
     
  2. kortys
    жаль, но всё равно крутое дополнение
     
  3. жди
    жди 9 ноя 2023 10 186 27 авг 2023
    прикольно. жаль у меня нет групповых переписок на лолзе...
     
    1. Посмотреть предыдущие комментарии (6)
  4. gpt
    прикольно. жаль у меня нет групповых переписок на лолзе...
     
  5. buybye
    buybye 9 ноя 2023 8930 10 янв 2021
    прикольно. жаль у меня нет групповых переписок на лолзе...
     
  6. methamphetamine
    methamphetamine 9 ноя 2023 Заблокирован(а) 13 817 15 дек 2020

    Это конечно плохо, но все же скрипт в какой то частности полезен. Спасибо!
     
    9 ноя 2023 Изменено
  7. God_likeGL
    God_likeGL Layer 1 9 ноя 2023 ЛУЧШИЕ ВЕРИФИКАЦИИ - lolz.live/threads/4228395/ :+rep: 27 747 30 окт 2018
    годно, это мы устанавливаем
     
  8. MeloniuM
    MeloniuM Автор темы 11 ноя 2023 2792 23 дек 2021
  9. DoggySpLu
    DoggySpLu 11 ноя 2023 :batonus:ШМОТКИ ТУТ - https://lolz.live/threads/7453603/ 6322 10 окт 2022
    Бля, афигенная фича, :+rep:
     
  10. a911
    a911 11 ноя 2023 Продам рекламу в профиле lolz.live/threads/2604681 50 546 30 май 2018
    Название пиздатейшее
     
    1. DoggySpLu
      a911, если название длинное и на ин.яз - автоматом люкс тема
  11. God_likeGL
    God_likeGL Layer 1 11 ноя 2023 ЛУЧШИЕ ВЕРИФИКАЦИИ - lolz.live/threads/4228395/ :+rep: 27 747 30 окт 2018
    мама я в телевизоре
     
    1. DoggySpLu
      God_likeGL, распишись у меня на сиськах!
  12. WTF
    WTF 11 ноя 2023 Заблокирован(а) 7090 6 июн 2021
    вроде полезно, но тем кому пишут
     
  13. ProZ
    ProZ 11 ноя 2023 4237 20 фев 2022
    Имба расширение значит хорошо
     
  14. MeloniuM
    MeloniuM Автор темы 12 ноя 2023 2792 23 дек 2021
    Если кто помнит, а может даже пользовался [LZTConversTypingUniq], это дополнение такое же, только для тем.



    Пришлось заморочиться))
     
  15. Toil
    Toil 12 ноя 2023 ������� ������ :coder: 3562 18 ноя 2018
    А где уник, если там просто цвет группы
     
    1. MeloniuM Автор темы
      Toil, у кого нет уника, будет цвет группы
  16. vuchaev2015
    vuchaev2015 12 ноя 2023 все ближе и ближе... 23 654 15 фев 2018
    ждем когда это добавят на форум)
     
  17. God_likeGL
    God_likeGL Layer 1 12 ноя 2023 ЛУЧШИЕ ВЕРИФИКАЦИИ - lolz.live/threads/4228395/ :+rep: 27 747 30 окт 2018
    [IMG]

    оч годно
     
  18. MeloniuM
    MeloniuM Автор темы 17 ноя 2023 2792 23 дек 2021
    Обновление v2.0
    Изменён интерфейс, добавлена синхронизация между вкладками.
    т.к. greasyfork сейчас не выдаёт ошибку 502, залить уда не могу, вот исходник:

    JS
    // ==UserScript==
    // @name LZTConversationsMute
    // @namespace Melonium/LZT
    // @version 2.0
    // @description Отключаем уведомления с диалогов
    // @author MeloniuM
    // @license MIT
    // @match *://zelenka.guru/*
    // @match *://lzt.market/*
    // @match *://lolz.guru/*
    // @match *://lolz.live/*
    // @icon https://www.google.com/s2/favicons?sz=64&domain=zelenka.guru
    // @grant none
    // ==/UserScript==


    (function() {
    'use strict';
    var mutedList = localStorage.getItem('conversationsMuted')? localStorage.getItem('conversationsMuted').split(',').map(Number) : [];
    //Стильно, модно, молодёжно
    $("<style>").prop("type", "text/css").html(".conversationItem .avatar .conversationMute{position: absolute; background-color: rgb(39, 39, 39); border-radius: 50%; border: 1px solid rgb(17 17 17); text-align: center; line-height: 16px; top: 3px; left: 34px; height: 16px; width: 16px; display: inline-block; z-index: 1}").appendTo("head");
    const lang = XenForo.visitor.language_id - 1;
    const phrases = {
    'mute': (lang? 'Откл. уведомления': 'Mute alerts'),
    'unmute': (lang? 'Вкл. уведомления': 'Unmute alerts')
    };

    XenForo.conversationMuteButton = function($button) {
    $button.on('click', function(e){
    e.preventDefault();
    let $target = $(e.target);
    let id = $target.data('id');
    let isMuted = muteToggle(id, $('#conversation-' + id + ' .avatar .conversationMute'));
    $target.text(phrases[(isMuted? 'unmute': 'mute')]);
    })
    }
    XenForo.register(".conversationMuteButton", "XenForo.conversationMuteButton");

    function addIcon($target){
    let show = true;
    let id = $target.attr('data-cid');
    if (!mutedList.includes(Number(id))) show = false;
    //выбор иконки
    const i = $(`<i class="fa fa-volume-mute conversationMute"></i>`);
    if (!show) i.hide();

    i.on('click', function(event) {//быстрый размут
    event.preventDefault();
    event.stopPropagation();

    let id = $(event.target).closest('.conversationItem').attr('data-cid');
    let isMuted = muteToggle(id, $(event.target));
    //меняем текст на кнопке в менюшке
    $('.conversationMuteButton[data-id="' + id + '"]').text(phrases[(isMuted? 'unmute': 'mute')]);
    });

    if (!$target.find('.avatar .conversationMute').length) $target.find('.avatar').append(i);
    }

    function muteToggle(id, icon){
    let muted = true;
    mutedList = localStorage.getItem('conversationsMuted')? localStorage.getItem('conversationsMuted').split(',').map(Number) : [];
    if (!mutedList.includes(Number(id))){
    //отключаем уведы
    mutedList.push(Number(id))
    icon.show();
    }else{
    //включаем уведы
    mutedList.splice(mutedList.indexOf(Number(id)),1)
    icon.hide();
    muted = false;
    }
    localStorage.setItem('conversationsMuted', mutedList.join(','));
    return muted;// значение после изменений
    }

    if (window.location.pathname.startsWith('/conversations')){
    $("<style>").prop("type", "text/css").html(".conversationItem .avatar.fa.fa-volume-mute::before {position: absolute; background-color: rgb(39, 39, 39); border-radius: 50%; border: 1px solid rgb(17 17 17); text-align: center; line-height: 16px; top: 3px; left: 34px; height: 16px; width: 16px; display: inline-block; z-index: 1}").appendTo("head");

    //при смене позиции диалога в списке 'XenForoActivate' не вызывается, поэтому используем 'DOMNodeInserted'
    $(document).on('DOMNodeInserted', '.conversationItem:not(:has(.conversationMute))', function(e){
    const $target = $(e.target);
    addIcon($(e.target));
    });

    $(document).bind('PopupMenuShow', function(e){
    let $menu = e.$menu
    let $context = $($menu.context);
    if ($context.is('.RecipientsPopup') || !$context.closest('.membersAndActions').length) return;
    if ($menu.find('.conversationMuteButton').length) return;
    mutedList = localStorage.getItem('conversationsMuted')? localStorage.getItem('conversationsMuted').split(',').map(Number) : [];
    let phrase = phrases[(mutedList.includes(Im.conversationId)? 'unmute': 'mute')];
    $menu.find(".secondaryContent, .blockLinksList").append('<a class="item control conversationMuteButton MenuCloser" data-id="' + Im.conversationId + '">' + phrase + '</a>').xfActivate();
    });

    $('#ConversationListItems').find('.conversationItem:not(:has(.conversationMute))').each(function(index){
    addIcon($(this));
    });
    }else{

    $(window).on('load', function(){
    let s;
    const m = (s = window).Im || (s.Im = {});

    const notification = $('html').data('Im.Notification');
    if (!notification) return;
    notification.displayNotification_old = notification.displayNotification;
    notification.displayNotification = (data) => {
    if (mutedList.includes(data.conversation_id) && !location.pathname.startsWith('/conversations')){
    notification.handledNotifications.add(data.message.message_id);
    if (!m.newMessageCache[data.conversationId]) {
    m.newMessageCache.push(data.conversationId);
    }
    var popup = $("#ConversationsMenu.Menu").data("XenForo.PopupMenu");
    if (popup) popup.reload();//Обновление счетчика сообщений в меню в шапке сайта
    return;
    }
    return notification.displayNotification_old(data);
    }
    });
    };
    //синхронизация между вкладками
    $(window).bind('storage', function (e) {
    if(e.originalEvent.key !== 'conversationsMuted') return;
    mutedList = e.originalEvent.newValue;

    if (window.location.pathname.startsWith('/conversations')){
    let [newValue, oldValue] = [e.originalEvent.newValue.split(','), e.originalEvent.oldValue.split(',')];
    let del = true;//айди удалился
    let arrA, arrB;
    if (newValue.length > oldValue.length){
    del = false;//добавился новый айди
    //если новое значение больше, фильтровать будем
    arrA = newValue;
    arrB = oldValue;
    }else{
    //если новое значение больше, значит айди удалился
    arrA = oldValue;
    arrB = newValue;
    }
    //получим элементы из массива A, которых нет в массиве B.
    let ids = arrA.filter(x => !arrB.includes(x));
    //в теории их может быть больше 1
    ids.forEach((id) => {
    $('.conversationMuteButton[data-id="' + id + '"]').text(phrases[(!del? 'unmute': 'mute')]);//смена текста на кнопке в меню
    $('#conversation-' + id + ' .avatar .conversationMute')[!del? 'show': 'hide']();//скрытие/показ иконки на аве
    })
    }
    });
    })();
     
    1. Посмотреть предыдущие комментарии (4)
    2. MeloniuM Автор темы
      God_likeGL, залил. Приятного пользования
  19. God_likeGL
    God_likeGL Layer 1 19 ноя 2023 ЛУЧШИЕ ВЕРИФИКАЦИИ - lolz.live/threads/4228395/ :+rep: 27 747 30 окт 2018
    объедини все расширения в 1 сообщение, 10 страниц не удобно листать чтоб найти что нужно
     
  20. MeloniuM
    MeloniuM Автор темы 17 янв 2024 2792 23 дек 2021
    [IMG][IMG]
    [LZTConversOnlineMembers v2.0]
    Количество участников беседы находящихся в данный момент в чате (может не совпадать с кол-вом участников из списка, при открытии чата с одного акк на нескольких устройствах). Обновляется каждые 10 сек и при тайпинге/отправке сообщений.
    В личных диалогах показывает зелёную метку когда у собеседника открыт диалог
    Установить
     
    1. Посмотреть предыдущие комментарии (3)
    2. God_likeGL Layer 1
      MeloniuM, бля хуйня значит, надо откатить
    3. MeloniuM Автор темы
      God_likeGL, как вариант, могу объединить старый функционал с новым
      17 янв 2024 Изменено
    4. MeloniuM Автор темы
      Исправил баг с зависанием при открытом миничате. Версия v2.1
Top