At
view release on metacpan or search on metacpan
share/lexicons/chat/bsky/moderation/subscribeModEvents.json view on Meta::CPAN
{
"lexicon": 1,
"id": "chat.bsky.moderation.subscribeModEvents",
"defs": {
"main": {
"type": "subscription",
"description": "Subscribe to stream of chat events targeted to moderation. Private endpoint.",
"parameters": {
"type": "params",
"properties": {
"cursor": {
"type": "string",
"description": "The last known event seq number to backfill from. Use '2222222222222' to backfill from the beginning. Don't specify a cursor to listen only for new events."
}
}
},
"message": {
"schema": {
"type": "union",
"refs": [
"#eventConvoFirstMessage",
"#eventGroupChatCreated",
"#eventGroupChatMemberAdded",
"#eventGroupChatMemberJoined",
"#eventGroupChatJoinRequest",
"#eventGroupChatJoinRequestApproved",
"#eventGroupChatJoinRequestRejected",
"#eventChatAccepted",
"#eventGroupChatMemberLeft",
"#eventGroupChatUpdated",
"#eventRateLimitExceeded"
]
}
},
"errors": [
{ "name": "FutureCursor" },
{
"name": "ConsumerTooSlow",
"description": "If the consumer of the stream can not keep up with events, and a backlog gets too large, the server will drop the connection."
}
]
},
"eventConvoFirstMessage": {
"type": "object",
"description": "Fired when the first message was sent on a convo.",
"required": ["createdAt", "rev", "convoId", "user", "recipients"],
"properties": {
"convoId": { "type": "string" },
"createdAt": { "type": "string", "format": "datetime" },
"messageId": { "type": "string" },
"recipients": {
"description": "The list of DIDs message recipients. Does not include the sender, which is in the `user` field",
"type": "array",
"items": { "type": "string", "format": "did" }
},
"rev": { "type": "string" },
"user": {
"description": "The DID of the message author.",
"type": "string",
"format": "did"
}
}
},
"eventGroupChatCreated": {
"type": "object",
"description": "Fire when a group chat is created.",
"required": [
share/lexicons/chat/bsky/moderation/subscribeModEvents.json view on Meta::CPAN
"type": "string"
},
"joinLinkCode": {
"description": "The code of the join link. Only present when updateType is join-link-related.",
"type": "string"
},
"joinLinkFollowersOnly": {
"description": "Whether the join link is restricted to followers of the owner. Only present when updateType is join-link-related.",
"type": "boolean"
},
"joinLinkRequiresApproval": {
"description": "Whether the join link requires owner approval to join. Only present when updateType is join-link-related.",
"type": "boolean"
},
"lockReason": {
"description": "Why the group was locked. Only present when updateType is 'locked'.",
"type": "string",
"knownValues": [
"owner_action",
"owner_left",
"owner_deactivated",
"owner_deleted",
"owner_suspended",
"owner_taken_down",
"label_applied",
"convo_taken_down"
]
},
"newName": {
"description": "The new group name. Only present when updateType is 'name_changed'.",
"type": "string"
},
"oldName": {
"description": "The previous group name. Only present when updateType is 'name_changed'.",
"type": "string"
},
"ownerDid": {
"description": "The DID of the group chat owner.",
"type": "string",
"format": "did"
},
"rev": { "type": "string" },
"updateType": {
"description": "What changed.",
"type": "string",
"knownValues": [
"name_changed",
"locked",
"locked_permanently",
"unlocked",
"join_link_created",
"join_link_disabled",
"join_link_settings_changed"
]
}
}
},
"eventRateLimitExceeded": {
"type": "object",
"description": "Fired when a user exceeds a rate limit.",
"required": ["actorDid", "createdAt", "endpoint", "rev"],
"properties": {
"actorDid": {
"description": "The DID of the user who hit the rate limit.",
"type": "string",
"format": "did"
},
"createdAt": { "type": "string", "format": "datetime" },
"endpoint": {
"description": "The NSID of the endpoint that was rate limited.",
"type": "string"
},
"rev": { "type": "string" }
}
}
}
}
( run in 0.413 second using v1.01-cache-2.11-cpan-16aabcbfbcb )