Twitch-Bot - Bot_Omb

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Twitch-Bot - Bot_Omb

    Anzeige
    Vorwort

    Hallo an alle die sich in den Forenabschnitt Coding & Programmierung 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 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?

    Haupt-Bot

    Spoiler anzeigen

    BefehlBerechtigungWirkung
    !follow0Betritt den Channel
    !unfollow0Verlässt den Channel
    !shutdown99Stoppt alle Sub-Bots und die dazugehörigen Threads
    !restart0Startet den Sub-Bot des dazugehörigen Channels neu
    !restart all99Startet alle Sub-Bots neu

    Sub-Bot

    Spoiler anzeigen

    Automatische Moderation

    Spoiler anzeigen

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


    Eigene Kommandos

    Spoiler anzeigen

    BefehlBerechtigungWirkung
    !command !com perm text99Fügt ein Kommando mit benötigtem Berechtigungslevel hinzu
    !remove command !com99Entfernt ein erstelltes Kommando
    !commands99Zeigt alle selbst erstellten Kommandos


    Wetten

    Spoiler anzeigen

    BefehlBerechtigungWirkung
    !start99Startet eine Wette
    !stop99Stoppt eine Wette
    !reset99Reset einer Wette
    !coins0Zeigt aktuelle Anzahl Münzen an
    !bet hh:mm:ss coins0Wettet für eine Zeit einen Betrag


    Berechtigungen

    Spoiler anzeigen

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


    Ankündigungen

    Spoiler anzeigen

    BefehlBerechtigungWirkung
    !announce ID hh:mm:ss text99Fügt eine Ankündigung hinzu die alle x Zeit geschrieben wird.
    !remove announce ID99Entfernt eine Ankündigung
    !announcements99Zeigt alle vorhandenen Ankündigungen an


    Begrüßung neuer Zuschauer

    Spoiler anzeigen

    BefehlBerechtigungWirkung
    !setting greetings on/off99Setzt den Status der Begrüßungen
    !setting greetings_interval 6099Prüfungsinterval für neue Zuschauer


    Umfragen

    Spoiler anzeigen

    BefehlBerechtigungWirkung
    !poll (optA / optB / ...) mm:ss99Startet eine Umfrage mit beliebiger Anzahl Auswahlmöglichkeiten
    !vote num99Stimmt für Auswahl x
    !result99Zeigt Ergebnis der Umfrage an


    Super Mario Maker

    Spoiler anzeigen

    BefehlBerechtigungWirkung
    !submit code99Fügt der Liste einen Code hinzu
    !remove level username99Entfernt das Level des Nutzers
    !levels99Zeigt alle eingetragenen Level an
    !next99Wä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 099Passt das Berechtigungslevel an
    !setting coin 099Passt das Berechtigungslevel an
    !setting command_add 9999Passt das Berechtigungslevel an
    !setting command_remove 9999Passt das Berechtigungslevel an
    !setting command_show 9999Passt das Berechtigungslevel an
    !setting privileges 9999Passt das Berechtigungslevel an
    !setting setting 9999Passt das Berechtigungslevel an
    !setting setting_show 9999Passt das Berechtigungslevel an
    !setting url 9999Passt das Berechtigungslevel an
    !setting bet 099Passt das Berechtigungslevel an
    !setting bet_start 9999Passt das Berechtigungslevel an
    !setting bet_stop 9999Passt das Berechtigungslevel an
    !setting bet_reset 9999Passt das Berechtigungslevel an
    !setting follow 099Passt das Berechtigungslevel an
    !setting unfollow 099Passt das Berechtigungslevel an
    !setting info 099Passt das Berechtigungslevel an
    !setting announce_add 9999Passt das Berechtigungslevel an
    !setting announce_remove 9999Passt das Berechtigungslevel an
    !setting announce_show 9999Passt das Berechtigungslevel an
    !setting smm_level_submit 9999Passt das Berechtigungslevel an
    !setting smm_level_submit_other 9999Passt das Berechtigungslevel an
    !setting smm_level_show 9999Passt das Berechtigungslevel an
    !setting smm_level_next 9999Passt das Berechtigungslevel an
    !setting poll_start 9999Passt das Berechtigungslevel an
    !setting poll_vote 9999Passt das Berechtigungslevel an
    !setting poll_result 9999Passt das Berechtigungslevel an


    Sprache

    Spoiler anzeigen
    BefehlBerechtigungWirkung
    !lang english99Setzt die Sprache auf englisch
    !lang german99Setzt die Sprache auf deutsch


    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.


    Das Verlinken auf die forenfremden Seiten wurde nach Absprache mit Chu genehmigt