Da der aktuelle DSIHL Bot eher ein Hack als eine wirkliche Lösung ist, hab ich mich mal drangemacht, was besseres zu machen. Was bis jetzt da ist, könnt ihr unter dsihl.heroku.com/ nachsehen. Ist noch nicht besonders viel fertig, was Frontend angeht, aber Backend (Logik) ist schon extrem brauchbar.
Ich poste das hier v.A. weil ich Leute zum mitmachen animieren will. Entweder mit CSS (die Page hat atm nur ein HTML-Gerüst), oder mit einem IRC-Bot.
Zum Bot: Der Bot soll mit dem Webinterface per RESTful API kommunizieren, wobei die Parameter die folgenden sind:
Diese Parameter bei jedem Request mitgeben, damit kann der Bot Aktionen als andere User ausführen. Die Aktionen sind:
Wenn alles geklappt hat, gibts nen 200 zurück, andere HTTP Response Codes muss ich mir noch überlegen. JSON für GET gibts auch noch, noch net eingebaut bis jetzt. :-/
Ich poste das hier v.A. weil ich Leute zum mitmachen animieren will. Entweder mit CSS (die Page hat atm nur ein HTML-Gerüst), oder mit einem IRC-Bot.
Zum Bot: Der Bot soll mit dem Webinterface per RESTful API kommunizieren, wobei die Parameter die folgenden sind:
- name="login[key]" value=<wie ihr user identifizieren wollt, aka qauth oder sonstwas>
- name="login[value]" value=<z.B. quath eines Users>
- name="login[api]" value=<api-key hier, will ja net, dass jeder sich einloggen kann>
Diese Parameter bei jedem Request mitgeben, damit kann der Bot Aktionen als andere User ausführen. Die Aktionen sind:
- Erstellen eines neuen Games:
action="/games"
method="post"
name="game[type]" value=<randomgame oder captaingame>
name="game[league]" value=<name der league>
name="game[mode]" value=<gamemode> - Joinen eines Games:
action="/games/<id>/game_memberships"
method="post" - Leaven eines Games:
action="/games/<id>/game_memberships"
method="delete" - Voten:
action="/games/<id>/game_memberships"
method="put"
name="vote[vote]" value=<abort, win, fail>
Wenn alles geklappt hat, gibts nen 200 zurück, andere HTTP Response Codes muss ich mir noch überlegen. JSON für GET gibts auch noch, noch net eingebaut bis jetzt. :-/