placeStreamChatProfile top-level constant

Map<String, dynamic> const placeStreamChatProfile

place.stream.chat.profile

Implementation

const placeStreamChatProfile = <String, dynamic>{
  "lexicon": 1,
  "id": "place.stream.chat.profile",
  "defs": {
    "main": {
      "type": "record",
      "description":
          "Record containing customizations for a user's chat profile.",
      "key": "literal:self",
      "record": {
        "type": "object",
        "properties": {
          "color": {"type": "ref", "ref": "#color"},
          "badges": {
            "type": "ref",
            "description": "Badge selections for display in chat.",
            "ref": "#badgeSelections",
          },
          "selfLabels": {
            "type": "array",
            "description": "Self-applied labels for this profile, e.g. 'bot'.",
            "items": {"type": "ref", "ref": "#selfLabel"},
            "maxLength": 10,
          },
        },
      },
    },
    "color": {
      "type": "object",
      "description": "Customizations for the color of a user's name in chat",
      "required": ["red", "green", "blue"],
      "properties": {
        "red": {"type": "integer", "minimum": 0, "maximum": 255},
        "blue": {"type": "integer", "minimum": 0, "maximum": 255},
        "green": {"type": "integer", "minimum": 0, "maximum": 255},
      },
    },
    "selfLabel": {
      "type": "string",
      "description": "Label that a user can apply to their own profile.",
      "knownValues": ["bot"],
    },
    "badgeSelections": {
      "type": "object",
      "description": "Selected badges for display in chat, organized by slot.",
      "properties": {
        "global": {
          "type": "ref",
          "description": "Selected globally-issued badge (e.g. event badge).",
          "ref": "com.atproto.repo.strongRef",
        },
        "streamer": {
          "type": "array",
          "description":
              "Selected streamer-issued badges, one per streamer channel.",
          "items": {"type": "ref", "ref": "#streamerBadgeSelection"},
          "maxLength": 20,
        },
      },
    },
    "streamerBadgeSelection": {
      "type": "object",
      "description": "A selected badge for a specific streamer's channel.",
      "required": ["streamer", "badge"],
      "properties": {
        "badge": {
          "type": "ref",
          "description":
              "Strong reference to the selected place.stream.badge.issuance record.",
          "ref": "com.atproto.repo.strongRef",
        },
        "streamer": {
          "type": "string",
          "format": "did",
          "description":
              "DID of the streamer whose channel this selection applies to.",
        },
      },
    },
  },
};