{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://sneak.berlin/go/neoirc/schema/commands/KICK.json", "title": "KICK", "description": "Remove a user from a channel. A client sends it, and only a channel operator may. The server sends it to every member of the channel, the removed user included. RFC 1459 ยง4.2.8.", "$ref": "../message.json", "properties": { "command": { "const": "KICK" }, "from": { "type": "string", "description": "The nick that removed the user. The server sets it." }, "to": { "type": "string", "description": "The channel name. The server adds the # if a client leaves it out.", "pattern": "^#?[a-zA-Z0-9_-]{1,63}$" }, "params": { "type": "array", "items": { "type": "string" }, "description": "The removed nick. Only the server sends it.", "minItems": 1, "maxItems": 1 }, "body": { "type": "array", "items": { "type": "string" }, "description": "From a client: the nick to remove, then an optional reason. From the server: the reason, as one string.", "minItems": 1 } }, "required": ["command", "to", "body"], "examples": [ { "command": "KICK", "to": "#general", "body": ["troll", "Behave"] }, { "command": "KICK", "from": "op1", "to": "#general", "params": ["troll"], "body": ["Behave"] } ] }