Message
Type definitions and utilities for Nostr protocol messages.
Relay Message Types
Enums:
RelayMessageType.Auth
- Authentication challengeRelayMessageType.Closed
- Subscription closedRelayMessageType.Eose
- End of stored eventsRelayMessageType.Event
- Event dataRelayMessageType.NegErr
- Negentropy errorRelayMessageType.NegMsg
- Negentropy messageRelayMessageType.Ok
- Command result
Type Definitions:
RelayMessage
- Base relay message typeRelayAuth
,RelayClosed
,RelayEose
,RelayEvent
,RelayNegErr
,RelayNegMsg
,RelayOk
- Specific message typesRelayAuthPayload
,RelayClosedPayload
, etc. - Payload types for each message
Type Guards:
isRelayAuth()
,isRelayClosed()
,isRelayEose()
,isRelayEvent()
,isRelayNegErr()
,isRelayNegMsg()
,isRelayOk()
Client Message Types
Enums:
ClientMessageType.Auth
- Authentication responseClientMessageType.Close
- Close subscriptionClientMessageType.Event
- Publish eventClientMessageType.NegClose
- Close negentropyClientMessageType.NegOpen
- Open negentropyClientMessageType.Req
- Request subscription
Type Definitions:
ClientMessage
- Base client message typeClientAuth
,ClientClose
,ClientEvent
,ClientNegClose
,ClientNegOpen
,ClientReq
- Specific message typesClientAuthPayload
,ClientClosePayload
, etc. - Payload types for each message
Type Guards:
isClientAuth()
,isClientClose()
,isClientEvent()
,isClientNegClose()
,isClientNegOpen()
,isClientReq()
Example
typescript
// Handle incoming relay message
const handleMessage = (message: RelayMessage) => {
if (isRelayEvent(message)) {
const [type, subId, event] = message
console.log('Event:', event.id)
}
}