ChatSendResult chat.send-result@1
Generated at from
openvibe-contracts v0.53.0 and
openvibe-sdk v0.11.0.
- Version
- 1.0.0
- Owner
- chat
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/chat/send-result.v1.json
chat.send-result@1: what chat.message.send answers. On WS /ws/chat nothing is acknowledged directly: the stored line is broadcast as a chat frame to the room (the sender included; channel lines also reach the homepage global feed), and a refusal (banned, slow mode, held for IP approval, a channel rule, not saved) is a system or error frame to the sender alone. On POST /internal/live/calls, the batch result: one entry per op, in order, where a message op without chat.message.send is { ok: false, code: capability.denied }.
Fields
This schema has no named fields.
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: bridge-result
{
"ok": true,
"results": [
{
"seq": 1,
"ok": true,
"result": null
},
{
"seq": 2,
"ok": false,
"code": "capability.denied",
"error": "chat.message.send not granted"
}
]
}Valid: broadcast
{
"type": "chat",
"id": 81240,
"username": "Alice",
"core_username": "alice",
"user_id": 17,
"anon_id": null,
"role": "user",
"message": "gg that was clean",
"stream_id": 42,
"channel_user_id": 5,
"is_global": false,
"avatar_url": "https://openvibe.media/avatar/alice",
"profile_color": "#3b82f6",
"filtered": false,
"timestamp": "2026-09-25T20:14:03.120Z",
"auto_delete_at": null,
"reply_to": {
"id": 81234,
"username": "bob",
"user_id": 9,
"message": "did you see that"
}
}Valid: slow-mode
{
"type": "system",
"message": "Slow down! You are sending messages too fast."
}Rejected: missing-room
{
"type": "chat",
"username": "Alice",
"message": "hi"
}Rejected: unknown-frame
{
"type": "notice",
"message": "x"
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('chat.send-result@1', value); // { valid, errors: [{ path, message }] }