Neues Chat Tool

Begonnen von TheLightPrince, 10. August 2016, 20:43:52

« vorheriges - nächstes »

TheLightPrince

Hallo zusammen,

ich werfe mal wieder ein neues Tool auf den "Markt". Es eignet sich vor allem für Vielchatter und Nutzer der PN Funktion.

Es wird wie immer Greasemonkey (FF) oder Tampermonkey (Chrome) benötigt. IE wird nicht unterstützt. Opera ist nicht getestet!

Features:
- Die PN Partner können 48 Stunden (und länger) gespeichert werden
- Durch Tastenkombinationen ist das Wechseln zwischen den Channels auch per Tastatur und sehr schnell möglich
- PN Chat Partner können ohne ebenfalls sehr schnell gewechselt werden
- Optional werden die Chatnachrichten von Gesprächspartnern farbig hinterlegt
- Optional werden Nachrichten hervorgehoben, die mit einem Nutzer stattfinden, dessen name überfahren wird, oder an den man gerade eine Nachricht versenden möchte.

Eine Beschreibung der Features und wie diese funktionieren finden sich in einer Hilfe nach der Installation. Einfach das [?] Zeichen rechts unter dem Chat mit der Maus überfahren, dann wird die Hilfe eingeblendet.

Das Tool kann in seiner aktuellsten Version hier heruntergeladen werden: http://arthoria.srv1-14119.srv-net.de/privateChannels.user.js
ACHTUNG: Das Tool hat keine Update Funktion. Eine neue Version muss daher stehts von euch von Hand heruntergeladen werden. Ich werde neue Versionen stets in diesem Thread announcieren.

Ich danke den Betatestern der letzten Woche für ihre Anregungen und gemeldeten Bugs!

Ich habe heute nochmal zwei neue Features eingebaut, die noch nicht ausgiebig getestet wurden. Da das Tool aber sowieso schon seine Runde gemacht hat, habe ich entschieden, es trotzdem jetzt zu veröffentlichen ohne erneute Betatestphase.

Fehler und Verbesserungsvorschläge bitte per Irrli oder Raabe an mich (ingame).

Vielen Dank und Viel Spaß mit dem Tool
TLP
WINGED GODS

Thermo

Sehr schönes tool :)
Mal ne frage, wie kann man die optionalen features aktivieren? Hab dazu leider nix gefunden.
"VERSTÄNDNISFRAGEN", OFFTOPIC ETC WERDEN AB SOFORT IN MEINEN THEMEN / NACH MEINEN POSTS KONSEQUENT IGNORIERT! STATTDESSEN WERDE ICH EINFACH NOCH EINMAL DARUNTER MEINEN VORLÄUFERPOST KOPIEREN. SOLLTE ES TATSÄCHLICH NOCH ECHTE NACHFRAGEN GEBEN, WENDET EUCH BITTE PER PN AN MICH.

Penthesilea

Hm... Das Fragezeichen ist da, aber das Mouseover funktioniert bei mir leider nicht.
Wo ein Wille ist, da ist auch ein Problem.

Penthesilea

Ich nehme alles zurück. Es klappt erst, wenn man erstmals "geflüstert" hat. Jetzt ist alles da.
Wo ein Wille ist, da ist auch ein Problem.

TheLightPrince

Zitat von: Thermo am 10. August 2016, 21:29:51
Sehr schönes tool :)
Mal ne frage, wie kann man die optionalen features aktivieren? Hab dazu leider nix gefunden.

In der Hilfe gibt es zwei checkboxen. Die eine für die Farbliche hervorhebung und die andere für das Hervorheben beim Hovern.

Lg TLP
WINGED GODS

TheLightPrince

- Kleiner Bug-Fix bei den Farben.
WINGED GODS

Bankaifan

Ich habe im Code ein paar Syntax-Fehler bereinigt - die sind vermutlich dem alter des Codes zuzuschreiben. Danach funktioniert bei mir das MouseOver im FireFox mit Tampermonkey wieder

// ==UserScript==
// @name        Private Channels
// @namespace   arthoria
// @include     http://arthoria.de/*
// @version     1.1
// @grant       none
// ==/UserScript==

/**
  alle Wünsche erfüllt
**/

(function() {
    var unsafeWindow = unsafeWindow || window,
        $ = unsafeWindow.$;
    jQuery.expr[':']['starts-with'] = function(a, i, m) {
        return jQuery(a).text().toUpperCase()
            .indexOf(m[3].toUpperCase()) == 0;
    };
    var oldHijack = unsafeWindow.startChat,
        partnerList,
        partnerListSorted,
        $interface,
        $nameSelection,
        chat,
        lastReceivedXMLData = unsafeWindow.chatXML,
        filterNames = [],
        tabCounterStatus = {
            val:0,
            lA:Date.now(),
            handle:null
        },
        colors = ['red', 'green', 'grey', 'lightblue', 'silver', '#10fc03', '#eb14eb', '#fff900'],
        coloring = true,
        hoverOverName,
        hoveringOverName = true;
    var borderColor = $('.mentd').css('borderTopColor'),
        backgroundImage = $('.mentd').css('backgroundImage'),
        imageColor = borderColor=='rgb(0, 0, 0)'?'dark':'light';

    var images = {
        pinned:{
            dark:'data:image/png;base64,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',
            light:'data:image/png;base64,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'
        },
        unpinned:{
            dark:'data:image/png;base64,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',
           

Bankaifan

Teil 2 - da Text zu lang

light:'data:image/png;base64,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'
        }
    };

    // Chrome hack
    setTimeout(function() {
        unsafeWindow.startChat = function() {
            if(typeof oldHijack != 'function') return;
            oldHijack();
            loadChatpartnerList();
            loadInterface();
            chatExistsNow();
        };
        unsafeWindow.startChat();
    },0);
    function loadChatpartnerList(/* optional */xml) {
        loadFromLocalStorage();
        var $xml = $(unsafeWindow.chatXML);
        $xml.find('m').each(xmlEntryToPartnerListEntry);
        if(xml) {
            var $xmlStr = $((new XMLSerializer()).serializeToString(xml));
            $xmlStr.find('m').each(xmlEntryToPartnerListEntry);
        }
        partnerList = partnerList.filter(checkChatPartnerOutOfTime);
        saveToLocalStorage();
    }
    function checkChatPartnerOutOfTime(vO) {
        if(vO.pinned) return true;
        var d = parseInt(Date.now()/1000,10);
        var keep = vO.lastAction+2*86400 > d;
        if(!keep && (idx = filterNames.findIndex(function(el) { return el==vO.name;})) > -1) {
            filterNames.splice(idx, 1);
            saveToLocalStorage();
        }
        return keep;
    }
    function xmlEntryToPartnerListEntry() {
        var obj = {
            name:       unsafeWindow.charID == parseInt($(this).attr('m'),10) ? $(this).attr('a') : $(this).attr('r'),
            lastAction: parseInt($(this).attr('t'), 10),
            pinned:     false
        };
        if(obj.name == 'Wirt') return;
        if(obj.name == 'Juwel der Erfahrung') return;
        if(obj.name == 'System') return;
        if($(this).attr('c') == 'pn' && !checkIfPartnerIsAlreadyInList(obj.name)) {
            partnerList.push(obj);
        } else if(checkIfPartnerIsAlreadyInList(obj.name)) {
            var o = partnerList.filter(function(el) { return el.name==obj.name; })[0];
            o.lastAction = Math.max(obj.lastAction, o.lastAction);
        }
    }
    function loadInterface() {
        $interface = $('<div><ul></ul></div>').css({
            width:'100%',
            position:'relative'
        }).children('ul').css({'list-style': 'none', 'padding':'0px', 'margin':'0px'}).end();
        $('#chatmessage').after($interface);
        $('<style type="text/css"></style>').text('p.ch1, p.ch1 > a { color:black !important; } h4{ text-decoration:underline; } .chatPartner { -moz-user-select: none; -khtml-user-select: none; -webkit-user-select: none; -ms-user-select: none; user-select: none; } .selected { opacity:0.9; font-weight:bold; } .hovered { text-decoration:underline;}').appendTo('head');
    }
    function updateList() {
        partnerList.sort(function(a, b) {
            if(a.lastAction == b.lastAction) return 0;
            return a.lastAction < b.lastAction ? 1 : -1;
        });
        $interface.children('ul').children('li').remove();
        $.each(partnerList, function(k, v) {
            $interface.children('ul').append(createListItem(v, v.name==chat.config.PN));
        });
        if(!$('div:contains([?])').length) {
            var marginTop = cpos==1?0:-600;
            var width = cpos==1?700:1000;
            var $infoDiv = $('<div style="overflow-y:scroll;display:none;position:absolute;margin-top:20px;padding:20px;background-color:white;color:black;width:0;height:0;z-index:1000;"></div>').mouseenter(function(evt) {
                $infoDiv.css({
                    top:evt.pageY,
                    right:$('body').width()-parseInt(evt.pageX,10)
                });
                $(this).stop().animate({
                    width:width,
                    height:'600px',
                    opacity:1.0,
                    display:'block',
                    marginTop:marginTop
                },500);
            }).mouseleave(function() {
                $(this).stop().animate({
                    width:0,
                    height:0,
                    opacity:0.0,
                    display:'none',
                    marginTop:0
                },500);
            }).html('<h3>Kurz Anleitung</h3><h4>Im chat</h4>- [Shift] + Linksklick auf einen Namen: SpielerIn ins Tool aufnehmen<h4>Im Tool</h4>- Klick: Flüstermodus mit der Person starten<br>- [Ctrl] + Klick: Aus Tool entfernen (geht nur, falls kein aktives Gespräch mit der Person stattfindet)<br>- Doppelklick: Chat nach Nachrichten dieser Person filtern<br>- [Ctrl] + Doppelklick: Nachrichten dieser Person aus dem Chat filtern<h4>Im Tool - Fokus im Eingabefeld</h4>- [Tab]: Wechsel des Flüstermodus zu anderer Person<br>- [Ctrl] + A: Wechsel zum Alle-Chat<br>- [Ctrl] + G: Wechsel zum Gilde-Chat<br>- [Ctrl] + F: Wechsel zum Fraktion-Chat<br>- [Ctrl] + P: Wechsel zum PN-Chat<br>- [Ctrl] + R: Wechsel zum RP-Chat<br>- [Ctrl] + M: Wechsel zum Mod-Chat<br>- [Ctrl] + N: Aufheben des Flüstermodus (Alternative zum Klick auf das Briefsymbol)<br><br>- Klick auf das Pin-Icon: Pinned einen Spieler / eine Spielerin fest (verschwindet nicht nach 48 Stunden)<br>- Hover über das Pin-Icon: Ansicht, wann der Spieler / die Spielerin aus der Liste verschwindet<br>- Hover über einen Namen: Im Chat werden die PN-Nachrichten(!!) hervorgehoben und alles andere etwas blasser<br><br><input type="checkbox" name="coloring" '+(coloring?'checked="checked"':'')+'> Chatpartnern verschiedene Farben zuweisen<br><input type="checkbox" name="hoveringOverName" '+(hoveringOverName?'checked="checked"':'')+'> Schaltet das Highlighting beim Tippen an und aus, sowie beim Überfahren von Namen').children('input:checkbox[name=coloring]').click(function() {
    coloring = $(this).is(':checked');
    updateList();
    chat.printMessages('#chat');
    saveToLocalStorage();
}).end().children('input:checkbox[name=hoveringOverName]').click(function() {
    hoveringOverName = $(this).is(':checked');
    updateList();
    $('#chatmessage').keyup();
    saveToLocalStorage();
}).end();

            var $infoDivIcon = $('<div>[?]</div>').css({'font-weight':'bold','cursor':'pointer','position':'absolute',top:0,right:0}).mouseover(function(evt) {
                $infoDiv.css({
                    top:evt.pageY,
                    right:$('body').width()-parseInt(evt.pageX,10)
                });
                $infoDiv.stop().animate({
                    width:width,
                    height:'600px',
                    opacity:1.0,
                    display:'block',
                    marginTop:marginTop
                },500);
            }).mouseout(function() {
                $infoDiv.stop().animate({
                    width:0,
                    height:0,
                    opacity:0.0,
                    display:'none',
                    marginTop:0
                },500);
            });
            $interface.append($infoDivIcon);
            $('body').append($infoDiv);
        }
    }
    function chatExistsNow() {
        chat = unsafeWindow.chat;
        $('#cresd').bind('click',function(event) { chat.resizeT(-1,event);});
        var hijacks = [chat.update, chat.filter, chat.resPN, chat.printMessages];
        chat.printMessages = function() {
            hijacks[3].apply(chat, arguments);
            var $ps = $('#chat');
            if(coloring) {
                $interface.find('li').each(function() {
                    $('p.ch1:has(a:starts-with('+$(this).children('span').text()+'))', $ps).css('background-color', $(this).data('color'));
                });
            }
            if(hoveringOverName) {
                if(hoverOverName) {
                    $('#chat').children('p').css('opacity', 0.5);
                    $('#chat').children('p:has(a:starts-with('+hoverOverName+'))').css('opacity', 1);
                }
            }
        };
        chat.update = function(xml) {
            hijacks[0].apply(chat, arguments);
            lastReceivedXMLData = (new XMLSerializer()).serializeToString(xml);
            loadChatpartnerList(xml);
            chat.printMessages('#chat');
            updateList();
        };
        chat.filter = function(msgID) {
            var parts = [
                hijacks[1].apply(chat, arguments),
                (
                    filterNames.length && !(filterNames.indexOf(this.messages[msgID].aN) > -1 || filterNames.indexOf(this.messages[msgID].toN) > -1) && filterNames.filter(function(el) { return el.substring(0,1)!='!'; }).length
                ),
                (
                    filterNames.length && (filterNames.indexOf('!'+this.messages[msgID].aN) > -1 || filterNames.indexOf('!'+this.messages[msgID].toN) > -1)
                )
            ];
            return parts.reduce(function(c, i) { return c || i; }, false);
        };
        chat.resPN = function() {
            hijacks[2].apply(chat, arguments);
            updateList();
        };
        $('#chat a[href*="p=showprofile&i="]').live('click', function(e) {
            if(e.shiftKey) {
                e.preventDefault();
                var obj = {
                    name:       $.trim($(this).text()),
                    lastAction: parseInt(Date.now()/1000,10),
                    pinned:     false
                };
                if(!checkIfPartnerIsAlreadyInList(obj.name)) {
                    partnerList.push(obj);
                } else {
                    var o = partnerList.filter(function(el) { return el.name==obj.name; })[0];
                    o.lastAction = Math.max(obj.lastAction, o.lastAction);
                }
                saveToLocalStorage();
                updateList();
            }
        });
        $('#chatmessage').keydown(function(e) {
            if(e.keyCode==9) { // [TAB]
                e.preventDefault();
                if(tabCounterStatus.lA+750 < Date.now()) {
                    tabCounterStatus.val = 0;
                } else {
                    tabCounterStatus.val = (tabCounterStatus.val+1) % $('li.chatPartner').size();
                }
                $('li.chatPartner').removeClass('hovered');
                if(tabCounterStatus.handle)
                    clearTimeout(tabCounterStatus.handle);
                if(!$('li.chatPartner').eq(tabCounterStatus.val).hasClass('selected')) {
                    $('li.chatPartner').eq(tabCounterStatus.val).addClass('hovered');
                    tabCounterStatus.handle = setTimeout(function() {
                        $('li.chatPartner').removeClass('hovered');
                        $('li.chatPartner').eq(tabCounterStatus.val).click();
                    }, 800);
                }
                tabCounterStatus.lA = Date.now();
            }
            if(e.ctrlKey && (cchan = ['A'.charCodeAt(), 'G'.charCodeAt(), 'F'.charCodeAt(), 'P'.charCodeAt(), 'R'.charCodeAt(), 'M'.charCodeAt(), 'N'.charCodeAt()].indexOf(e.keyCode)) > -1 ) {
                e.preventDefault();
                if(cchan < 6)
                    chat.changeChannel(cchan);
                else
                    chat.resPN();
            }
        }).keyup(function(e) {
            if(!hoveringOverName) return;
            if(this.value.length == 0 || e.keyCode == 13) {
                hoverOverName = null;
                $('#chat').children('p').css('opacity', 1);
                return;
            } else if(['@', '/'].indexOf(this.value.substr(0,1)) == -1 && chat.config.PN) {
                hoverOverName = chat.config.PN;
            } else if(['@'].indexOf(this.value.substr(0,1)) > -1) {
                hoverOverName = this.value.substring(1, this.value.indexOf(' ')==-1?this.value.length:this.value.indexOf(' '));
            } else if(['/'].indexOf(this.value.substr(0,1)) > -1) {
                hoverOverName = null;
                $('#chat').children('p').css('opacity', 1);
                return;
            }
            $('#chat').children('p').css('opacity', 0.5);
            $('#chat').children('p:has(a:starts-with('+hoverOverName+'))').css('opacity', 1);
        });
        $('li.chatPartner').live('click', function(e) {
            $(this).data('doubleClicked', false);
            var self = this;
            setTimeout(function() {
                if($(self).data('doubleClicked')) return;
                var name = $(self).data('name');
                if(!name) return;
                if(e.ctrlKey) {
                    if((idx1 = filterNames.indexOf(name)) > -1 || (idx2 = filterNames.indexOf('!'+name)) > -1)
                        removeFilter(idx1>-1?idx1:idx2);
                    var idx = partnerList.findIndex(function(el) { return el.name==name; });
                    partnerList.splice(idx,1);
                } else {
                    chat.setPN(name);
                    partnerList.filter(function(el) { return el.name==name; })[0].lastAction = parseInt(Date.now()/1000,10);
                }
                saveToLocalStorage();
                $('#chatmessage').focus();
                updateList();
            }, 200);
        });
        $('li.chatPartner').live('dblclick', function(e) {
            e.preventDefault();
            $(this).data('doubleClicked', true);
            toggleFilter((e.ctrlKey?'!':'')+$(this).text());
        });
        updateList();
        chat.printMessages('#chat');
    }
    function toggleFilter(name) {
        var pureName = name.substring(0,1)=='!'?name.substring(1):name;
        var idx = filterNames.findIndex(function(el) { return (el.substring(0,1)=='!'?el.substring(1):el)==pureName; });
        var nameFromArray = idx>-1?filterNames[idx]:null;
        if(idx==-1) {
            filterNames.push(name);
            $('li.chatPartner:contains('+pureName+')').css('border-color', pureName==name?'green':'red');
            chat.printMessages('#chat');
        } else {
            if(name==nameFromArray) {
                removeFilter(idx);
            } else {
                filterNames[idx] = name;
                $('li.chatPartner:contains('+pureName+')').css('border-color', pureName==name?'green':'red');
                chat.printMessages('#chat');
            }
        }
        saveToLocalStorage();
    }
    function removeFilter(idx) {
        var name = filterNames[idx];
        var pureName = name.substring(0,1)=='!'?name.substring(1):name;
        filterNames.splice(idx,1);
        saveToLocalStorage();
        $('li.chatPartner:contains('+pureName+')').css('border-color', borderColor);
        chat.printMessages('#chat');
    }

    function checkIfPartnerIsAlreadyInList(value) {
        return partnerList.filter(function(v) { return v.name==value; }).length?true:false;
    }
    function createListItem(obj, selected) {
        // design dependend scheme
        var idx = filterNames.findIndex(function(el) { return (el.substring(0,1)=='!'?el.substring(1):el)==obj.name; });
        var correctBorderColor = idx==-1?borderColor:(filterNames[idx].substring(0,1)=='!'?'red':'green');
        var secondsLeft = parseInt(Date.now()/1000,10)-obj.lastAction;
        partnerListSorted = partnerList.slice();
        partnerListSorted.sort(function(a, b) {
            return a.name > b.name;
        });
        var idxInDom = partnerListSorted.findIndex(function(el) { return el.name==obj.name; });
        var $pin =  $('<img />').css({'width': '13px', margin:'0px 5px 1px 0', verticalAlign:'middle'}).attr('src', obj.pinned?images.pinned[imageColor]:images.unpinned[imageColor]).click(function() {
            obj.pinned = !obj.pinned;
            obj.lastAction = parseInt(Date.now()/1000,10);
            saveToLocalStorage();
            updateList();
        }).attr('title', obj.pinned?'Pinned!':'Verschwindet in '+secToCountdown(secondsLeft)).css('background-color', coloring?colors[idxInDom%colors.length]:'transparent');
        var $span = $('<span />').text(obj.name);
        var $li = $('<li></li>').css({
            border:'1px solid '+borderColor,
            backgroundImage:backgroundImage,
            padding:'2px 5px',
            margin:'1px 2px',
            display:'inline-block',
            opacity:1,
            cursor:'pointer',
            borderColor:correctBorderColor,
            opacity:obj.pinned?1:(1-((secondsLeft)/(2*24*60*60)))*0.8+0.2 // berechne einen opacity-wert zwischen 0.2 und 1
        }).data('name', obj.name).addClass('chatPartner').append($pin).append($span);
        $li.data('color', colors[idxInDom%colors.length]);
        if(hoveringOverName) {
            $li.hover(function() {
                hoverOverName = $(this).children('span').text();
                $('#chat').children('p').css('opacity', 0.5);
                $('#chat').children('p:has(a:contains('+hoverOverName+'))').css('opacity', 1);
            }, function() {
                $('#chat').children('p').css('opacity', 1);
                hoverOverName = null;
            });
        }
        if(selected)
            $li.addClass('selected');
        return $li;
    }
    function saveToLocalStorage() {
        localStorage.chatpartnerList = JSON.stringify(partnerList);
        localStorage.filterNames = JSON.stringify(filterNames);
        localStorage.coloring = JSON.stringify(coloring);
        localStorage.hoveringOverName = JSON.stringify(hoveringOverName);
    }
    function loadFromLocalStorage() {
        partnerList = JSON.parse(localStorage.chatpartnerList || '[]');
        filterNames = JSON.parse(localStorage.filterNames || '[]');
        coloring = JSON.parse(localStorage.coloring || true);
        hoveringOverName = JSON.parse(localStorage.hoveringOverName || true);
    }

    function secToCountdown(seconds) {
        seconds = 2*86400 - seconds;
        var days = parseInt(seconds/86400,10);
        var hours= parseInt((seconds%86400)/3600,10);
        var mins = parseInt((seconds%3600)/60,10);
        var secs = seconds%60;
        hours= ('0'+hours).substr(-2);
        mins = ('0'+mins).substr(-2);
        secs = ('0'+secs).substr(-2);

        return (days>0?days+' Tag ':'')+hours+':'+mins+':'+secs;
    }
})();

TheLightPrince

hi bankaifan,

das ist nicht die neuste version des tools, was hier noch online ist, also es kann sich etwas verändert haben.

wenn das geht schick mir die veränderte datei doch per email zu, dann füge ich die fixes insofern noch nicht verändert ein und lade es als neuste version auf den Server :)

Lg TLP
WINGED GODS

TheLightPrince

Neue Version online. Ich hoffe, ich habe alles übernehmen können, sodass es weiterhin auch im Tampermonkey in FF läuft. Außerdem wurde der Shortcut verändert um das Flüstern abzubrechen und die Farben wurden etwas angepasst für bessere Lesbarkeit. Weiterhin läuft das Tool nun auch wieder im Greasemonkey.

Lg TLP
WINGED GODS

Husena

Ich werde die neue Version gerne testen. Mal sehen, wie dieses neue Tool bei mir abschneidet. Danke dafür!

TheLightPrince

Zitat von: Husena am 15. Mai 2018, 22:15:41
Ich werde die neue Version gerne testen. Mal sehen, wie dieses neue Tool bei mir abschneidet. Danke dafür!
Die geupdatete Version ist noch nicht wieder online. Aber du kannst die "alte" Version gerne testen. Die lief eigentlich auch gut, soweit ich weiß ;)
WINGED GODS

TheLightPrince

*push* Bitte updaten, damit es nach der Umstellung von Xeri wieder läuft.
WINGED GODS

AlphaWoman

#13
Huhu TLP


Update geht bei mir.
-
░░(¯`:´¯)
░(¯ `·.|/.·´¯)
.(¯ `·.( () )·´¯)
░(_.·´/|`·.._)
░░ (_.:._)...bleibt alle Gesund.
░░(¯`:´¯)..
░(¯ `·.|/.·´¯)
.(¯ `·.( () )·´¯)
░(_.·´/|`·.._)
░░ (_.:._)