diff --git a/docs/cli/channels.md b/docs/cli/channels.md index 07d19fbaa37..589dccef522 100644 --- a/docs/cli/channels.md +++ b/docs/cli/channels.md @@ -26,6 +26,13 @@ openclaw channels resolve --channel slack "#general" "@jane" openclaw channels logs --channel all ``` +## Status / capabilities / resolve / logs + +- `channels status`: `--probe`, `--timeout `, `--json` +- `channels capabilities`: `--channel `, `--account ` (only with `--channel`), `--target `, `--timeout `, `--json` +- `channels resolve`: ``, `--channel `, `--account `, `--kind `, `--json` +- `channels logs`: `--channel `, `--lines `, `--json` + ## Add / remove accounts ```bash @@ -36,6 +43,16 @@ openclaw channels remove --channel telegram --delete Tip: `openclaw channels add --help` shows per-channel flags (token, private key, app token, signal-cli paths, etc). +Common non-interactive add surfaces include: + +- bot-token channels: `--token`, `--bot-token`, `--app-token`, `--token-file` +- Signal/iMessage transport fields: `--signal-number`, `--cli-path`, `--http-url`, `--http-host`, `--http-port`, `--db-path`, `--service`, `--region` +- Google Chat fields: `--webhook-path`, `--webhook-url`, `--audience-type`, `--audience` +- Matrix fields: `--homeserver`, `--user-id`, `--access-token`, `--password`, `--device-name`, `--initial-sync-limit` +- Nostr fields: `--private-key`, `--relay-urls` +- Tlon fields: `--ship`, `--url`, `--code`, `--group-channels`, `--dm-allowlist`, `--auto-discover-channels` +- `--use-env` for default-account env-backed auth where supported + When you run `openclaw channels add` without flags, the interactive wizard can prompt: - account ids per selected channel @@ -63,6 +80,11 @@ openclaw channels login --channel whatsapp openclaw channels logout --channel whatsapp ``` +Notes: + +- `channels login` supports `--verbose`. +- `channels login` / `logout` can infer the channel when only one supported login target is configured. + ## Troubleshooting - Run `openclaw status --deep` for a broad probe. @@ -82,6 +104,7 @@ openclaw channels capabilities --channel discord --target channel:123 Notes: - `--channel` is optional; omit it to list every channel (including extensions). +- `--account` is only valid with `--channel`. - `--target` accepts `channel:` or a raw numeric channel id and only applies to Discord. - Probes are provider-specific: Discord intents + optional channel permissions; Slack bot + user scopes; Telegram bot flags + webhook; Signal daemon version; Microsoft Teams app token + Graph roles/scopes (annotated where known). Channels without probes report `Probe: unavailable`. diff --git a/docs/cli/index.md b/docs/cli/index.md index b3abfb040e8..2b34fe37c55 100644 --- a/docs/cli/index.md +++ b/docs/cli/index.md @@ -637,12 +637,39 @@ Common options: - `--no-usage`: skip model provider usage/quota snapshots (OAuth/API-backed only). - `--json`: output JSON (includes usage unless `--no-usage` is set). +`channels status` options: + +- `--probe` +- `--timeout ` +- `--json` + +`channels capabilities` options: + +- `--channel ` +- `--account ` (only with `--channel`) +- `--target ` +- `--timeout ` +- `--json` + +`channels resolve` options: + +- `` +- `--channel ` +- `--account ` +- `--kind ` +- `--json` + `channels logs` options: - `--channel ` (default `all`) - `--lines ` (default `200`) - `--json` +Notes: + +- `channels login` supports `--verbose`. +- `channels capabilities --account` only applies when `--channel` is set. + More detail: [/concepts/oauth](/concepts/oauth) Examples: diff --git a/docs/cli/message.md b/docs/cli/message.md index 2b6abc28a69..6c8cff399e8 100644 --- a/docs/cli/message.md +++ b/docs/cli/message.md @@ -68,11 +68,15 @@ Name lookup: - `send` - Channels: WhatsApp/Telegram/Discord/Google Chat/Slack/Mattermost (plugin)/Signal/iMessage/Matrix/Microsoft Teams - Required: `--target`, plus `--message` or `--media` - - Optional: `--media`, `--reply-to`, `--thread-id`, `--gif-playback` + - Optional: `--media`, `--interactive`, `--buttons`, `--components`, `--card`, `--reply-to`, `--thread-id`, `--gif-playback`, `--force-document`, `--silent` + - Shared interactive payloads: `--interactive` sends a channel-native interactive JSON payload when supported - Telegram only: `--buttons` (requires `channels.telegram.capabilities.inlineButtons` to allow it) - Telegram only: `--force-document` (send images and GIFs as documents to avoid Telegram compression) - Telegram only: `--thread-id` (forum topic id) - Slack only: `--thread-id` (thread timestamp; `--reply-to` uses the same field) + - Discord only: `--components` JSON payload + - Adaptive-card channels: `--card` JSON payload when supported + - Telegram + Discord: `--silent` - WhatsApp only: `--gif-playback` - `poll` @@ -192,7 +196,7 @@ Name lookup: - `broadcast` - Channels: any configured channel; use `--channel all` to target all providers - - Required: `--targets` (repeat) + - Required: `--targets ` - Optional: `--message`, `--media`, `--dry-run` ## Examples @@ -214,6 +218,14 @@ openclaw message send --channel discord \ See [Discord components](/channels/discord#interactive-components) for the full schema. +Send a shared interactive payload: + +```bash +openclaw message send --channel googlechat --target spaces/AAA... \ + --message "Choose:" \ + --interactive '{"text":"Choose a path","blocks":[{"type":"actions","buttons":[{"label":"Approve"},{"label":"Decline"}]}]}' +``` + Create a Discord poll: ``` @@ -272,6 +284,14 @@ openclaw message send --channel telegram --target @mychat --message "Choose:" \ --buttons '[ [{"text":"Yes","callback_data":"cmd:yes"}], [{"text":"No","callback_data":"cmd:no"}] ]' ``` +Send a Teams Adaptive Card: + +```bash +openclaw message send --channel msteams \ + --target conversation:19:abc@thread.tacv2 \ + --card '{"type":"AdaptiveCard","version":"1.5","body":[{"type":"TextBlock","text":"Status update"}]}' +``` + Send a Telegram image as a document to avoid compression: ```bash