jasoncoin

JSON based simple tribune like protocol.

Norloges

ONLY Full ISO norloge in Paris timezone MUST be used.

Get request

Bouchots MUST expose an HTTP endpoint for messages retrieving.

This endpoint MUST accepts HTTP request using GET method.

Endpoint path MUST be /tribune/get:

Query string parameters

since

Optional last known by coincoin post norloge in Full ISO format.

Response body

Bouchots SHOULD produce a JSON as response body with latest posts (newer than since if set).

{
    "posts": [
        {
            "msg": "plop",
            "from": "dave"
            "at": "2017-06-29T13:45:02.666"
        }
    ]
}

Post request

Bouchots MUST expose an HTTP endpoint for posting messages.

This endpoint MUST accepts HTTP request using POST method.

Endpoint path MUST be /tribune/post:

Request body

Post endpoint MUST accept following request body in JSON format:

{
    "message": "plop",
    "from": "dave"
    "since": "2017-06-29T13:45:02.666"
}

message

Mandatory message body in BML-NG format.

Bouchots SHOULD expect error invalid BML-NG, invalid encoding and generally shit posting from moules.

from

Moule's nickname.

since

Optional last known by coincoin post norloge in Full ISO format.

Response

Response body

If since parameters is set, Bouchots SHOULD produce a JSON as response body with posts newer than since.

BML-NG

Replace legacy BML with a well defined and KISS markup language.

Goals:

bigorno

Bigorno is way to hail someone prefix his nickname with COMMERCIAL AT:

@Dave how are you?

Coincoins SHOULD hail user when a post is received with his bigorno.

duck

User can post an ascii art left or right ducks:

\_o< \_o<   >o_/

Ducks can have the following character as head:

oO0ô°øòó@

Coincoins MAY use ducks in hunt.

norloge

Coincoins SHOULD use Full ISO norloges to display links or navigate between posts.

Only Full ISO norloge MUST be used.

Bouchot suffix MAY be used.

Indice suffix MUST NOT be used.

Formatting

Markdown like formatting markup:

*emphasis*

_underline_

**strong**

~~strikethrough~~

`printf();`

Coincoins SHOULD use these to format posts:

emphasis

underline

strong

strikethrough

printf();

totoz

Reference a totoz name between /[:/ and /]/:

[:good]

Coincoins MAY display the referenced totoz image.