{
    "type": "object",
    "title": "Presence Event",
    "description": "Informs the client of a user's presence state change.",
    "allOf": [{
        "$ref": "core-event-schema/event.yaml"
    }],
    "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"]
                },
                "currently_active": {
                    "type": boolean,
                    "description": "Whether the user is currently active"
                },
                "status_msg": {
                    "type": "string",
                    "description": "An optional description to accompany the presence."
                }
            },
            "required": ["presence"]
        },
        "type": {
            "type": "string",
            "enum": ["m.presence"]
        },
        "sender": {
            "type": "string"
        }
    },
    "required": ["sender", "type", "content"]
}
