Skip to content

place.stream.badge.defs

Lexicon Version: 1

Type: object

View of a badge record, with fields resolved for display. If the DID in issuer is not the current streamplace node, the signature field shall be required.

Properties:

NameTypeReq’dDescriptionConstraints
badgeTypestringKnown Values: place.stream.badge.defs#mod, place.stream.badge.defs#streamer, place.stream.badge.defs#vip, place.stream.badge.defs#event, place.stream.badge.defs#bot
issuerstringDID of the badge issuer.Format: did
recipientstringDID of the badge recipient.Format: did
namestringDisplay name from the badge definition.
descriptionstringDescription from the badge definition.
imageUrlstringResolved image URL for the badge icon.Format: uri
signaturestringTODO: Cryptographic signature of the badge (of a place.stream.key).

Type: object

A resolved view of a badge issuance, including def fields for display.

Properties:

NameTypeReq’dDescriptionConstraints
issuanceUristringAT URI of the place.stream.badge.issuance record.Format: at-uri
issuanceCidstringCID of the place.stream.badge.issuance record.
badgeTypestringKnown Values: place.stream.badge.defs#vip, place.stream.badge.defs#event
namestringDisplay name from the badge definition.
descriptionstringDescription from the badge definition.
imageUrlstringResolved image URL for the badge icon.Format: uri
issuerstringDID of the badge issuer.Format: did
selectedbooleanWhether this badge is currently in the user’s chat profile selection.

Type: object

A display slot containing available issuance-based badges and which one (if any) is currently selected.

Properties:

NameTypeReq’dDescriptionConstraints
selected#badgeIssuanceViewThe currently selected badge in this slot, if any.
availableArray of #badgeIssuanceViewAll badges available for this slot.

Type: token

This user is a moderator. Displayed with a sword icon.


Type: token

This user is the streamer. Displayed with a star icon.


Type: token

This user is a very important person.


Type: token

This user is a bot. Self-applied via place.stream.chat.profile selfLabels.


Type: token

This user has won or earned a special event or contest badge.


{
"lexicon": 1,
"id": "place.stream.badge.defs",
"defs": {
"badgeView": {
"type": "object",
"required": ["badgeType", "issuer", "recipient"],
"description": "View of a badge record, with fields resolved for display. If the DID in issuer is not the current streamplace node, the signature field shall be required.",
"properties": {
"badgeType": {
"type": "string",
"knownValues": [
"place.stream.badge.defs#mod",
"place.stream.badge.defs#streamer",
"place.stream.badge.defs#vip",
"place.stream.badge.defs#event",
"place.stream.badge.defs#bot"
]
},
"issuer": {
"type": "string",
"format": "did",
"description": "DID of the badge issuer."
},
"recipient": {
"type": "string",
"format": "did",
"description": "DID of the badge recipient."
},
"name": {
"type": "string",
"description": "Display name from the badge definition."
},
"description": {
"type": "string",
"description": "Description from the badge definition."
},
"imageUrl": {
"type": "string",
"format": "uri",
"description": "Resolved image URL for the badge icon."
},
"signature": {
"type": "string",
"description": "TODO: Cryptographic signature of the badge (of a place.stream.key)."
}
}
},
"badgeIssuanceView": {
"type": "object",
"required": ["issuanceUri", "badgeType", "issuer"],
"description": "A resolved view of a badge issuance, including def fields for display.",
"properties": {
"issuanceUri": {
"type": "string",
"format": "at-uri",
"description": "AT URI of the place.stream.badge.issuance record."
},
"issuanceCid": {
"type": "string",
"description": "CID of the place.stream.badge.issuance record."
},
"badgeType": {
"type": "string",
"knownValues": [
"place.stream.badge.defs#vip",
"place.stream.badge.defs#event"
]
},
"name": {
"type": "string",
"description": "Display name from the badge definition."
},
"description": {
"type": "string",
"description": "Description from the badge definition."
},
"imageUrl": {
"type": "string",
"format": "uri",
"description": "Resolved image URL for the badge icon."
},
"issuer": {
"type": "string",
"format": "did",
"description": "DID of the badge issuer."
},
"selected": {
"type": "boolean",
"description": "Whether this badge is currently in the user's chat profile selection."
}
}
},
"badgeSlot": {
"type": "object",
"required": ["available"],
"description": "A display slot containing available issuance-based badges and which one (if any) is currently selected.",
"properties": {
"selected": {
"type": "ref",
"ref": "#badgeIssuanceView",
"description": "The currently selected badge in this slot, if any."
},
"available": {
"type": "array",
"description": "All badges available for this slot.",
"items": {
"type": "ref",
"ref": "#badgeIssuanceView"
}
}
}
},
"mod": {
"type": "token",
"description": "This user is a moderator. Displayed with a sword icon."
},
"streamer": {
"type": "token",
"description": "This user is the streamer. Displayed with a star icon."
},
"vip": {
"type": "token",
"description": "This user is a very important person."
},
"bot": {
"type": "token",
"description": "This user is a bot. Self-applied via place.stream.chat.profile selfLabels."
},
"event": {
"type": "token",
"description": "This user has won or earned a special event or contest badge."
}
}
}