-s -> c\r
-La première conversation est la principale (main).\r
-L'ordre des conversation est le même que celui des données de l'utilisateur.\r
-Le format de la date n'est pas formel.\r
- {\r
- "reply" : "new_messages",\r
- "conversations" : [\r
- {\r
- "last_page" : true | false,\r
- "messages" : [\r
- "id" : 54,\r
- "date" : "Hier 17:26:54",\r
- "system" : true | false,\r
- "owner" : true | false,\r
- "answered" : true | false,\r
- "is_a_reply" : true | false,\r
- "nick" : "Paul",\r
- "login" : "paul_22",\r
- "content" : "Salut",\r
- "answer_to" : [\r
- { "id" : 123, "pseudo" : "Pierre", "login" : "pierre_45" }\r
- ]\r
- ]\r
- }\r
- ...\r
- ]\r
- }
-ou\r
- {\r
- "reply" : "message_updated",\r
- "message_id" : 123,\r
- "contenu" : "Salut +++ poulpe"\r
- }
-ou\r
- {\r
- "reply" : "error",\r
- "error_message" : "blabla"\r
- }
-\r
-\r
-=== Envoie d'un troll ===\r
-c -> s\r
- {\r
- "action" : "put_troll",\r
- "cookie" : "LKJDLAKSJBFLKASN",\r
- "content" : "Un bon troll velu !"\r
- }\r
- \r
-s -> c\r
- {\r
- "reply" : "ok" | "error",\r
- "error_message" : "blabla"\r
- }\r
- \r
-=== Modification d'un troll ===\r
-TODO\r
-=== Demande de trolls ===\r
-TODO\r
-=== Suppression d'un troll ===\r
-TODO
+s -> c
+La première conversation est la principale (main).
+L'ordre des conversation est le même que celui des données de l'utilisateur.
+Le format de la date n'est pas formel.
+first correpond au premier message de la conversation, vaut 'null' pour la conversation principale ainsi que pour les conversations vides.
+ {
+ "reply" : "new_message",
+ "conversations" : [
+ {
+ "last_page" : true | false,
+ "first" : <message> | null,
+ "messages" : [ <message>, .. ]
+ }
+ ]
+ }
+ou
+ {
+ "reply" : "message_updated",
+ "message_id" : 123,
+ "content" : "Salut poulpe",\r
+ "last_modification" : "Hier 17:26:54"
+ }
+ou
+ {
+ "reply" : "new_troll",
+ "troll_id" : 123,
+ "message_id" : 12,
+ "content" : "Linux sera desktop ready en 2008 ?"
+ }
+ou
+ <error>
+
+
+=== Wait event (page = admin) ===
+c -> s
+ {
+ "header" : {action : "wait_event", version : 3},
+ "page" : "admin",
+ "last_troll" : 5
+ }
+
+s -> c
+ {
+ "reply" : "troll_modified",
+ "troll_id" : 3,
+ "content" : "plop"
+ }
+ou
+s -> c
+ {
+ "reply" : "troll_added",
+ "trolls" :
+ [
+ {
+ "troll_id" : 5,
+ "content" : "plop",
+ "author" : "<Pseudo>"
+ "author_id" : 2
+ }
+ ]
+ }
+ou
+s -> c
+ {
+ "reply" : "troll_deleted",
+ "troll_id" : 2
+ }
+ou
+indique de mettre à jour la liste d'ips
+s -> c
+ {
+ "reply" : "banned_ips_refresh"
+ }
+
+
+=== Envoie d'un troll ===
+c -> s
+ {
+ "header" : {action : "put_troll", version : 3},
+ "cookie" : "LKJDLAKSJBFLKASN",
+ "content" : "Un bon troll velu !"
+ }
+
+s -> c
+ <ok>
+ou
+ <error>
+
+
+=== Modification d'un troll ===
+c -> s
+ {
+ "header" : {action : "mod_troll", version : 3},
+ "cookie" : "LKJDLAKSJBFLKASN",
+ "troll_id" : 3,
+ "content" : "Un bon troll velu 2 !"
+ }
+
+s -> c
+ <ok>
+ou
+ <error>
+
+
+=== Suppression d'un troll ===
+c -> s
+ {
+ "header" : {action : "del_troll", version : 3},
+ "cookie" : "LKJDLAKSJBFLKASN",
+ "troll_id" : 3
+ }
+
+s -> c
+ <ok>
+ou
+ <error>
+