{
    "type": "object",
    "title": "Presence Event",
    "description": "Informs the client of a user's presence state change.",
    "properties": {
        "content": {
            "type": "object",
            "properties": {
                "avatar_url": {
                    "type": "string",
                    "description": "The current avatar URL for this user, if any."
                },
                "displayname": {
                    "type": "string",
                    "description": "The current display name for this user, if any."
                },
                "last_active_ago": {
                    "type": "number",
                    "description": "The last time since this used performed some action, in milliseconds."
                },
                "presence": {
                    "type": "string",
                    "description": "The presence state for this user.",
                    "enum": ["online", "offline", "unavailable", "free_for_chat", "hidden"]
                },
                "user_id": {
                    "type": "string",
                    "description": "The user's ID."
                }
            },
            "required": ["presence", "user_id"]
        },
        "type": {
            "type": "string",
            "enum": ["m.presence"]
        },
        "event_id": {
            "type": "string"
        }
    },
    "required": ["event_id", "type", "content"]
}