Загрузка...

General theme of MeloniuM scripts

Thread in Extentions created by MeloniuM May 17, 2023. (bumped Nov 26, 2024) 8669 views

  1. Burzum
    Burzum Nov 9, 2023 :tg:Вывод звезд в TG lzt.world/BRZM :tg: 5501 Sep 7, 2023
    годно,только вот мне никто не пишет :finger_up:
     
  2. kortys
    жаль, но всё равно крутое дополнение
     
  3. жди
    жди Nov 9, 2023 10,922 Aug 27, 2023
    прикольно. жаль у меня нет групповых переписок на лолзе...
     
    1. View previous comments (6)
    2. llimonix
      extasy, Щас проверю, если врешь то ничего тебе не будет
    3. llimonix
  4. gpt
    прикольно. жаль у меня нет групповых переписок на лолзе...
     
  5. buybye
    buybye Nov 9, 2023 9307 Jan 10, 2021
    прикольно. жаль у меня нет групповых переписок на лолзе...
     
  6. methamphetamine
    methamphetamine Nov 9, 2023 Миксер BTC 24/7 - https://lolz.live/threads/8883088 13,827 Dec 15, 2020

    Это конечно плохо, но все же скрипт в какой то частности полезен. Спасибо!
     
  7. God_likeGL
    God_likeGL Layer 1 Nov 9, 2023 lolz.live/threads/8634402/ - Лучшие телеграмм аккаунты :+rep: 31,092 Oct 30, 2018
    годно, это мы устанавливаем
     
  8. MeloniuM
    MeloniuM Topic starter Nov 11, 2023 make testers great again! 2922 Dec 23, 2021
  9. DoggySpLu
    DoggySpLu Nov 11, 2023 :batonus:Доставка из Китая - https://lolz.live/threads/7453603/ 6320 Oct 10, 2022
    Бля, афигенная фича, :+rep:
     
    1. DoggySpLu
      DoggySpLu, только мне никто не пишет:thomas:
  10. a911
    a911 Nov 11, 2023 Продам рекламу в профиле lolz.live/threads/2604681 51,917 May 30, 2018
    Название пиздатейшее
     
    1. DoggySpLu
      a911, если название длинное и на ин.яз - автоматом люкс тема
  11. God_likeGL
    God_likeGL Layer 1 Nov 11, 2023 lolz.live/threads/8634402/ - Лучшие телеграмм аккаунты :+rep: 31,092 Oct 30, 2018
    мама я в телевизоре
     
    1. DoggySpLu
      God_likeGL, распишись у меня на сиськах!
  12. WTF
    WTF Nov 11, 2023 Статус 7074 Jun 6, 2021
    вроде полезно, но тем кому пишут
     
  13. ProZ
    ProZ Nov 11, 2023 4244 Feb 20, 2022
    Имба расширение значит хорошо
     
  14. MeloniuM
    MeloniuM Topic starter Nov 12, 2023 make testers great again! 2922 Dec 23, 2021
    Если кто помнит, а может даже пользовался [LZTConversTypingUniq], это дополнение такое же, только для тем.



    Пришлось заморочиться))
     
  15. Toil
    Toil Nov 12, 2023 ������� ������ :coder: 3543 Nov 18, 2018
    А где уник, если там просто цвет группы
     
    1. MeloniuM Topic starter
      Toil, у кого нет уника, будет цвет группы
  16. vuchaev2015
    vuchaev2015 Nov 12, 2023 все ближе и ближе... 23,530 Feb 15, 2018
    ждем когда это добавят на форум)
     
  17. God_likeGL
    God_likeGL Layer 1 Nov 12, 2023 lolz.live/threads/8634402/ - Лучшие телеграмм аккаунты :+rep: 31,092 Oct 30, 2018
    [IMG]

    оч годно
     
  18. MeloniuM
    MeloniuM Topic starter Nov 17, 2023 make testers great again! 2922 Dec 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. View previous comments (4)
    2. MeloniuM Topic starter
      God_likeGL, залил. Приятного пользования
  19. God_likeGL
    God_likeGL Layer 1 Nov 19, 2023 lolz.live/threads/8634402/ - Лучшие телеграмм аккаунты :+rep: 31,092 Oct 30, 2018
    объедини все расширения в 1 сообщение, 10 страниц не удобно листать чтоб найти что нужно
     
    1. MeloniuM Topic starter
      God_likeGL, да, чуть позже займусь.
  20. MeloniuM
    MeloniuM Topic starter Jan 17, 2024 make testers great again! 2922 Dec 23, 2021
    [IMG][IMG]
    [LZTConversOnlineMembers v2.0]
    Количество участников беседы находящихся в данный момент в чате (может не совпадать с кол-вом участников из списка, при открытии чата с одного акк на нескольких устройствах). Обновляется каждые 10 сек и при тайпинге/отправке сообщений.
    В личных диалогах показывает зелёную метку когда у собеседника открыт диалог
    Установить
     
    1. View previous comments (3)
    2. God_likeGL Layer 1
      MeloniuM, бля хуйня значит, надо откатить
    3. MeloniuM Topic starter
      God_likeGL, как вариант, могу объединить старый функционал с новым
    4. MeloniuM Topic starter
      Исправил баг с зависанием при открытом миничате. Версия v2.1
Loading...
Top