{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://sneak.berlin/go/neoirc/schema/commands/JOIN.json", "title": "JOIN", "description": "Join a channel. A client sends it to join a channel, which the server creates if it does not exist. The server sends it to every member of the channel when a user joins, the new member included. RFC 1459 ยง4.2.1.", "$ref": "../message.json", "properties": { "command": { "const": "JOIN" }, "from": { "type": "string", "description": "The nick that joined. The server sets it." }, "to": { "type": "string", "description": "The channel name: # and then 1 to 63 of a-z, A-Z, 0-9, _ and -. The server adds the # if a client leaves it out.", "pattern": "^#?[a-zA-Z0-9_-]{1,63}$" }, "body": { "type": "array", "items": { "type": "string" }, "description": "From a client: the channel key as the first string, which a channel with mode +k needs. From the server: the channel name. After a login, and for GET /api/v1/state?initChannelState=1, the server queues a JOIN for each of the session's channels. That JOIN has an empty body." } }, "required": ["command", "to"], "examples": [ { "command": "JOIN", "to": "#general" }, { "command": "JOIN", "from": "alice", "to": "#general", "body": ["#general"] } ] }