Seite 1 von 2 12 Letzte
  1. #1
    Avatar von Iomega
    Registriert seit
    11.02.2013
    Beiträge
    227
    Thanked 6 Times in 6 Posts

    Idee Script wenn "Wörter" gefunden Reload Site/Script when "words" found Reload site

    Hallöchen zusammen,

    ich bräuchte mal Hilfe.
    Ich suche derzeit ein Script für die Webseite Twitch.
    Es gibt ähnliches, aber nicht genau das was ich suche.
    Funktion:
    Seitenabfrage (Intervall 15 Sec.) zb als XHR-Aktualisierung oder oder oder..
    Diese soll nach meinen gewünschten Text (Wort) suchen..
    Wenn gefunden, soll er die Seite einmal neu laden und mich zuvor per Push benachrichtigen und stoppen..
    Warum?
    Ich habe oft mehrere Channel in mehreren Fenstern und Tabs im Hintergrund laufen und dies auch sehr lange, wodurch ich manchmal einen Fehlercode "Dieses Video ist nicht verfügbar. (Fehler #5000)" erhalte. Daher möchte ich 2 Wörter abfragen, "LIVE" und "5000" und wenn eines gefunden wird, das er dann die Seite neu lädt und dann stoppt.

    Beispiel.
    Ich gehe auf Seite Twitch zu einem Channel.
    Dieser ist offline.
    Ich aktiviere das Script und Gebe das Wort LIVE und 5000 ein.
    Nun fragt das script alle 15sec im Background ab, ob der Text gefunden wurde. (Manuelle Zeit Eingabe wäre natürlich auch Super.)
    Sobald die Person Online geht, erscheint das Wort LIVE, entsprechend müsste das Script dann die Seite neu Laden und am besten mich dann Zuvor per Push benachrichtigen und dann stoppen.

    Ich hoffe mir kann da jemand mit helfen

    Vielen Dank


    **Ich bin mit Tampermonkey leider nur soweit gekommen, allerdings funktioniert das nicht wirklich und die funktionen fehlen auch halbwegs.. Wer daher bessere Lösungen hat, dem wäre ich sehr dankbar. Und nein, es muss nicht über Tampermonkey laufen, ganz nach euren wünschen **


    Code:
    (function() {
        'use strict';
    
       $(document).ready(function()
    {
        var LookFor = "LIVE"; // Change this to find a different string
    
        if($('body:contains("' + LookFor + '")').length > 0)
        {
            alert("Found: " + LookFor);
        }
        else
        {
            location.reload();
        }
    });
    })();
    Dankeeeeeeeee

  2. The Following User Says Thank You to Iomega For This Useful Post:

    DMW007 (22.11.2022)

  3. #2
    Avatar von Manipulate
    Registriert seit
    04.12.2011
    Beiträge
    520
    Thanked 505 Times in 356 Posts

    Standard AW: Script wenn "Wörter" gefunden Reload Site/Script when "words" found Reload site

    Ich habe das Script ein wenig angepasst, jQuery entfernt und kurz getestet. Bei mir hat es funktioniert. (Getestet bei einem Twitch User, welcher momentan live ist, und bei einem der es nicht ist).
    Wenn nichts gefunden wird, wird automatisch die Seite auch aktualisiert und neu gesucht.

    Code:
    // ==UserScript==
    // @name         Twitch String checker
    // @namespace    http://tampermonkey.net/
    // @version      0.1
    // @description  Checks for given strings, if not found, reloads the page after a given amount of time.
    // @author       Manipulate
    // @match        https://www.twitch.tv/*
    // @icon         https://www.google.com/s2/favicons?sz=64&domain=twitch.tv
    // @grant        none
    // ==/UserScript==
    (function() {
        'use strict';
    
        let timeToWait = 15; // in seconds
        let lookFor = ["LIVE", "5000"]; // Change this to find different strings
    
        ready(() => {
           for (let stringToSearch of lookFor) {
                if (document.body.innerHTML.search(stringToSearch) > 0) {
                    alert("Found: " + stringToSearch);
    
                    // do other cool stuff here
    
                    break; // to stop searching after the first word was found
                } else {
                    setTimeout(() => location.reload(), timeToWait * 1000);
                }
            };
        });
    
    
        // gotten from stackoverflow
        function ready(fn) {
            if (typeof fn !== 'function') {
                throw new Error('Argument passed to ready should be a function');
            }
    
            if (document.readyState != 'loading') {
                fn();
            } else if (document.addEventListener) {
                document.addEventListener('DOMContentLoaded', fn, {
                    once: true // A boolean value indicating that the listener should be invoked at most once after being added. If true, the listener would be automatically removed when invoked.
                });
            } else {
                document.attachEvent('onreadystatechange', function() {
                    if (document.readyState != 'loading')
                        fn();
                });
            }
        }
    })();

  4. The Following 3 Users Say Thank You to Manipulate For This Useful Post:

    DMW007 (22.11.2022), Iomega (23.11.2022), raspberryfan (30.11.2022)

  5. #3
    Avatar von Iomega
    Registriert seit
    11.02.2013
    Beiträge
    227
    Thanked 6 Times in 6 Posts

    Standard AW: Script wenn "Wörter" gefunden Reload Site/Script when "words" found Reload site

    Erst einmal vielen vielen Dank für deine Mühe und Zeit.
    Hab das in 9 Foren und nur hier wird geantwortet, dafür bin ich dir echt dankbar .

    Kleine Anliegen hätte ich aber noch.

    Das Script lädt ja dauerhaft alle 15 sec. die Seite neu. Ginge das auch Ohne?
    Weil bei mehreren Fenstern mit Tabs im Hintergrund geht das auf den PC und den Browser und wie im Beispiel beschrieben wäre es deswegen schonender wenn er dauerhaft nur schaut ob der Stream "LIVE" oder "5000" zu sehen ist und falls ja, er dann mit 15 sec Verzögerung die Seite einmal neu lädt. (Heißt, if String found reload.)
    Aktuell lädt er ja alle 15 sec die Seite neu und gibt die Meldung schon vorzeitig aus und leider nicht mehr 1x nach dem Live gehen.

    Das andere wäre: Ginge eine Chrome Notification? Weil die am Desktop angezeigt werden kann.

    Mein Test verlief so:
    Tampermonkey Script eingefügt.
    Aktiviert und bin auf mein eigenen Channel zum Testen
    Bei mir selber funktioniert es nicht, warum auch immer.
    Ich habe es an, er lädt die Seite auch neu, nur wenn ich nach 1-2 Reloads live gehe, passiert nix.
    Bei anderen die schon live sind, gibt er die Meldung im Alert aus, allerdings so schnell das nicht mal die Seite geladen ist .
    Ist das nur bei mir so ?

    Danke vielmals für die Hilfe

  6. #4
    Avatar von Manipulate
    Registriert seit
    04.12.2011
    Beiträge
    520
    Thanked 505 Times in 356 Posts

    Standard AW: Script wenn "Wörter" gefunden Reload Site/Script when "words" found Reload site

    Moin,
    dann habe ich wohl deinen Anfangspost ein bisschen missverstanden. Der aktualisierte Code wäre folgender:

    Code:
    // ==UserScript==
    // @name         Twitch String checker
    // @namespace    http://tampermonkey.net/
    // @version      0.2
    // @description  Checks for given strings, if not found, reloads the page after a given amount of time.
    // @author       Manipulate
    // @match        https://www.twitch.tv/*
    // @icon         https://www.google.com/s2/favicons?sz=64&domain=twitch.tv
    // @grant        none
    // ==/UserScript==
    (function() {
        'use strict';
    
        const timeToWait = 15; // in seconds
        const lookFor = ["LIVE", "5000"]; // Change this to find different strings
    
        ready(checkForString);
    
        function checkForString() {
            for (let stringToSearch of lookFor) {
                if (document.body.innerHTML.search(stringToSearch) > 0) {
                    alert("Found: " + stringToSearch); // stops the page for reloading
    
                    // do other cool stuff here
    
                    return;
                }
            }
            console.log("String(s) not found, trying again in a few seconds");
            setTimeout(() => checkForString(), timeToWait * 1000);
        }
    
        // gotten from stackoverflow
        function ready(fn) {
            if (typeof fn !== 'function') {
                throw new Error('Argument passed to ready should be a function');
            }
    
            if (document.readyState != 'loading') {
                fn();
            } else if (document.addEventListener) {
                document.addEventListener('DOMContentLoaded', fn, {
                    once: true // A boolean value indicating that the listener should be invoked at most once after being added. If true, the listener would be automatically removed when invoked.
                });
            } else {
                document.attachEvent('onreadystatechange', function() {
                    if (document.readyState != 'loading')
                        fn();
                });
            }
        }
    })();
    Ich habe das mit der Push-Benachrichtigung nicht implementiert, da ich mir unsicher bin, ob das so funktioniert, aber wenn doch, wird es das sehr verkomplizieren. Momentan ist das Script noch sehr simpel gehalten.

    Aber es gibt in Twitch, wenn du in die Einstellungen gehst, dann oben auf Benachrichtigungen klickst und dann noch unter "Auf Twitch" folgendes:
    Name:  Xcl7rCr.png
Hits: 88
Größe:  17,6 KB

    Das klingt doch sehr nach deinem Use-Case. Hast du das bereits ausprobiert oder gibt es dabei Probleme?

  7. The Following 2 Users Say Thank You to Manipulate For This Useful Post:

    Iomega (24.11.2022), raspberryfan (30.11.2022)

  8. #5
    Avatar von Iomega
    Registriert seit
    11.02.2013
    Beiträge
    227
    Thanked 6 Times in 6 Posts

    Standard AW: Script wenn "Wörter" gefunden Reload Site/Script when "words" found Reload site

    Erstmal wieder ein Dankeschön für deine Arbeit, Mühe und dein Durchhaltevermögen .
    Das mit den Twitch Benachrichtigungen habe ich angestellt, mal schauen wie es funzt .

    Dein neuen Code, habe ich nun drinne, allerdings findet der nun in offline channels LIVE, wie auch immer das passieren kann o.o?
    Blöde frage, nur ich habe mit einem auto reloader heraus gefunden das die Live Änderung immer in 1 von den 3 body´s steckt.
    Kannst du damit etwas anfangen?
    Weil ich nicht weiß warum der im Offline Channel trotzdem Live findet. Wobei er danach auch nichts mehr tut.
    Daher is das hier hilfreich? (es gibt 3, weil es mal div:nth-of-type(3) , mal div:nth-of-type(4) und mal div:nth-of-type(5) is (relativ am ende stehen die))

    Code:
    1: 
    body > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > main:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1)
    
    oder
    2.
    body > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > main:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(4) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1)
    
    oder 
    3.
    body > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > main:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(5) > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1)


    EDIT:
    Also es geht, aber sobald er LIVE gefunden hat, passiert nach 15 Sekunden kein reload (egal ob Tab aktiv auf habe oder im Hintergrund ist).
    Heißt: Das Live ding funzt super, es fehlt nur: Das wenn er das gefunden hat, wartet er 15 sekunden und lädt dann 1x den Tab neu.

    Und mit der Benachrichtigung ist es so eine Sache, da die Fenster und Tabs im Hintergrund sind, passiert da nicht viel.
    Ein blauer kleiner punkt erscheint, aber ich kriege das ja nicht mit, kein Sound kein nix.
    Wenn wir die 2. Kleinen Mäkel noch ausbessern könnten. Wäre ich mehr als Glücklich und mehr als Dankbar
    Geändert von Iomega (24.11.2022 um 03:45 Uhr)

  9. #6
    Avatar von Manipulate
    Registriert seit
    04.12.2011
    Beiträge
    520
    Thanked 505 Times in 356 Posts

    Standard AW: Script wenn "Wörter" gefunden Reload Site/Script when "words" found Reload site

    Die Frage ist: Möchtest du unbedingt, dass er auf den Text "String" schaut, oder kann das Script viel expliziter sein?
    Wenn jemand offline ist und jemanden vorschlägt, der momentan live ist, findet er dann auch im gesamten HTML das Wort "LIVE". Dementsprechend könnte es false-positives geben, wie gesagt, es ist noch sehr simpel gehalten.
    Ich schätze es würde dir auch reichen, wenn ein beliebiger Sound abgespielt wird, wenn ein Stream live geht?

  10. #7
    Avatar von Iomega
    Registriert seit
    11.02.2013
    Beiträge
    227
    Thanked 6 Times in 6 Posts

    Standard AW: Script wenn "Wörter" gefunden Reload Site/Script when "words" found Reload site

    Zitat Zitat von Manipulate Beitrag anzeigen
    Die Frage ist: Möchtest du unbedingt, dass er auf den Text "String" schaut, oder kann das Script viel expliziter sein?
    Wenn jemand offline ist und jemanden vorschlägt, der momentan live ist, findet er dann auch im gesamten HTML das Wort "LIVE". Dementsprechend könnte es false-positives geben, wie gesagt, es ist noch sehr simpel gehalten.
    Ich schätze es würde dir auch reichen, wenn ein beliebiger Sound abgespielt wird, wenn ein Stream live geht?
    Ein Sound wäre auch gut oder irgendwas was es auffälliger macht (sodass man es auch im Hintergrund mitkriegt), will dir auch nicht zu viel abverlangen.
    Tust gerade schon sehr viel für mich.
    Hast du ansonsten vllt eine Losung, denn wenn er LIVE oder 5000 findet, passiert nach 15 Sekunden kein reload. (Heißt, das Skript erkennt LIVE oder 500, benachrichtigt (was wir bisher haben), nun wartet er 15 Sekunden und lädt einmal (1×) den Tab oder die Seite neu. Fertig. Das wäre was fehlt oder bisher nicht richtig funktioniert)
    Wenn beides behoben ist bin ich mehr als glücklich, das ist dann nämlich alles was ich wollte u das Ware es danach auch :-)
    Geändert von Iomega (24.11.2022 um 23:28 Uhr)

  11. #8
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.080
    Thanked 9.118 Times in 2.995 Posts
    Blog Entries
    5

    Standard AW: Script wenn "Wörter" gefunden Reload Site/Script when "words" found Reload site

    Das ist das Problem, wenn man im gesamten gesamten Quelltext (DOM) nach einer Zeichenkette sucht: Es gibt diverse Szenarien, in denen das fälschlicherweise Treffer generiert. Sei es durch Vorschläge oder andere Inhalte auf einer nicht selbst kontrollierten Seite wie z.B. Beschreibungsfelder. Ich würde das daher meiden und lieber die Struktur genauer anschauen und spezifische Selektoren entwickeln. Dafür sind HTML/XML ja gemacht. Ähnlich, wie ich es beim Web-Scraping mit Selenium hier mal gezeigt habe, was du machst ist im Grunde das Gleiche, nur an einer anderen Stelle (direkt im Browser, statt den Browser fernzusteuern). Den Selektor .twilight-main .live-indicator-container findet man Augenscheinlich nur, wenn ein Stream läuft. Damit wird auf die Inhaltsbox (ohne Sidebar links) gefiltert und in dem zweiten Container ist der "Live" Schriftzug unter dem Video:
    Code:
    let isLive = document.querySelector('.twilight-main .live-indicator-container') !== null


    Müsste man nun testen, ob das überall gleich ist, oder es möglicherweise spezielle Ausnahmen gibt. Die Entwickler-Werkzeuge der Browser sind dazu sehr nützlich, werden in Firefox und den meisten Chromium basierten Browsern mit F12 geöffnet. Noch detaillierter geht natürlich auch und reduziert die Fehleranfälligkeit. Beispielsweise könnte man einen Gegencheck machen, welcher Profilcontainer da sein müsste, wenn kein Stream läuft. Macht durchaus Sinn, weil das ja eine Drittanbieter-Seite ist, du keine definierten Schnittstellen nutzt und keine Kontrolle darüber hast. Irgendwann wird das nicht mehr funktionieren, wenn die an ihrer Struktur etwas ändern.

    Ein saubererer, aber auch aufwändigerer Weg wäre über die offiziellen APIs zu gehen. Darüber hatten wir eine Zeit lang mal den aktuellen Stream von Sky.NET hier eingebunden, sofern einer als laufend erkannt wurde. Theoretisch wäre über den Weg auch mehr denkbar, z.B. eine Benachrichtigung über Messenger oder so was. Den anonymen Zugang hat Twitch aber anscheinend abgeschaltet und fordert Authentifizierung. Wenn du den Browser eh die ganze Zeit offen hast, das reicht und dich nicht mit APIs, JSON & co. beschäftigen möchtest, ist das Injizieren in den Browser über Werkzeuge wie Tampermonkey für dich der einfachere/bessere Weg.


  12. The Following 3 Users Say Thank You to DMW007 For This Useful Post:

    Iomega (25.11.2022), Manipulate (25.11.2022), raspberryfan (30.11.2022)

  13. #9
    Avatar von Manipulate
    Registriert seit
    04.12.2011
    Beiträge
    520
    Thanked 505 Times in 356 Posts

    Standard AW: Script wenn "Wörter" gefunden Reload Site/Script when "words" found Reload site

    Hey DMW007, vielen Dank für deinen Input!
    Ich kam auch auf die Idee die offizielle Twitch-Api dafür zu nutzen, Problem war jedoch, dass ich dafür einen Key benötigen würde, ich meinen nicht weitergeben wollte und ich mir dann unsicher war, ob es vielleicht dann doch nicht overkill wäre. Wäre aber die sauberste Lösung von allen, da gebe ich dir Recht.
    Daher schaue ich mal mehr auf die Struktur von Twitch,- theoretisch könnte man auch ein kleines Script außerhalb des Browsers schreiben, welcher alle 15 Sekunden alle angegeben Twitch Channels abklappert und wenn einer Online kommt, ne Benachrichtigung erstellen und dann den Browser starten mit der Channel-URL. Wäre dann so ähnlich wie mit der offiziellen API, nur müsste man dann wahrscheinlich auch headless Selenium nutzen.. Was dann vllt. doch wieder etwas zu viel wäre. Am Wochenende habe ich mehr Zeit mir das genauer anzugucken.

    @Iomega wie häufig würden sich die Channel die du "abcampen" möchtest denn ändern? Wenn ich mich doch für das Script entscheide, wäre das konfigurierbar, aber wäre wahrscheinlich etwas ätzend bei häufiger Änderung.

  14. The Following 3 Users Say Thank You to Manipulate For This Useful Post:

    DMW007 (25.11.2022), Iomega (25.11.2022), raspberryfan (30.11.2022)

  15. #10
    Avatar von Iomega
    Registriert seit
    11.02.2013
    Beiträge
    227
    Thanked 6 Times in 6 Posts

    Standard AW: Script wenn "Wörter" gefunden Reload Site/Script when "words" found Reload site

    Zitat Zitat von Manipulate Beitrag anzeigen
    Hey DMW007, vielen Dank für deinen Input!
    Ich kam auch auf die Idee die offizielle Twitch-Api dafür zu nutzen, Problem war jedoch, dass ich dafür einen Key benötigen würde, ich meinen nicht weitergeben wollte und ich mir dann unsicher war, ob es vielleicht dann doch nicht overkill wäre. Wäre aber die sauberste Lösung von allen, da gebe ich dir Recht.
    Daher schaue ich mal mehr auf die Struktur von Twitch,- theoretisch könnte man auch ein kleines Script außerhalb des Browsers schreiben, welcher alle 15 Sekunden alle angegeben Twitch Channels abklappert und wenn einer Online kommt, ne Benachrichtigung erstellen und dann den Browser starten mit der Channel-URL. Wäre dann so ähnlich wie mit der offiziellen API, nur müsste man dann wahrscheinlich auch headless Selenium nutzen.. Was dann vllt. doch wieder etwas zu viel wäre. Am Wochenende habe ich mehr Zeit mir das genauer anzugucken.

    @Iomega wie häufig würden sich die Channel die du "abcampen" möchtest denn ändern? Wenn ich mich doch für das Script entscheide, wäre das konfigurierbar, aber wäre wahrscheinlich etwas ätzend bei häufiger Änderung.
    Erstmal wieder Danke .

    Zu dem Beitrag zu DMW komme ich gleich und Editiere ich dann .
    Bin gerade erst von Arbeit Heim.
    Die Channel sind immer die selben 4., sind derzeit die wichtigsten, die anderen Campe ich mit Chatty ab, nur das man da halt keine Punkte kriegt etc.

    Deine Lösung hört sich schonmal gut an und den Key könnte ich dir natürlich auch geben, wäre ja nicht so das problem.
    Es ist ja sowieso nur für eigennutzen.
    Bin null daran interessiert es weiter zu geben, geschweige sonstiges.
    Sonst hat das ja jeder und jeder dann auch etliche Punkte womit die etwas einlösen können und das muss nicht sein xD. Immerhin möchte ich die ja hehe.

    An einer API hatte ich auch schon gedacht, nur nebenbei bei der Arbeit Programmieren lernen, ist nun auch nicht all zu geil.
    Deswegen auch die frage nach dem Script.

    Weiß ja nicht wie viel Zeit es in Anspruch nimmt, daher dachte ich erstmal an das Script, sodass es so funktioniert und wenn du Lust hast kannst dann ja das mit der API machen .
    Eine Gegenleistung würdest du natürlich auch kriegen .

    Weiterhin danke allen die mir gerade helfen.


    Zitat Zitat von DMW007 Beitrag anzeigen
    Das ist das Problem, wenn man im gesamten gesamten Quelltext (DOM) nach einer Zeichenkette sucht: Es gibt diverse Szenarien, in denen das fälschlicherweise Treffer generiert. Sei es durch Vorschläge oder andere Inhalte auf einer nicht selbst kontrollierten Seite wie z.B. Beschreibungsfelder. Ich würde das daher meiden und lieber die Struktur genauer anschauen und spezifische Selektoren entwickeln. Dafür sind HTML/XML ja gemacht. Ähnlich, wie ich es beim Web-Scraping mit Selenium hier mal gezeigt habe, was du machst ist im Grunde das Gleiche, nur an einer anderen Stelle (direkt im Browser, statt den Browser fernzusteuern). Den Selektor .twilight-main .live-indicator-container findet man Augenscheinlich nur, wenn ein Stream läuft. Damit wird auf die Inhaltsbox (ohne Sidebar links) gefiltert und in dem zweiten Container ist der "Live" Schriftzug unter dem Video:
    Code:
    let isLive = document.querySelector('.twilight-main .live-indicator-container') !== null


    Müsste man nun testen, ob das überall gleich ist, oder es möglicherweise spezielle Ausnahmen gibt. Die Entwickler-Werkzeuge der Browser sind dazu sehr nützlich, werden in Firefox und den meisten Chromium basierten Browsern mit F12 geöffnet. Noch detaillierter geht natürlich auch und reduziert die Fehleranfälligkeit. Beispielsweise könnte man einen Gegencheck machen, welcher Profilcontainer da sein müsste, wenn kein Stream läuft. Macht durchaus Sinn, weil das ja eine Drittanbieter-Seite ist, du keine definierten Schnittstellen nutzt und keine Kontrolle darüber hast. Irgendwann wird das nicht mehr funktionieren, wenn die an ihrer Struktur etwas ändern.

    Ein saubererer, aber auch aufwändigerer Weg wäre über die offiziellen APIs zu gehen. Darüber hatten wir eine Zeit lang mal den aktuellen Stream von Sky.NET hier eingebunden, sofern einer als laufend erkannt wurde. Theoretisch wäre über den Weg auch mehr denkbar, z.B. eine Benachrichtigung über Messenger oder so was. Den anonymen Zugang hat Twitch aber anscheinend abgeschaltet und fordert Authentifizierung. Wenn du den Browser eh die ganze Zeit offen hast, das reicht und dich nicht mit APIs, JSON & co. beschäftigen möchtest, ist das Injizieren in den Browser über Werkzeuge wie Tampermonkey für dich der einfachere/bessere Weg.
    Danke dir ebenfalls für deine Nachricht.
    Dein Video habe ich mir mal angeschaut und joa, dann müsste ich mich natürlich mit Python einarbeiten und erlernen.
    Wobei es auf dem ersten Blick noch relativ machbar aussah, so wie du auch meintest .
    Zu deinem Code:
    Den habe ich versucht ins Tampermonkey script einzubauen, nur der spuckt ne fehlermeldung aus.
    eslint: null - parsing error: Unexpected token error
    Probiert habe ich es so:
    Code:
        ready(checkForString);
    
        function checkForString() {
            for (let isLive for stringToSearch) {
                if (document.querySelector('.twilight-main .live-indicator-container') !== null) {
                    alert("Found: " + isLive); // stops the page for reloading
    
                    // do other cool stuff here
    
                    return;
                }
            }
    und so kriege ich ein: eslint: no-undef - isLive is not defined
    Code:
        ready(checkForString);
    
        function checkForString() {
            for (let stringToSearch of isLive) {
                if (document.querySelector('.twilight-main .live-indicator-container') !== null) {
                    alert("Found: " + isLive); // stops the page for reloading
    
                    // do other cool stuff here
    
                    return;
                }
            }
    Geändert von Iomega (25.11.2022 um 13:10 Uhr)

Seite 1 von 2 12 Letzte

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 25.04.2018, 19:13
  2. Antworten: 1
    Letzter Beitrag: 29.12.2013, 14:31
  3. Antworten: 2
    Letzter Beitrag: 29.09.2012, 15:24
  4. Hacker-Angriff auf "World of WarCraft" und "Diablo 3"!
    Von Waterpolo im Forum Gaming-News
    Antworten: 3
    Letzter Beitrag: 10.08.2012, 23:35
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.