status setzen mit h

wenn man h drückt, wird der status auf hand heben gesetzt, bzw zurückgesetzt; funzt auf deutsch und englisch

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         status setzen mit h
// @namespace    blablabla
// @version      69.69.69.69
// @description  wenn man h drückt, wird der status auf hand heben gesetzt, bzw zurückgesetzt; funzt auf deutsch und englisch
// @author       matze
// @match        https://*.videoconference.iserv.eu/*
// @grant        none
// ==/UserScript==

alert('Update: jetzt kann man sich mit g oder m muten/unmuten. sorra falls du das zweimal siehst')

//checkt welchen index das Hand heben in der span tag liste hat
function getRaise(){

    let spanTags = document.getElementsByTagName('span')

    let raiseIndex;

    for(let i = 0; i<spanTags.length;i++){
        if(spanTags[i].innerHTML.includes('Raise') || spanTags[i].innerHTML.includes('Hand heben')){
            raiseIndex = i
            break;
        }
    }
    return raiseIndex
}

//checkt welchen index der name bzw das (Sie) dahinter in der i tag liste hat
function getYou(){

    let youIndex;

    let iTags = document.getElementsByTagName('i')

    for(let i = 0; i<iTags.length;i++){
        if(iTags[i].innerHTML.includes('You') || iTags[i].innerHTML.includes('Sie') || iTags[i].innerHTML.includes('Du')){
            youIndex = i
            break;
        }
    }
    return youIndex;
}

//guckt welchen index das status zurücksetzen in der span tag liste hat
function getClear(){

    let clearIndex;

    let spanTags = document.getElementsByTagName('span')

    for(let i = 0; i<spanTags.length;i++){
        if(spanTags[i].innerHTML.includes('Clear status') || spanTags[i].innerHTML.includes('Status zurücksetzen')){
            clearIndex = i
            break;
        }
    }
    return clearIndex;
}

//guckt welchen index das status setzen in der span tag liste hat
function getSet(){

    let setIndex

    let spanTags = document.getElementsByTagName('span')

    for(let i = 0; i<spanTags.length;i++){
        if(spanTags[i].innerHTML.includes('Set status') || spanTags[i].innerHTML.includes('Status setzen')){
            setIndex = i
            break;
        }
    }
    return setIndex
}

function setStatus(){
    //klickt den eigenen namen
    document.getElementsByTagName('i')[getYou()].click()
    //klickt auf status setzen
    document.getElementsByTagName('span')[getSet()].click()
    //klickt auf hand heben
    document.getElementsByTagName('span')[getRaise()].click()
}

//guckt ob ein status aktiv ist
function getIfStatusActive(){

    let statusActive

    if(getClear()){
        statusActive = true
    }

    return statusActive
}

//set den status zurück
function clearStatus(){

    document.getElementsByTagName('span')[getClear()].click()
}

window.addEventListener('keydown', function(e){

    //verhindert dass der status auch geändert wird wenn man in den chat schreibt
    if (document.activeElement.type == 'text' || document.activeElement.type == 'password' || document.activeElement.type == 'textarea') {
        return;
    }

// falls h gedrückt wird
    else if(e.keyCode == 72){
        //falls es einen status gibt, setze ihn zurück
        if(getIfStatusActive()){
            clearStatus()
        }else{
            // ansonsten setze den status (aus raise / hand heben)
            setStatus()
        }
    }else if(e.keyCode == 71 || e.keyCode == 77){
    let muteButton = document.getElementsByClassName('icon--2q1XXw icon-bbb-unmute')[0] || document.getElementsByClassName('icon--2q1XXw icon-bbb-mute')[0]
    muteButton.click()
    }
})