Vorwort
Hallo an alle die sich in das neue Unterforum der Chatbots verirrt haben!
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.
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!
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