# place.stream.chat.profile

> Record containing customizations for a user's chat profile.

- Kind: record
- Record key: literal:self
- Authority: chat.stream.place
- Lexicon: 1
- Published by [stream.place](https://lexicon.garden/identity/did:plc:rbvrr34edl5ddpuwcubjiost), not the NSID's authority

## Links

- [Documentation](https://lexicon.garden/lexicon/did:plc:rbvrr34edl5ddpuwcubjiost/place.stream.chat.profile)
- [Schema JSON](https://lexicon.garden/lexicon/did:plc:rbvrr34edl5ddpuwcubjiost/place.stream.chat.profile/schema.json)
- [Analytics](https://lexicon.garden/lexicon/did:plc:rbvrr34edl5ddpuwcubjiost/place.stream.chat.profile/analytics)

## Record (`place.stream.chat.profile`)

Type: record · key literal:self

### Properties

- `badges` (ref): Badge selections for display in chat.
  - Reference: `#badgeSelections`
- `color` (ref)
  - Reference: `#color`
- `selfLabels` (array): Self-applied labels for this profile, e.g. 'bot'.
  - Constraints: maxLength: 10
  - `items` (ref)
    - Reference: `#selfLabel`

## #badgeSelections (`place.stream.chat.profile#badgeSelections`)

Type: object

Selected badges for display in chat, organized by slot.

### Properties

- `global` (ref): Selected globally-issued badge (e.g. event badge).
  - Reference: `com.atproto.repo.strongRef`
- `streamer` (array): Selected streamer-issued badges, one per streamer channel.
  - Constraints: maxLength: 20
  - `items` (ref)
    - Reference: `#streamerBadgeSelection`

## #color (`place.stream.chat.profile#color`)

Type: object

Customizations for the color of a user's name in chat

### Properties

- `blue` (integer, required)
  - Constraints: minimum: 0, maximum: 255
- `green` (integer, required)
  - Constraints: minimum: 0, maximum: 255
- `red` (integer, required)
  - Constraints: minimum: 0, maximum: 255

## #selfLabel (`place.stream.chat.profile#selfLabel`)

Type: string

Label that a user can apply to their own profile.

Constraints: knownValues: bot

## #streamerBadgeSelection (`place.stream.chat.profile#streamerBadgeSelection`)

Type: object

A selected badge for a specific streamer's channel.

### Properties

- `badge` (ref, required): Strong reference to the selected place.stream.badge.issuance record.
  - Reference: `com.atproto.repo.strongRef`
- `streamer` (string · did, required): DID of the streamer whose channel this selection applies to.

## Schema

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