Twitch-Bot - Bot_Omb

      Twitch-Bot - Bot_Omb

      Vorwort

      Hallo an alle die sich in den Forenabschnitt Ideen für Videos, Scripts und Planung verirrt haben und sich dachten, was tut sich da denn wieder für ein ominöser Thread aus den Untiefen erheben?

      Vorab ein paar Worte zu mir, ich bin serdrad0x / Serdradox und habe Python für mich entdeckt. Nein keine Angst, mit kaltblütigem Schlangengetier werdet ihr es hier nicht zu tun bekommen, dafür aber mit der wohlbekannten "Einrückung ist das A und O" - Sprache Python!

      Vor allem für die Streamenden hier, dürfte das Projekt recht interessant sein, aber auch für jeden der gerne im Code anderer rumschnüffelt. Insbesondere aber soll dies hier ein Platz sein, an dem gerne Fragen gestellt werden dürfen und auch sollen! Dies im Hinterkopf behaltend, können wir uns nun zum nächsten und wohl wichtigsten Schritt begeben! Denn worum handelt es sich bei den bereits getätigten knapp 140 Worten?

      Um was geht es?

      Die Rede ist von Bot_Omb, einem in Python geschriebenen Moderationsbot. Ich weiß ich weiß, die Menge tobt bei dieser großartigen Ankündigung, gibt es nicht doch bereits schon so einige Bots, welche sich auf Twitch tummeln und jetzt noch einer? Und ich sage ja!

      Die Idee einen Twitchbot zu entwickeln kam während dem "lurken" auf Twitch, die gewählte Sprache aufgrund dessen, da ich einen Raspberry Pi bei mir liegen hatte. Bei der Unterhaltung mit anderen Streamenden wurde auch schnell deutlich, dass die bisher verwendeten Bots teilweise bestimmte gewünschte Funktionalitäten nicht boten und das war ein perfekter Einstiegspunkt für mich.
      Auf Grundlage dessen, was mir so genannt wurde und aufgrund eigener Ideen konnte ich eine erste Version des Bots entwerfen. Natürlich gab es hier und da noch Schwierigkeiten, aber wer entwickelt schon direkt perfekte Software?

      Zumindest befindet sich der Bot_Omb nun auf einem meiner Meinung nach vorzeigbaren und von anderen nutzbaren Level. Aus diesem Grund möchte ich den Bot nun auch als Open Source Projekt weiterführen und gerne auch anderen die Möglichkeit bieten, sich an dem Code zu verlustieren.
      Keine Angst, falls unter den Lesenden hier die Berührungsängste mit dem Code zu groß sein sollte, so wird das Projekt auch als "Software as a Service" im Kleinen bereitgestellt. Was heißt das nun genau? Ihr könnt ohne gesonderte "Installation" (Ausführung des Python-Skripts) den Bot_Omb für euren Twitch Channel nutzen, um euch die alltäglichen Streamkleinigkeiten abzunehmen!

      Doch wer jetzt schon nach irgendeiner klickbaren URL sucht, seid vertröstet, quält euch erstmal durch den Text und am Ende gibts die Belohnung.

      Entwicklungsgeblubber

      Bei dem Bot an sich handelt es sich im tieferen Sinne um etwas, was einer Server <-> Client Beziehung nahe kommt. Der Haupt-Bot hat einen eigenen Account auf Twitch (Bot_Omb), dieser hat seinen eigenen Channel mit eigenem Chat. In diesem Chat werden grundlegende administrative Vorgänge in die Wege geleitet. Möchte man das der Bot in seinem persönlichen Channel aktiv wird, kann man dies über den Haupt-Channel initialisieren.
      Der Server (Haupt-Channel) erzeugt bei Bedarf seine "Clients" und sendet diese in die entsprechenden (Sub-Channel). Die Fähigkeiten der "Clients" unterscheiden sich dahingehend, dass sie hauptsächlich für die Verwaltung des jeweiligen Channels in dem sie sitzen zuständig sind.

      Hierbei sei noch angemerkt, dass die komplette Administration über den Twitch Chat und den zum Bot dazugehörigen Kommandos erfolgt! Nein, aktuell gibt es kein Web-Interface über welches man Einstellungen vornehmen kann!

      Grundsätzlich läuft es so ab, der Haupt-Bot erzeugt nach Anfrage einen neuen Sub-Bot. Die erzeugten Sub-Bots werden gespeichert und bei einem Neustart des Haupt-Bots wieder alle geladen.
      Aktuell ist es so, dass ein Sub-Bot einen Channel überwacht. Es ist aber auch möglich mi einem Sub-Bot mehrere Channel zu überwachen.Hinsichtlich der "Performance" in irgendeiner Zukunft könnte man hier den Gedanken starten, je nach Auslastung der verwalteten Channel diese zwischen einzelnen Sub-Bots zu verschieben. So könnte man Channel mit geringer Chatauslastung zusammenfassen und Channel mit großer Chatauslastung auslagern.

      Aber das ist nur ein Gedankenspiel, welches noch genauer erarbeitet werden muss.

      Nach dem ganzen Schnick-Schnack nun die Frage, was kann der Bot_Omb eigentlich?

      Für die Übersicht der Befehle schaut in folgenden Beitrag: Befehle des Bots
      Leider können die Punkte hier nicht aufgeführt werden, da es eine Zeichenbegrenzung von maximal 10.000 Zeichen gibt und ich diese freudigerweise überschritten habe.

      Wo gibts was zu sehen?

      Beeindruckt? Nein? Auch gut, aber dann wäre es doch höchste Zeit eigene Vorschläge einzubringen!
      Wie gesagt handelt es sich bei dem Bot um ein Open-Source Projekt und als solches wir der Code auch frei zugänglich auf GitHub zur Verfügung gestellt. Weiterhin gibt es eine Anleitung wie man den Bot leicht um eigene Funktionen erweitern kann.
      Damit sollte der erste schnelle Einstieg gegeben sein und im Notfall stehen euch jegliche Kommunikationswege offen, um einmal genauer nachzufragen.

      Puh da hab ich ja ganz schön viele Worte verloren, ich hoffe es war dennoch erträglich sofern sich jemand bis hierhin durchgekämpft haben sollte. Abschließend möchte ich noch auf drei weitere Informationsquellen verweisen die sicherlich hilfreich für das Projekt sein sollten:

      Auf GitHub findet ihr den kompletten Python-Code sowie weitergehende Informationen zur Nutzung des Bots. Über GitHub wird auch die Verwaltung von Änderungen festgehalten werden. Sagen wir einfach GitHub kommt seiner Aufgabe der Versionierung voll und ganz nach!

      Das Repository findet ihr unter: github.com/DHikade/Bot_Omb

      Natürlich hat der Bot_Omb auch einen Twitch Channel. Dort findet ihr alles was ihr wissen müsst um ihn in eurem Channel aktiv nutzen zu können.

      Der Twitch Channel lautet: twitch.tv/bot_omb

      Zu guter letzt noch meine offizielle Projektseite. Dort steht auch hier und da nochmal was zu dem Bot und seinen Funktionen.

      Die Projektseite erreicht ihr unter: dhika.de/index.php?id=bot_omb
      Nachwort

      Wie gesagt, ihr seid recht herzlich eingeladen Vorschläge, Anregungen und (konstruktive) Kritik beizutragen.
      Dann bedanke ich mich bereits bei allen, die sich die Zeit nahmen, einmal hier reinzuschauen und bin gespannt, was da noch so kommen mag.

      Abschließend sei noch zu sagen, wenn der Bot einmal nicht zu erreichen ist, wird wohl "irgendwas" passiert sein, was vorher nicht bedacht wurde. Seht es ihm also für den Moment bitte nach.
      Hi, ich bin Bot_Omb der Twitch Moderationsbot. Mehr Infos zu mir findest du >> Hier << und zur Retro-Elite << Hier >>

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „serdrad0x“ () aus folgendem Grund: Verlinkung von "Befehle des Bots" angepasst. Nick von Serdradox zu serdrad0x (wie auf Twitch) geändert + Verlinkung.

      Warum sollte ich den Bot verwenden?

      Dies ist eine Frage die sich wohl jeder vor der Verwendung eines Bots stellt und grundsätzlich muss auch jeder selbst für sich die Antwort auf diese Frage finden. Nichtsdestotrotz möchte ich versuchen euch eine Anregung dafür zu geben wieso Bot_Omb eine Chance verdient hat.

      Der durchschnittliche Nutzer eines Bots wird wohl in den seltensten Fällen etwas mit Software-Entwicklung zu tun haben. Ein Fakt den ich in einigen Gesprächen schon feststellen konnte. Weiterhin gibt es Nutzer die Englisch als Sprache nicht "mögen" und den Bot lieber in einer deutschsprachigen Version nutzen würden. Weiterhin sind viele davon geprägt der Maus den Vortritt gegenüber der Tastatur zu lassen.

      Zumindest die sprachliche Barriere sollte mit der Möglichkeit die Sprache des Bots wechseln zu können gebrochen sein. Um den Bot zu verwenden muss man glücklicherweise auch nicht programmieren können. Lediglich das Interface kann euch Bot_Omb momentan noch nicht bieten. Ihr seid daher gezwungen eure Einstellungen direkt in eurem Twitch Channel zu tätigen. Grundsätzlich nichts schlimmes, da somit die Funktionalität des Bots komplett auf Twitch liegt und nicht über eine externe Seite verwaltet werden muss.

      Angeboten wird der Bot "theoretisch" in zwei Versione:

      - Ihr könnt ihn einmal als "Software as a Service" nutzen, dass heißt direkt über den Channel des Bot_Omb einen Bot in euren eigenen Channel holen. Die Infrastruktur wird hierbei vom "Service-Anbieter" bereitgestellt.

      - Ihr ladet das Python-Skript und führt den Bot auf eurem eigenen System aus.

      Variante zwei nimmt euch zwar die Abhängigkeit das alles bei mir funktioniert, verpflichtet euch aber auch selbst aktiv zu werden und den Bot nach Anleitung oder auf Anfrage hier bei euch einzurichten. Dies "sollte" kein Problem darstellen, kann es aber trotzdem!

      Ein guter Vorteil von Seiten der Entwicklung ist es, dass leicht neue Funktionen dem Bot hinzugefügt werden können. Da ich eh interessiert bin den Bot weiter zu entwickeln und so gesehen auf Ideen von außerhalb angewiesen bin, könntet ihr hier für diesen Bot eigene Vorschläge zur Funktionalität machen und könnt so eigene Wünsche einbringen die ihr bei einem bereits verwendeten Bot lange vermisst habt.

      Der Quellcode ist einsehbar und steht jedem zur Verfügung. Dadurch ist garantiert, dass dieses Projekt auch späteren Entwicklern zur Verfügung steht. Vielleicht wolltet ihr sogar selbst einen Bot schreiben habt aber nie den Anfang dafür gefunden, dann ist dieses Projekt doch genau das Richtige für euch!

      Ihr habt Fragen, es gibt ein Problem? Dann könnt ihr hier ganz einfach nachfragen. Einfacherer und direkter könnt ihr wohl kaum eine Frage an einen Entwickler stellen.

      Sollte es für den Bot ein Interface geben und diese Zeit wird gewiss "irgendwann" kommen, dann kann ich jetzt schon sagen das es ein Web-Interface werden wird und kein Client zum downloaden! Allerdings ist es jetzt noch zu früh, über sowas zu reden.

      Der Bot bietet bereits eine große Anzahl von Funktionen die auch funktionieren! Habt ihr den Bot in den Channel geholt müsst ihr kaum bis gar keine Anpassungen vornehmen damit der Bot auch tatsächlich funktioniert. Sollte doch etwas an den Einstellungen angepasst werden müssen, wird euch die Dokumentation gute Dienste leisten diese Aufgabe ohne Probleme zu bewältigen.
      Jeder Befehl hat ein eigenes Ausführungslevel. Dadurch könnt ihr euren Zuschauern gezielt Berechtigungen zuweisen! Es wird nicht abhängig davon gemacht ob jemand Mod ist sondern ihr allein könnt entscheiden!

      Sollte mal etwas schief gehen, ist mit !restart der Bot ohne Umwege direkt wieder funktionsbereit in eurem Channel.

      Es gibt wohl keinen Grund, warum sich der Bot_Omb vor anderen Vertretern dieses Genres verstecken müsste!
      Hi, ich bin Bot_Omb der Twitch Moderationsbot. Mehr Infos zu mir findest du >> Hier << und zur Retro-Elite << Hier >>

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Serdradox“ () aus folgendem Grund: Vorher: Funktionsliste - Hinzugefügt: Warum sollte ich den Bot Verwenden


      Haupt-Bot

      Spoiler anzeigen

      BefehlBerechtigungWirkung
      !follow
      0Betritt den Channel
      !unfollow
      0Verlässt den Channel
      !shutdown
      99Stoppt alle Sub-Bots und die dazugehörigen Threads
      !restart
      0Startet den Sub-Bot des dazugehörigen Channels neu
      !restart all
      99Startet alle Sub-Bots neu
      !follows0Zeigt Anzahl Follower, die eine Benachrichtigung bekommen wenn der Stream startet.

      Sub-Bot
      Spoiler anzeigen

      Automatische Moderation
      Spoiler anzeigen

      BefehlBerechtigungWirkung
      !setting warning_url on/off
      99Verwarnung für URL
      !setting warning_caps on/off
      99Verwarnung für Caps
      !setting warning_long_text on/off
      99Verwarnung für zu langen Text im Chat


      Eigene Kommandos
      Spoiler anzeigen

      BefehlBerechtigungWirkung
      !command !com perm text
      99Fügt ein Kommando mit benötigtem Berechtigungslevel hinzu
      !remove command !com
      99Entfernt ein erstelltes Kommando
      !commands
      99Zeigt alle selbst erstellten Kommandos


      Wetten
      Spoiler anzeigen

      BefehlBerechtigungWirkung
      !start
      99Startet eine Wette
      !stop99Stoppt eine Wette
      !reset99Reset einer Wette
      !coins0Zeigt aktuelle Anzahl Münzen an
      !bet hh:mm:ss coins
      0Wettet für eine Zeit einen Betrag


      Berechtigungen
      Spoiler anzeigen

      BefehlBerechtigungWirkung
      !priv username level
      99Setzt für den Nutzer ein Berechtigungslevel zur Verwendung der Bot-Befehle


      Ankündigungen
      Spoiler anzeigen

      BefehlBerechtigungWirkung
      !announce ID hh:mm:ss text
      99Fügt eine Ankündigung hinzu die alle x Zeit geschrieben wird.
      !remove announce ID
      99Entfernt eine Ankündigung
      !announcements
      99Zeigt alle vorhandenen Ankündigungen an


      Begrüßung neuer Zuschauer
      Spoiler anzeigen

      BefehlBerechtigungWirkung
      !setting greetings on/off
      99Setzt den Status der Begrüßungen
      !setting greetings_interval 60
      99Prüfungsinterval für neue Zuschauer


      Umfragen
      Spoiler anzeigen

      BefehlBerechtigungWirkung
      !poll (optA / optB / ...) mm:ss
      99Startet eine Umfrage mit beliebiger Anzahl Auswahlmöglichkeiten
      !vote num
      99Stimmt für Auswahl x
      !result
      99Zeigt Ergebnis der Umfrage an


      Super Mario Maker
      Spoiler anzeigen

      BefehlBerechtigungWirkung
      !submit code
      99Fügt der Liste einen Code hinzu
      !remove level username
      99Entfernt das Level des Nutzers
      !levels
      99Zeigt alle eingetragenen Level an
      !next
      99Wählt das nächste Level aus


      Ungeklärte Fragen
      Spoiler anzeigen

      BefehlBerechtigungWirkung
      !help0Zeigt die Hilfe an
      !info0Gibt Informationen zum Bot


      Einstellungen
      Spoiler anzeigen

      BefehlBerechtigungWirkung
      !setting help 0
      99Passt das Berechtigungslevel an
      !setting coin 0
      99Passt das Berechtigungslevel an
      !setting command_add 99
      99Passt das Berechtigungslevel an
      !setting command_remove 99
      99Passt das Berechtigungslevel an
      !setting command_show 99
      99Passt das Berechtigungslevel an
      !setting privileges 99
      99Passt das Berechtigungslevel an
      !setting setting 99
      99Passt das Berechtigungslevel an
      !setting setting_show 99
      99Passt das Berechtigungslevel an
      !setting url 99
      99Passt das Berechtigungslevel an
      !setting bet 0
      99Passt das Berechtigungslevel an
      !setting bet_start 99
      99Passt das Berechtigungslevel an
      !setting bet_stop 99
      99Passt das Berechtigungslevel an
      !setting bet_reset 99
      99Passt das Berechtigungslevel an
      !setting follow 0
      99Passt das Berechtigungslevel an
      !setting unfollow 0
      99Passt das Berechtigungslevel an
      !setting info 0
      99Passt das Berechtigungslevel an
      !setting announce_add 99
      99Passt das Berechtigungslevel an
      !setting announce_remove 99
      99Passt das Berechtigungslevel an
      !setting announce_show 99
      99Passt das Berechtigungslevel an
      !setting smm_level_submit 99
      99Passt das Berechtigungslevel an
      !setting smm_level_submit_other 99
      99Passt das Berechtigungslevel an
      !setting smm_level_show 99
      99Passt das Berechtigungslevel an
      !setting smm_level_next 99
      99Passt das Berechtigungslevel an
      !setting poll_start 99
      99Passt das Berechtigungslevel an
      !setting poll_vote 99
      99Passt das Berechtigungslevel an
      !setting poll_result 99
      99Passt das Berechtigungslevel an


      Sprache
      Spoiler anzeigen

      BefehlBerechtigungWirkung
      !lang english
      99Setzt die Sprache auf englisch
      !lang german
      99Setzt die Sprache auf deutsch


      Befehls-Changelog
      • Der Befehl !follows wurde hinzugefügt und zeigt die Anzahl Follower, die eine Benachrichtigung bei Streamstart erhalten. Der Befehl kann nur beim Haupt-Bot ausgeführt werden.
      Hi, ich bin Bot_Omb der Twitch Moderationsbot. Mehr Infos zu mir findest du >> Hier << und zur Retro-Elite << Hier >>

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „serdrad0x“ ()

      Bot_Omb & Twitter

      Der Bot_Omb hat ein neues und etwas größeres, nennen wir es einfach erwähnenswertes, Feature spendiert bekommen. Dieser schreibt nämlich nun einen "zufällig" generierten Text auf Twitter, der eine Verlinkung zu eurem Channel der gerade online gegangen ist enthält.

      Alle X Minuten prüft Bot_Omb über die Twitch API ob ein Stream online ist und sobald dies erkannt wird, erfolgt der Beitrag. Es wird pro Stream der online geht nur ein Beitrag auf Twitter erstellt!

      Aktuell benötigt der Bot_Omb eine Liste der "Nutzer", gegen die geprüft werden soll ob deren Stream aktiv ist. Grundsätzlich hätte ich es auch so machen können, dass jeder Bot Nutzer dort niedergeschrieben wird und nachträglich lässt sich dies noch sehr leicht anpassen.
      Der eigentliche Grund für die Liste ist, dass man so gezielt Leute hinzufügen kann.

      Dieses Feature ist besonders interessant für Streamer, die über einen Bot verschiedene Kanäle auf Twitter "promoten" wollen bspw. für ihre eigene kleine Twitch-Gruppe. So können Leute die dem Twitter-Account folgen sofort feststellen, ob jemand aus einer "Gruppe" online ist.

      Um die Funktionalität zu gewährleisten wird Twython benötigt! Wer für seine eigene Verwendung des Bot_Omb diese Funktion nicht benötigt, kann diese leicht rausnehmen. Die Grundfunktionalitäten werden über die Twitter.py gewährleistet.

      Wie viele Follower habe ich?

      Diese Frage ist leicht beantwortet, schau einfach unten rechts von deinem Stream und du siehst die Zahl. Doch wie viele der Follower bekommen eine Benachrichtigung wenn ich online gehe? Diese Frage kann man nicht so leicht beantworten.

      Daher hat der Bot_Omb einen neuen Befehl spendiert bekommen. Über !follows ermittelt der Bot_Omb anhand eurer Anzahl von Followern wie viele davon eine Nachricht bekommen sobald ihr Live geht.
      Pro Nutzer ist eine Anfrage für sich selbst gleichzeitig möglich. Je nach Anzahl eurer Follower kann es eine Weile dauern, bis Bot_Omb durch alle durchgegangen ist. Da dies über Threads abgehandelt wird, werden die anderen Funktionalitäten des Bots nicht beeinträchtigt in der Bearbeitungszeit.

      Das Ergebnis bekommt ihr dann per Whisper zugeflüstert. Diese Funktion ist nur im Hauptchannel unter Twitch möglich!

      Was kommt als nächstes?

      Schauen wir einfach mal...

      Hi, ich bin Bot_Omb der Twitch Moderationsbot. Mehr Infos zu mir findest du >> Hier << und zur Retro-Elite << Hier >>
      Wenn ich meine Augen über den kleinen Stapel 5cm x 4cm großen PostITs schweifen lasse fällt mir auf, dass ich doch einiges die Tage hier geschafft habe. Genauso gut sehe ich aber auch, dass noch einiges vor mir liegt.

      Nach dem folgenden schönen Thread Twitch Punktesystem und dem Gespräch mit ApfelBraut sowie ein paar Änderungen die mir am Herzen lagen, konnte ich einige Verbesserungen/Erweiterungen vornehmen.

      Folgende Neuerungen sind hinzugekommen und (sollten) ohne Probleme funktionieren:
      • Mit dem Befehl !member können sich Nutzer in eurem Channel anzeigen lassen, wie lange sie euch schon folgen.
      • Mit dem Befehl !member username (!member serdrad0x) könnt ihr euch von einzelnen Nutzern anzeigen lassen, wie lange sie euch schon folgen.
      • Mit dem Befehl !uptime könnt ihr im Chat anzeigen, wie lange euer Stream schon online ist.
      • Mit dem Befehl !rank add rank priv (!rank add Gurke 0)könnt ihr einen Rang mit einem Befugnisslevel verknüpfen.
      • Mit dem Befehl !ranks werden euch alle Ränge eures Channels angezeigt.
      • Mit dem Befehl !rank remove rank (!rank remove Gurke) lässt sich ein bestimmter Rang eures Channels entfernen.
      • Mit dem Befehl !rank me wird euch euer aktueller Rang angezeigt. Ist kein Rang mit eurem Befugnisslevel verknüpft, wird euch eure Befugniss angezeigt.
      • Mit dem Befehl !priv username rank (!priv serdrad0x Gurke) könnt ihr euren Nutzern nun mit Rängen verknüpfte Befugfnislevel erteilen.

      Folgende Verbesserungen wurden gemacht:
      • Die Sprache welche über !lang language eingestellt wird, bleibt bei einem Neustart des Bots erhalten.
      • Im Hauptchannel vom Bot angezeigte follows (Follower die Benachrichtigung beim Online gehen bekommen) mit !follows werden nun in mehreren Threads gleichzeitig abgearbeitet! Als kleines Beispiel hat eine Anfrage für 40.000 Follower vorher ca. 26 Minuten gedauert. Diese wurde nun auf etwa 10 Minuten reduziert.
      Folgende Funktionen sind bereits enthalten, haben aber noch schwächen:
      • Mit dem Befehl !bank robbery kann ein Banküberfall gestartet werden.
      • Mit dem Befehl !bank spy kann die Bank ausspioniert werden.
      • Mit dem Befehl !bank robbery flee kann von einem Banküberfall geflohen werden.
      • Mit dem Befehl !bank guards werden die Wächter der Bank angezeigt.
      • Mit dem Befehl !bank guard add name difficulty (!bank guard add Tim 60) kann ein neuer Wächter hinzugefügt werden.
      • Mit dem Befehl !bank guard remove name (!bank guard remove Tim) kann ein Wächter entfernt werden.
      Der Inhalt der Bank (Tresor, Wachen) ändert sich alle X Minuten. Die Wächter sowie deren Anzahl wird ebenfalls zufällig bestimmt. Mit dem spy Befehl kann man sich vor dem Überfall einen Eindruck verschaffen. Jenachdem ob die Spionage klappt, erhält man Infos über die Wächter sowie den Inhalt des Tresors. Eine Spionagemission dauert immer zufällig lange. Je mehr spioniert wird, desto mehr werden die Wächter vorsichtig. Daher erhöht sich mit jeder Spionage der Schwierigkeitsgrad. Wenn man an einem Raubzug teilnimmt und flieht, hat man je nach Anzahl der Raubteilnehmer eine erhöhte Chance noch fliehen zu können. Je weniger teilnehmen desto schwerer ist es. Während eines Überfalls kann man erst entdeckt und im schlimmsten Fall gefangen genommen werden.

      Soweit erstmal dazu, es fehlt noch das man "Geld" vom Raubzug bekommt und eben eine "Strafe" sofern man erwischt wird. So zum testen funktioniert aber schon mal alles.

      Was ist noch geplant:
      • Die Twitter-Funktion soll nicht sofort bei Streamneustart greifen. Das heißt, wenn der Stream abstürzt und neu gestartet wird, soll sofern innerhalb der letzten X Minuten bereits auf Twitter gepostet wurde, nicht nochmal gepostet werden.
      • Die CSV Datein die aktuell von "Hand" geupdated werden, sollen aufgrund der CSV-Dateien des Haupt-Bots geupdated werden.
      • Irgendwie ist der Wurm bei den Umlauten der deutschen Sprache drin. Ich konnte es bisher nicht fixxen, werden aber weiter ein Auge darauf werfen.
      • Die Bot Befehle sollen ein wenig umstrukturiert werden. Vorne der "Haupt"-Punkt gefolgt von den "Unter"-Punkten !main sub
      • Die Ausgabe der Nachrichten soll eingestellt werden können. So kann man selbst entscheiden ob Ausgaben im Chat oder Geflüstert werden sollen.
      • Die Watchtime der Nutzer soll ermittelt werden können. In diesem Zusammenhang auch ein Punktesystem für Zuschauer.
      • Umfragen sollen nicht mehr nur auf den !vote id Befehl begrenzt werden sondern auch anhand von Wörtern (#tomate) ausgewählt werden können.

      Ich denke, da brauch sich der Bot nicht verstecken. Soweit bin ich recht zufrieden mit der bisherigen Umsetzung, dass mit der Ausgabe der Befehle ob Chat oder Whisper wird bestimmt noch eine Qual (nicht weil es schwer ist sondern viel).
      Die Funktionen sind noch nicht auf GitHub zu finden, sondern lediglich in der "Live"-Version. Berechtigungen können soweit für die Ausführung der Befehle schon gesetzt werden, liegen aber meist bei 99 weil noch nicht auf GItHub und testen und so!

      Dann danke ich fürs lesen und wenn noch wer Ideen hat, Vorschläge oder Verbesserungen, ich höre mir diese gerne an.
      Hi, ich bin Bot_Omb der Twitch Moderationsbot. Mehr Infos zu mir findest du >> Hier << und zur Retro-Elite << Hier >>
      ich setz mal mein 'zeugs' hier drunter jetzt ^^
      gibt es mittlerweile punkte für das zusehen ?
      dein bot meckert über nightbot/wizebot wegen links und caps, wie kann ich das ändern ?
      die sprachausgabe ist teils deutsch und englisch, hier mal ein beispiel :Du konntest 1 guard/s with the following information [['Karl', '20']]. The vault holds an amount of 107 coins!
      lösch das einfach hier wenn es nicht gewollt ist hier drunter zu schreiben !
      :thumbup:
      Punke gibt es noch keine, wenn es zeitlich klappt werde ich mich da am Sonntag mal dran machen.

      Der Grund dafür, dass Bot_Omb über Nightbot/Wizebot meckert liegt daran, dass du die Auto-Moderation aktiv hast und die beiden genannten Bots "Nachrichten" verschicken die im Chat nicht angezeigt werden, mein Bot allerdings empfängt. Beispielsweise zählen darunter Kommandos wie ACTION. Darauf reagiert dann mein Bot und wird etwas "böse".
      us diesem Grund wurde nun auch eine Whitelist hinzugefügt. Nutzer in dieser werden von der Auto-Moderation nicht mehr belangt. Ansonsten würde es auch bei einem Befugnisslevel ab 70 nicht mehr von Bot_Omb beachtet werden. Allerdings möchte man nicht jedem Nutzer/Bot einfach irgendwelche Rechte geben nur damit die Verwarnungen nicht mehr aktiv werden. Daher die Whitelist.

      Die Befehle sind:
      • !whitelist add user (!whitelist add nightbot) um einen Nutzer zur Liste hinzuzufügen.
      • !whitelist remove user (!whitelist remove nightbot) um einen Nutzer von der Liste zu entfernen.
      • !whitelists um alle Nutzer auf der Whitelist anzuzeigen.
      Was die fehlerhafte Sprachausgabe angeht habe ich wohl etwas übersetzt und wurde dann abgelenkt und habs dann vergessen. Dies wurde nun behoben.

      Ich kann hier leider nichts löschen und ich denke es gibt dafür auch keinen Grund. Wenn es Probleme gibt, immer her damit, sonst können diese ja nicht behoben werden.

      Ansonsten habe ich die Twitter-Funktion insofern optimiert, dass ein Stream der innerhalb von 15 Minuten neustartet und bereits auf Twitter gepostet wurde, nicht nochmal hierfür beachtet wird.

      Außerdem wurde der !follows Befehl verbessert, da API abfragen die keine Rückmeldung erhalten (weil Twitch API muffig oder so) nicht zu Problemen führen.
      Hi, ich bin Bot_Omb der Twitch Moderationsbot. Mehr Infos zu mir findest du >> Hier << und zur Retro-Elite << Hier >>
      Ein kleines Update zum aktuellen Stand der Lage.

      Es gab ein paar Verbesserungen, die sogar erwähnenswert sind. So wurde die Twitter Funktionalität weiter verbessert. Um doppelte identische Tweets zu vermeiden, lädt Bot_Omb beim Start den letzten Tweet von Twitter und speichert diesen zwischen. Kommt es dann zu einem Tweet, wird einfach gegen den "letzten Tweet" geprüft und bei Bedarf ein neuer gewählt.
      Natürlich wird dadurch der gespeicherte "letzte Tweet" durch den Neuen ersetzt.

      Auch die Problematik mit den Umlauten wurde beseitigt. Das Wirrwarr von encode/decode was es vormals gab, wurde entfernt und damit auch die Fehlerquelle!

      Die Prüfung der "watch time" hat auch Verbesserungen erfahren, so sollte es nun nicht mehr zu Zeitresets kommen, da ein Nutzer aus der Twitch API nicht gefunden werden konnte.

      Ein Fehler im Umfragesystem wurde beseitigt. Es wurden vorher "negative" Votes akzeptiert, z.B. Testumfrage 0. Ja 1. Nein ---> #-1. Dies klappt jetzt nicht mehr. Dafür werden bei den Hashtag Votes neben bspw. #OptX auch #id akzeptiert.

      Für die Ankündigungen wurde noch eine Beschränkung eingerichtet und zwar kann man nun maximal drei Ankündigungen haben und diese mit einer minimalen Verzögerung von einer Minute ausgeben.

      Ansonsten wurden nun auch alle Änderungen auf GitHub zur Verfügung gestellt!

      Folgende Probleme gibt es:
      • Whitelist: Hier ist der Wurm drin, aber finden konnte ich ihn bisher leider nicht. Ursache dafür, dass fremde "Bots" teilweise in der Whitelist nicht akzeptiert werden, liegt scheinbar daran, wie diese ihre Befehle an Twitch übermitteln.
      Folgende Neuerungen gibt es:
      • Mit dem Befehl !clam question könnt ihr die magische Miesmuschel nach den wichtigen Dingen des Lebens befragen.
      • Mit dem Befehl !roulette startet ihr das bekannte Spiel, aber gebt Acht! Nicht das es euer letzter Versuch war...
      • Mit dem Befehl !hug random zeigt ihr einer zufälligen Person im Chat, wie gern ihr sie habt!
      • Mit dem Befehl !hug person zeigt ihr einer bestimmten Person im Chat, wie gern ihr sie habt!
      Dann bleibt mir nur noch viel Spaß zu wünschen, beim austesten der Funktionen!
      Hi, ich bin Bot_Omb der Twitch Moderationsbot. Mehr Infos zu mir findest du >> Hier << und zur Retro-Elite << Hier >>
      Es gab so viele Änderungen und trotzdem sieht es so aus, als hätte sich nichts geändert. Wie kann das sein?

      Grundsätzlich habe ich mich daran gemacht, die internen Strukturen (ein wenig) zu säubern. Es gab viel zu viele Redundanzen bei Funktionen, die mehrfach Verwendung fanden. Ich weiß nicht genau warum ich diese nicht gleich in einer externen Klasse ausgelagert habe, aber jetzt ist es ordentlicher. Betroffen waren davon folgende Funktionen:
      • save(file_path, data)
      • load(file_path)
      • update(key, data, frm)
      • get_element(key, frm)
      • create(files)
      • show(elements)
      • has(arr, element)
      • string_to_bool(message)
      • isNumber(value)
      Allein schon an den Bezeichnungen sollte es deutlich werden, wofür diese Funktionen Verwendung finden und warum man nicht überall eine eigene "Funktion" benötigt. Durch diese Verallgemeinerung wurden auch einige Zeilen Code angepasst um auch die weitere Funktionalität zu gewährleisten.

      Neben diesen Anpassungen waren die Anfragen an die API von Twitch auch nicht sehr schön. Daher gibt es hierfür nun einen festen Thread der alle X Minuten eine Anfrage schickt um die Datenbestände zu aktualisieren. So umgeht man das Problem, wenn mal eine Anfrage verloren geht, endet es nicht in einem Fehler sondern man greift auf die Daten zurück, die noch vorhanden sind.

      Die Änderungen sind bereits auf GitHub veröffentlicht und können sich dort gerne angesehen werden, falls daran Interesse besteht.
      Hi, ich bin Bot_Omb der Twitch Moderationsbot. Mehr Infos zu mir findest du >> Hier << und zur Retro-Elite << Hier >>
      Keine Sorge, nur weil man seit längerem nichts vom Bot gehört hat heißt es nicht, dass es nicht voran geht. Meist laufen die ungehörten Dinge am Besten :)

      Ich wollte hier auch nur kurz anmerken, dass der Bot nun die Voraussetzungen der Kraken API Anfragen, die ab 08.08.2016 in Kraft treten werden, erfüllt.

      Falls es jemand nicht mitbekommen hat, ab kommenden Montag (08.08.2016) muss für eine Anfrage an die Kraken API die Client-ID mitgeschickt werden. Diese Voraussetzung gab es schon "immer" nur war Twitch nicht so dahinter her, diese Anforderung auch einzufordern. Dies ändert sich nun allerdings!

      Weitere Informationen hierzu finden sich unter:

      - Client-ID Requirement FAQs - API - Twitch Developer Forums
      - Client-ID required for Kraken API calls — Twitch Blog
      Hi, ich bin Bot_Omb der Twitch Moderationsbot. Mehr Infos zu mir findest du >> Hier << und zur Retro-Elite << Hier >>