# work.sequential.feed.comment

> Published by [sequential.work](https://lexicon.garden/identity/did:plc:tndzxgswtjuwylmsa5x3whwa)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:tndzxgswtjuwylmsa5x3whwa/work.sequential.feed.comment)
- [Documentation](https://lexicon.garden/lexicon/did:plc:tndzxgswtjuwylmsa5x3whwa/work.sequential.feed.comment/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:tndzxgswtjuwylmsa5x3whwa/work.sequential.feed.comment/examples)

## Definitions

### `work.sequential.feed.comment`

**Type**: `record`

A comment on a chapter or strip, or on one of its pages, slices or panels, or a reply to another comment.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `createdAt` | `string` (datetime) | Yes | The date and time the comment was created. |
| `facets` | `array` | No | Annotations of text (mentions, URLs, hashtags, etc). |
| `lang` | `string` (language) | No | BCP-47 language tag for the text. |
| `page` | `string` (at-uri) | No | AT-URI of the work.sequential.page or work.sequential.slice being commented on. Must belong to the subject chapter. Omit to comment on the whole chapter, and always omit when the subject is a strip. Replies keep the page of the comment they reply to. Use the DID form (at://did:...), not a handle. |
| `panel` | `integer` | No | Zero-based index of the panel being commented on, in the panels of the page, or of the strip when the subject is a strip. Omit to comment on the whole page or strip. Slices have no panels. Indexes can shift when the creator re-cuts panels; AppViews ignore indexes past the last panel. Replies keep the panel of the comment they reply to. |
| `parent` | `string` (at-uri) | No | AT-URI of the work.sequential.feed.comment being replied to. Omit for a top-level comment. Use the DID form (at://did:...), not a handle. |
| `subject` | `string` (at-uri) | Yes | AT-URI of the work.sequential.chapter or work.sequential.strip being commented on. AppViews ignore comments on any other record. Comments on a page, slice or panel still set subject to the chapter or strip, so AppViews can count a work's comments without walking pages. Replies keep the subject of the comment they reply to. Use the DID form (at://did:...), not a handle. |
| `text` | `string` | Yes | The comment text. |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A comment on a chapter or strip, or on one of its pages, slices or panels, or a reply to another comment.",
      "key": "tid",
      "record": {
        "properties": {
          "createdAt": {
            "description": "The date and time the comment was created.",
            "format": "datetime",
            "type": "string"
          },
          "facets": {
            "description": "Annotations of text (mentions, URLs, hashtags, etc).",
            "items": {
              "ref": "app.bsky.richtext.facet",
              "type": "ref"
            },
            "type": "array"
          },
          "lang": {
            "description": "BCP-47 language tag for the text.",
            "format": "language",
            "type": "string"
          },
          "page": {
            "description": "AT-URI of the work.sequential.page or work.sequential.slice being commented on. Must belong to the subject chapter. Omit to comment on the whole chapter, and always omit when the subject is a strip. Replies keep the page of the comment they reply to. Use the DID form (at://did:...), not a handle.",
            "format": "at-uri",
            "type": "string"
          },
          "panel": {
            "description": "Zero-based index of the panel being commented on, in the panels of the page, or of the strip when the subject is a strip. Omit to comment on the whole page or strip. Slices have no panels. Indexes can shift when the creator re-cuts panels; AppViews ignore indexes past the last panel. Replies keep the panel of the comment they reply to.",
            "minimum": 0,
            "type": "integer"
          },
          "parent": {
            "description": "AT-URI of the work.sequential.feed.comment being replied to. Omit for a top-level comment. Use the DID form (at://did:...), not a handle.",
            "format": "at-uri",
            "type": "string"
          },
          "subject": {
            "description": "AT-URI of the work.sequential.chapter or work.sequential.strip being commented on. AppViews ignore comments on any other record. Comments on a page, slice or panel still set subject to the chapter or strip, so AppViews can count a work's comments without walking pages. Replies keep the subject of the comment they reply to. Use the DID form (at://did:...), not a handle.",
            "format": "at-uri",
            "type": "string"
          },
          "text": {
            "description": "The comment text.",
            "maxGraphemes": 1000,
            "maxLength": 10000,
            "type": "string"
          }
        },
        "required": [
          "subject",
          "text",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "work.sequential.feed.comment",
  "lexicon": 1
}
```
