APIs anpassen / übersetzen

  • Hallöchen,


    ich bin gerade dabei dem Ankhbot ein paar Commands hinzuzufügen und bin dabei auf ein kleines Problem gestoßen.
    Geplant war ein Command mit dem angezeigt werden kann, wielange der Anwender bereits dem Kanal folgt.
    Dafür verwende ich folgende API https://api.rtainc.co/twitch/channels/CHANNEL/followers/VIEWER?format=[1]+has+been+following+[0]+for+[2].


    Das Problem daran ist, dass die Zeitangaben auf Englisch sind und ich diese gerne ins deutsche übersetzen würde.
    Macht ja keinen Sinn wenn da steht: Folgt seit 2 Months und 5 Days, anstatt Monaten und Tagen.



    Ist es möglich das irgendwie zu übersetzen oder gibt es andere Methoden diesen Command zum laufen zu kriegen?


    Ach da fällt mir noch ein, der Ankhbot speicher ja auch wielange man dem Stream zugeschaut hat und gibt diesen Wert ebenfals in Englisch wieder.
    Kann man das auch irgendwo übersetzen?

  • Hallo Cellzar,


    mein Rat an dich, mach es dir nicht so schwer und nimm eine API von einem Drittanbieter, wenn die offizielle Twitch API genau die gleiche Funktionalität bietet.


    Aufgebaut ist die notwendige Abfrage folgendermaßen:


    api.twitch.tv/kraken/users/ANDERERNAME/follows/channels/EIGENERNAME


    Damit wird überprüft, wie lange ein Nutzer (ANDERERNAME) schon deinem Channel (EIGENERNAME) folgt. Hierbei hast du auch nicht die Problematik, dass diese Funktion irgendwann nicht mehr funktioniert, so wie eben bei Drittanbietern.
    Diese fragen nämlich die offizielle Twitch API nicht anders ab.


    Das du nicht drum rum kommen wirst, entsprechende Modifikationen bzgl. der eigentlichen Darstellung vorzunehmen, ist hierbei allerdings auch selbstverständlich. Dafür kannst du es dann aber genau nach deinen Vorstellungen anzeigen lassen.
    Somit umgehst du auch das Problem, dass die Anzeige in englischer Sprache erfolgt.


    Zumindest hatte ich aus genau dem gleichen Grund (vorher fremder API Anbieter) meinen Bot angepasst. Die entsprechenden Änderungen kannst du in meinem Changelog vom 29.09.2016 nach lesen: Bot_Omb - Changelog


    Was die allgemein Sprache bei Ankhbot angeht, wäre mir jetzt spontan keine Möglichkeit bekannt, diese auf deutsch zu stellen, sofern es sich um integrierte Funktionen/Ausgaben handelt. Wobei allerdings manche Ausgaben ein "Custom Reply" Feld haben, in dem man dies anpassen können sollte.

  • Ich raffs grad nicht, sorry.


    Hab grad erst angefangen mich mit dem Kram auseinander zu setze und dementsprechend noch eine Ahnung. :P


    Deinen Changelog habe ich mir auch angesehen.
    Wo genau kann ich denn jetzt diesen API Kram anpassen?
    Und woran erkenne ich obs eine API von Drittanbietern ist?


    Jetzt bin ich noch viel verwirrter als vorher.


    Mein Command sieht jetzt wie folgt aus:
    $realuser bla bla $readapi(https://api.twitch.tv/kraken/users/$user/follows/channels/Cellzar).


    Da passiert dann einfach nichts.

  • Entschuldige wenn ich jetzt eher für Verwirrung gesorgt habe, war zumindest nicht von mir beabsichtigt.


    So wie du die API-Abfrage vornimmst, wird dies nicht funktionieren. Das liegt daran, dass die Twitch-API eine Client-ID für eine Abfrage verlangt. Eine Client-ID kannst du dir erstellen, in dem du dich auf Twitch einloggst und dort in deine Einstellungen gehst. Unter dem Punkt Verbindungen kannst du ganz unten folgendes auswählen "Registriere deine App". Dieser App gibst du einen Namen, trägst bei Redirect URI einfach http://localhost ein (irgendetwas muss da stehen, wird aber für unsere Zwecke nicht gebraucht) und drückst dann auf "Register" und schon bekommst du deine Client-ID angezeigt.


    Sofern du das ganze nochmal etwas genauer und mit Grafiken versehen nachvollziehen möchtest, verweise ich dich einfach mal auf unseren Blog-Beitrag zu diesem Thema: Twitch Kraken API - Zugriff mit Authentifizierung?!


    Interessant sollte dort für dich einfach der Punkt sein, wie du dir eine Client-ID erstellst. Der Rest braucht dich nicht weiter zu stören.


    Ansonsten hast du dann hier eine URL für eine beispielhafte Abfrage:


    https://api.twitch.tv/kraken/users/xgreeleyestates/follows/channels/Cellzar?client_id=


    Bei dieser musst du lediglich hinter client_id= deine entsprechende Client-ID eintragen und schon kannst du eine Abfrage zu dem Nutzer xgreeleyestates stellen. Ich habe hierbei einfach einmal die erste Person genommen, die dir gefolgt hat.


    Dann solltest du solch eine Ausgabe erhalten:



    Es handelt sich hierbei um eine JSON Ausgabe. In dieser findest du dann unter dem ersten Punkt "created_at" das Datum des Folgens: 07.08.2016 um 13:23:33


    So gesehen müsstest du dann "nur" aus der JSON das created_at abfragen.


    Wobei es etwas schwierig sein könnte, sofern du damit gerade erst angefangen hast :) Allerdings wäre dies die schöne und saubere Vorgehensweise. Ich müsste mal schauen, wie man das dann entsprechend in deinem verwendeten Bot anwenden könnte.


    Das eine API von einem Drittanbieter kommt erkennst du daran, dass es sich nicht um eine URL die api.twitch.de oder tmi.twitch.tv handelt und warum einen Umweg gehen, wenn es auch den direkten Weg gibt.


    Ich hoffe dich nicht noch mehr verwirrt zu haben!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!