====== C) Clowder Service ====== Der Discovery-Service verwaltet eine Liste aller Kitten-Bots. Wenn ein Bot bereit zum Spielen ist, registriert er sich beim Clowder Service. Dieser verwaltet eine Collection aller Bots. ===== Aktionen ===== ==== Spielbereit ==== Ein Bot meldet, dass er bereit zum Spielen ist. Der Clowder-Service generiert eine UUID und einen zufälligen Port. Falls bereits ein Bot mit dem gleichen Namen existiert, wird der Eintrag aktualisiert. === Request === * action: 'MEOW' * ip: IP-Adresse des Bots * name: Name des Bots === Response === * HTTP-Status: 201 * UUID: UUID unter der ein Bot registriert ist. * Port: Eine zufällige Portnummer. Unter dieser Portnummer muss der Bot einen Socket öffnen und auf Nachrichten warten. ==== Mit dem Schwanz wedeln ==== Ein Bot wedelt mit seinem Schwanz und signalisiert, dass er immer noch spielbereit ist. Der Clowder-Service aktualisiert den Zeitstempel des letzten Schwanzwedelns für diesen Bot. === Request === * action: 'SWISH' * UUID: UUID unter der ein Bot registriert ist. === Response === * HTTP-Status: 200 ==== Nickerchen ==== Ein Bot zieht zurück und macht ein Nickerchen. Der Clowder-Service entfernt den Bot aus der Collection der spielbereiten Bots. === Request === * action: 'CATNAP' * UUID: UUID unter der ein Bot registriert ist. === Response === * HTTP-Status: 200 ==== Exil ==== Der Arena-Service kann einen defekten Bot ins Exil schicken. In diesem Fall darf sich dieser Bot während 5 Minuten nicht neu registrieren. Diese Aktion darf nur vom Arena-Service aufgerufen werden. Überlegen Sie sich, wie Sie einen Missbrauch verhindern können. === Request === * action: 'EXIL' * UUID: UUID unter der ein Bot registriert ist. === Response === * HTTP-Status: 200 / 404