spec: https://github.com/nostr-protocol/nips/blob/master/C7.md
PR: nostr-protocol/nips#1591 (merged 2024-11-21, author: hodlbod/staab)
Related: #93 (NIP-29 relay-based groups)
Kind 9 — simple chat messages, extracted from NIP-29 to be reusable independently. Replies use q tags with shallow hierarchy. Often used with NIP-29 groups (h tag for group ID).
Schema
Validate implementations against nostrability/schemata:
spec: https://github.com/nostr-protocol/nips/blob/master/C7.md
PR: nostr-protocol/nips#1591 (merged 2024-11-21, author: hodlbod/staab)
Related: #93 (NIP-29 relay-based groups)
Kind 9 — simple chat messages, extracted from NIP-29 to be reusable independently. Replies use
qtags with shallow hierarchy. Often used with NIP-29 groups (htag for group ID).MESSAGE = 9via welshman Kinds.ts; room subs useMESSAGE_KINDSwith#htagGroupChat = 9+buildGroupChatEvent()builder; by Verbiricha9: 'chat-message'mapping;sendGroupChat()via nostr-hooks/nip29Kind: 9in sub filter + event creationKIND_GROUP_CHAT = 9; AI agent NIP-29 pluginkind: 9, nip: "C7"explicit; dedicated Kind9Renderer; by purrgrammerChatEventKIND=9,q-tag replies per spec, feed + thread rendering. evidence: PR #2018,nipC7Chats/ChatEvent.ktq-tag reply threading with content stripping. evidence: PR #468 (Flutter), PR #581 (Rust backend —extract_reply_info()+strip_reply_event_reference()inprocessor.rs)Schema
Validate implementations against nostrability/schemata: