02.01.2016
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...
11.01.2016
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.