# at.turtleme.player.status

> Published by [turtleme.at](https://lexicon.garden/identity/did:plc:f4h4tl43o4vx4hv2xps6siuz)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:f4h4tl43o4vx4hv2xps6siuz/at.turtleme.player.status)
- [Documentation](https://lexicon.garden/lexicon/did:plc:f4h4tl43o4vx4hv2xps6siuz/at.turtleme.player.status/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:f4h4tl43o4vx4hv2xps6siuz/at.turtleme.player.status/examples)

## Definitions

### `at.turtleme.player.status`

**Type**: `record`

A declaration that an account plays turtle meat, and optionally that it is playing right now. Written by the player's own client and not verified by anyone: nothing here affects scoring, so there is nothing to gain by lying in it. Progress that does affect scoring lives in at.turtleme.player.state, which carries a signature.

**Key**: `literal:self`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `ranked` | `boolean` | No | Whether the player wants to appear on the public leaderboard. This is a request rather than a setting: what actually puts someone on the board is having published at.turtleme.player.state, and deleting that record removes them regardless of what this says. |
| `activity` | `string` | No | What the player is doing. Absent means they are not declaring a live session, only that they play. |
| `createdAt` | `string` (datetime) | Yes | When the declaration was written. Client-declared and unverified. |
| `durationMinutes` | `integer` | No | How long the declared activity should be believed for, counted from createdAt. Presence expires rather than being switched off, because a browser tab that closes badly never gets to write the record that would clear it. A reader treats the player as present only while createdAt plus this duration is still in the future. |

### `at.turtleme.player.status#afloat`

**Type**: `token`

The player has the game open but is not doing anything in particular.

The player has the game open but is not doing anything in particular.

### `at.turtleme.player.status#cooking`

**Type**: `token`

The player is at the range.

The player is at the range.

### `at.turtleme.player.status#fishing`

**Type**: `token`

The player is fishing, by any of the four methods.

The player is fishing, by any of the four methods.

## Raw Schema

```json
{
  "id": "at.turtleme.player.status",
  "defs": {
    "main": {
      "key": "literal:self",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "createdAt"
        ],
        "properties": {
          "ranked": {
            "type": "boolean",
            "description": "Whether the player wants to appear on the public leaderboard. This is a request rather than a setting: what actually puts someone on the board is having published at.turtleme.player.state, and deleting that record removes them regardless of what this says."
          },
          "activity": {
            "type": "string",
            "description": "What the player is doing. Absent means they are not declaring a live session, only that they play.",
            "knownValues": [
              "at.turtleme.player.status#afloat",
              "at.turtleme.player.status#fishing",
              "at.turtleme.player.status#cooking"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "When the declaration was written. Client-declared and unverified."
          },
          "durationMinutes": {
            "type": "integer",
            "maximum": 1440,
            "minimum": 1,
            "description": "How long the declared activity should be believed for, counted from createdAt. Presence expires rather than being switched off, because a browser tab that closes badly never gets to write the record that would clear it. A reader treats the player as present only while createdAt plus this duration is still in the future."
          }
        }
      },
      "description": "A declaration that an account plays turtle meat, and optionally that it is playing right now. Written by the player's own client and not verified by anyone: nothing here affects scoring, so there is nothing to gain by lying in it. Progress that does affect scoring lives in at.turtleme.player.state, which carries a signature."
    },
    "afloat": {
      "type": "token",
      "description": "The player has the game open but is not doing anything in particular."
    },
    "cooking": {
      "type": "token",
      "description": "The player is at the range."
    },
    "fishing": {
      "type": "token",
      "description": "The player is fishing, by any of the four methods."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
