API Dokumentation

Was auch immer nicht in die anderen Themenbereiche passt.
ch4d1
Beiträge: 12
Registriert: Mo 16. Jan 2023, 01:40
Hat sich bedankt: 8 Mal
Danksagung erhalten: 1 Mal

API Dokumentation

Beitrag von ch4d1 »

Hi zusammen,

ich habe mich die Tage angefangen mit dem Bot zu beschäftigen. Habe es erfolgreich geschafft die Konsolen Version zusammen mit dem bereitgestellten Web Interface in einen Docker Container zu schmeißen und zum laufen zu bringen.

Allerdings kam mir der Gedanke das Web Interface ein wenig anzupassen und wollte daher mal Fragen ob es zur REST API des Bots eine Dokumentation gibt. Meine Idee war es entweder das vorhandene Interface um Features zu erweiterten oder halt in z.B. Angular neu zuschreiben. Aber wenn man nicht weiß was funktioniert... ist das schwierig :D

Interessant wäre halt alles was man nicht so direkt sehen/erahnen kann.
Geschichten wie ?head=<int>, /logs?count=<int> sowie POST Requests und ob es Features gibt die im aktuellen Interface fehlen z.B. Postfach Gilden Optionen etc.

Viele Grüße ~
boeserwolf
Core Developer
Beiträge: 721
Registriert: Di 3. Jun 2014, 14:33
Wohnort: Amberg
Hat sich bedankt: 16 Mal
Danksagung erhalten: 71 Mal

Re: API Dokumentation

Beitrag von boeserwolf »

Hallo,

Leider ist die Dokumentation auch auf unserer Seite nicht so gut wie wir sie gerne hätten (Ich gehe auch davon aus, dass sich die Implementierung und Schnittstelle nochmal ändern wird). Was ich dir geben kann sind folgende Beispiele:

Code: Alles auswählen

authentication via user/password
curl -u user:passwort -X OPTIONS http://localhost:8443/

authentication via user/password to see created sessionId
curl -I -u user:passwort -X OPTIONS http://localhost:8443/

authentication via session
curl -H "Session-Id: XXX" -X OPTIONS http://localhost:8443//

Beschreibung was du machen kannst, zB:
curl -u user:passwort -X OPTIONS http://localhost:8443/
curl -u user:passwort -X OPTIONS http://localhost:8443/bot

anzeige der aktuellen Bot details zB:
curl -u user:passwort -X GET http://localhost:8443/

anzeige der aktuellen Bot details(als kurzInfo) zB:
curl -u user:passwort -X GET http://localhost:8443/?head=1

Anzeige von Metainfos der Einstellungen
curl -u user:passwort -X GET http://localhost:8443/Settings!GetMetaInfo

Anzeige von loginFehlern, zB:
curl -u user:passwort -X GET http://localhost:8443/loginErrors (alle)
curl -u user:passwort -X GET http://localhost:8443/loginErrors/geheim@::1 (spezifischer login)
Löschen eines Loginfehlers, zB:
curl -u user:passwort -X DELETE http://localhost:8443/loginErrors/geheim@::1

anlegen von objekten(zB Account):
curl -u user:passwort -X PUT --data "{'adress':'w14.sfgame.net', 'name':'m', 'password':'p'}" http://localhost:8443/bot/accounts

login von accounts
curl -u user:passwort -X GET http://localhost:8443/bot/accounts/Acc@W14.SFGAME.NET!login

start von accounts
curl -u user:passwort -X GET http://localhost:8443/bot/accounts/Acc@W14.SFGAME.NET!start

holen der Charakterbilder
curl -u user:passwort -X GET http://localhost:8443/Bot/Accounts/Acc@W14.SFGAME.NET!getCharacterImage
Gruß
boeserwolf
Folgende Benutzer bedankten sich beim Autor boeserwolf für den Beitrag:
ch4d1 (Mo 16. Jan 2023, 19:56)
MFBot 5.x: 63626 CodeZeilen in 338 Dateien

Kein Support über PNs(ausgenommen sind explizit im Forum angeforderte Infos die nicht für den öffentlichen Bereich geeignet sind)
Kein Support für die Shakes & Fidget App
Kein Support für den S&F Browser Client
ch4d1
Beiträge: 12
Registriert: Mo 16. Jan 2023, 01:40
Hat sich bedankt: 8 Mal
Danksagung erhalten: 1 Mal

Re: API Dokumentation

Beitrag von ch4d1 »

Hey,

Danke dir, das hilft mir schon weiter. :)

Ich melde mich sobald ich was zum präsentieren habe. Außer natürlich das ist nicht gewünscht. :?

Viele Grüße ~
ch4d1
Beiträge: 12
Registriert: Mo 16. Jan 2023, 01:40
Hat sich bedankt: 8 Mal
Danksagung erhalten: 1 Mal

Re: API Dokumentation

Beitrag von ch4d1 »

Code: Alles auswählen

root@local-mfbot:/mfbot# curl -f -u user:pass 'http://127.0.0.1:1024/bot/accounts/USER@SERVER.SFGAME.TLD!login'
{
  "response": {
    "data": true
  },
  "requestMeta": {
    "requestMethod": "GET",
    "requestUrl": "http://127.0.0.1:1024/bot/accounts/USER@SERVER.SFGAME.TLD!login"
  },
  "responseMeta": {
    "interfaceVersion": 3,
    "botVersion": "5.4.3.0",
    "responseType": "Boolean"
  }
}
root@local-mfbot:/mfbot# curl -f -u user:pass 'http://127.0.0.1:1024/bot/accounts/USER@SERVER.SFGAME.TLD!getCharacterImage'
curl: (22) The requested URL returned error: 404 Not Found
Hi,

mir ist aufgefallen, dass der Befehl '!getCharacterImage' nur klappt, wenn man in der GUI Version auf 'Details anzeigen' geklickt hat. Das ist jedoch in der Konsolen Version nicht möglich. Gibt es einen weiteren API-Call der vor diesem abgesetzt werden muss oder ist das ein Bug?

Viele Grüße ~
boeserwolf
Core Developer
Beiträge: 721
Registriert: Di 3. Jun 2014, 14:33
Wohnort: Amberg
Hat sich bedankt: 16 Mal
Danksagung erhalten: 71 Mal

Re: API Dokumentation

Beitrag von boeserwolf »

Kein Bug- eher ein fehlendes Feature: die Charakter Generierung nutzt Features von .Net die es nur in der Gui-Version gibt (zumindest war das damals so). Daher wird die Generierung on der Console nicht aufgerufen
MFBot 5.x: 63626 CodeZeilen in 338 Dateien

Kein Support über PNs(ausgenommen sind explizit im Forum angeforderte Infos die nicht für den öffentlichen Bereich geeignet sind)
Kein Support für die Shakes & Fidget App
Kein Support für den S&F Browser Client
ch4d1
Beiträge: 12
Registriert: Mo 16. Jan 2023, 01:40
Hat sich bedankt: 8 Mal
Danksagung erhalten: 1 Mal

Re: API Dokumentation

Beitrag von ch4d1 »

Aber auch bei der GUI-Version klappt dies erst nachdem man auf "Details anzeigen" in der GUI geklickt hat. Fehlt hier nicht eventuell einfach das ausführen der Methode zum generieren des Bildes beim aufrufen des API-Calls?
boeserwolf
Core Developer
Beiträge: 721
Registriert: Di 3. Jun 2014, 14:33
Wohnort: Amberg
Hat sich bedankt: 16 Mal
Danksagung erhalten: 71 Mal

Re: API Dokumentation

Beitrag von boeserwolf »

Das beruht auf dem selben Problem wie inder console:
Der API Code ist derselbe für console und GUI, daher konnten wir die Bildgenerierung dort nicht ausführen. Daher wird der Code nur getriggert wenn die Accountseite geöffnet wird.
Folgende Benutzer bedankten sich beim Autor boeserwolf für den Beitrag:
ch4d1 (Fr 20. Jan 2023, 10:56)
MFBot 5.x: 63626 CodeZeilen in 338 Dateien

Kein Support über PNs(ausgenommen sind explizit im Forum angeforderte Infos die nicht für den öffentlichen Bereich geeignet sind)
Kein Support für die Shakes & Fidget App
Kein Support für den S&F Browser Client
boeserwolf
Core Developer
Beiträge: 721
Registriert: Di 3. Jun 2014, 14:33
Wohnort: Amberg
Hat sich bedankt: 16 Mal
Danksagung erhalten: 71 Mal

Re: API Dokumentation

Beitrag von boeserwolf »

Wir diskutieren gerade Team-intern eine neue API. Hättest du Interesse diese als Betatester zu testen sollten wir soweit sein?

Läuft dein Bot unter Windows oder Linux? Wir haben das Ziel demnächst von Mono auf dotnetcore umzusteigen..
Folgende Benutzer bedankten sich beim Autor boeserwolf für den Beitrag:
ch4d1 (Di 24. Jan 2023, 11:24)
MFBot 5.x: 63626 CodeZeilen in 338 Dateien

Kein Support über PNs(ausgenommen sind explizit im Forum angeforderte Infos die nicht für den öffentlichen Bereich geeignet sind)
Kein Support für die Shakes & Fidget App
Kein Support für den S&F Browser Client
ch4d1
Beiträge: 12
Registriert: Mo 16. Jan 2023, 01:40
Hat sich bedankt: 8 Mal
Danksagung erhalten: 1 Mal

Re: API Dokumentation

Beitrag von ch4d1 »

Sehr gerne, ich nutze aktuell ein Gemisch aus Windows und Linux.
Um die API zu testen nutze ich primär Windows, allerdings auch im Anschluss Docker im Container auf Linux (Raspberry Pi ARM64)
Folgende Benutzer bedankten sich beim Autor ch4d1 für den Beitrag:
boeserwolf (Di 24. Jan 2023, 13:07)
boeserwolf
Core Developer
Beiträge: 721
Registriert: Di 3. Jun 2014, 14:33
Wohnort: Amberg
Hat sich bedankt: 16 Mal
Danksagung erhalten: 71 Mal

Re: API Dokumentation

Beitrag von boeserwolf »

Welche Aufgaben wären dir für die API besonders wichtig? Ich werde jetzt nicht alle APIs auf einmal implementieren können...
Folgende APIs habe ich aktuell(die Account Einstellungen sind nicht komplett implementiert - da war ich bei der Anzahl aktuell zu faul :D ):
2023-01-24 19_40_58-Swagger UI – Mozilla Firefox.png
2023-01-24 19_40_58-Swagger UI – Mozilla Firefox.png (62.57 KiB) 1280 mal betrachtet
2023-01-24 19_41_37-Swagger UI – Mozilla Firefox.png
2023-01-24 19_41_37-Swagger UI – Mozilla Firefox.png (23.53 KiB) 1280 mal betrachtet
2023-01-24 19_41_29-Swagger UI – Mozilla Firefox.png
2023-01-24 19_41_29-Swagger UI – Mozilla Firefox.png (54.46 KiB) 1280 mal betrachtet
Folgende Benutzer bedankten sich beim Autor boeserwolf für den Beitrag:
ch4d1 (Mi 25. Jan 2023, 00:30)
MFBot 5.x: 63626 CodeZeilen in 338 Dateien

Kein Support über PNs(ausgenommen sind explizit im Forum angeforderte Infos die nicht für den öffentlichen Bereich geeignet sind)
Kein Support für die Shakes & Fidget App
Kein Support für den S&F Browser Client
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 14 Gäste