Send a message
send_messageTransmit text messages to contacts or channels on a MeshCore network, with optional delivery acknowledgement for direct messages.
Instructions
Transmit a text message. target is a contact (name or hex public-key prefix) or a channel (#name, #index, or a bare channel index). A resend is a second transmission — not idempotent. Set confirm: true to wait for the delivery ack and report whether it arrived + the round-trip time. Confirmation applies to direct (contact) messages only: a channel/broadcast has no single recipient to ack, so a confirm: true channel send returns confirmationNotApplicable: true (and no delivered) rather than silently ignoring the request.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | a contact (name or hex public-key prefix) or a channel (`#name`, `#index`, or a bare channel index) | |
| text | Yes | the message text to transmit | |
| confirm | No | wait for and report the delivery ack + round-trip. Direct (contact) messages only — for a channel/broadcast send the result reports `confirmationNotApplicable: true` instead (no single recipient to ack) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| contact | No | ||
| publicKey | No | ||
| channelIdx | No | ||
| channelName | No | ||
| text | Yes | ||
| route | No | how a contact send was routed | |
| delivered | No | delivery ack result (only when confirm requested, contact sends): true if acked, false if none arrived in the window | |
| roundTripMs | No | round-trip time of the delivery ack, ms (when delivered) | |
| confirmationNotApplicable | No | true when confirm was requested for a channel/broadcast send: there is no single recipient to ack, so delivery confirmation does not apply (delivered/roundTripMs are correctly absent) — distinct from a fire-and-forget send |