twocents/open source

Command examples

Usage and examples for each dmbridge command.

Explore the Command Map or find a command below. Examples use placeholder IDs and paths. Review request files and dry-run output before running commands that change local or provider state.

dmbridge help

Show available commands.

dmbridge help

Example:

dmbridge help

Run against your installed dmbridge executable.

Read the guide.

dmbridge version

Show the installed version and protocol.

dmbridge version

Example:

dmbridge version

Run against your installed dmbridge executable.

Read the guide.

dmbridge accounts list

List configured accounts.

dmbridge accounts list [provider]

Example:

dmbridge accounts list

Run against your installed dmbridge executable. Account names and provider IDs are local configuration values.

Read the guide.

dmbridge accounts add

Connect a provider account.

dmbridge accounts add <provider> --account <name> --request <file-or-dash> [--dry-run] [--yes]

Example:

dmbridge accounts add x --account personal --request request.json --dry-run

File: request.json

{
  "clientID": "YOUR_X_CLIENT_ID",
  "clientSecret": null,
  "clientType": "public",
  "redirectURI": "http://127.0.0.1/callback",
  "realmTokenIssuerURL": null
}

Save as request.json and replace the client ID and callback URL with your X app settings. This starts the public-client OAuth setup; complete authorization using the X setup guide. The dry run does not store credentials.

Read the guide.

dmbridge accounts import x

Import externally refreshed X credentials.

dmbridge accounts import x --account <name> --request <file-or-dash> [--dry-run] [--yes]

Example:

dmbridge accounts import x --account personal --request request.json --dry-run

File: request.json

{
  "clientID": "YOUR_X_CLIENT_ID",
  "clientSecret": null,
  "clientType": "public",
  "redirectURI": "http://127.0.0.1/callback",
  "accessToken": "REPLACE_WITH_ACCESS_TOKEN",
  "refreshToken": "REPLACE_WITH_REFRESH_TOKEN",
  "expiresAt": 1893456000000,
  "accountUserID": "123456789",
  "accountUsername": "your_account",
  "grantedScopes": [
    "dm.read",
    "dm.write",
    "tweet.read",
    "users.read",
    "media.write",
    "offline.access"
  ],
  "realmTokenIssuerURL": null,
  "refreshMode": "external"
}

Save as request.json outside the repository with owner-only permissions. Replace all account, token, scope, and expiry values with the complete credential supplied by your OAuth manager; expiresAt is Unix milliseconds. The dry run validates without saving. dmbridge does not refresh imported external credentials.

Read the guide.

dmbridge accounts default

Choose the default account for a provider.

dmbridge accounts default <provider> --account <name> [--dry-run]

Example:

dmbridge accounts default x --account personal --dry-run

The example uses X. Choose a configured provider and check its capabilities; support can differ between X and Instagram. Replace placeholder IDs and paths.

Read the guide.

dmbridge accounts remove

Remove a local account.

dmbridge accounts remove <provider> --account <name> [--dry-run] [--yes]

Example:

dmbridge accounts remove x --account personal --dry-run

The example uses X. Choose a configured provider and check its capabilities; support can differ between X and Instagram. Replace placeholder IDs and paths.

Read the guide.

dmbridge accounts set-passcode x

Store an XChat passcode.

dmbridge accounts set-passcode x --account <name> --secret <file-or-dash> [--dry-run] [--yes]

Example:

dmbridge accounts set-passcode x --account personal --secret /absolute/path/passcode.txt --dry-run

File: /absolute/path/passcode.txt

REPLACE_WITH_YOUR_XCHAT_PASSCODE

Create the private passcode.txt file at the path shown, containing only your XChat passcode and an optional trailing newline. Replace the placeholder; this file is plain text, not JSON. The dry run does not save the passcode.

Read the guide.

dmbridge <provider> doctor

Check setup or inspect a JSON schema.

dmbridge <provider> doctor [--account <name>] [--live] [--schema <name>]

Example:

dmbridge x doctor

The example uses X. Choose a configured provider and check its capabilities; support can differ between X and Instagram. Replace placeholder IDs and paths.

Read the guide.

dmbridge <provider> conversations list

List conversations.

dmbridge <provider> conversations list [--account <name>] [--limit <number>] [--cursor <cursor>] [--unread]

Example:

dmbridge x conversations list

The example uses X. Choose a configured provider and check its capabilities; support can differ between X and Instagram. Replace placeholder IDs and paths.

Read the guide.

dmbridge <provider> conversations get

Read one conversation.

dmbridge <provider> conversations get <conversationID> [--account <name>]

Example:

dmbridge x conversations get CONVERSATION_ID

The example uses X. Choose a configured provider and check its capabilities; support can differ between X and Instagram. Replace placeholder IDs and paths.

Read the guide.

dmbridge <provider> conversations requests list

List message requests.

dmbridge <provider> conversations requests list [--account <name>] [--limit <number>] [--cursor <cursor>] [--category <category>]

Example:

dmbridge x conversations requests list

The example uses X. Choose a configured provider and check its capabilities; support can differ between X and Instagram. Replace placeholder IDs and paths.

Read the guide.

dmbridge <provider> conversations requests get

Read a message request.

dmbridge <provider> conversations requests get <conversationID> [--account <name>] [--acknowledge-delivery] [--dry-run]

Example:

dmbridge x conversations requests get CONVERSATION_ID --dry-run

The example uses X. Choose a configured provider and check its capabilities; support can differ between X and Instagram. Replace placeholder IDs and paths.

Read the guide.

dmbridge <provider> conversations requests messages

Read messages in a request.

dmbridge <provider> conversations requests messages <conversationID> [--account <name>] [--limit <number>] [--cursor <cursor>] [--acknowledge-delivery] [--dry-run]

Example:

dmbridge x conversations requests messages CONVERSATION_ID --dry-run

The example uses X. Choose a configured provider and check its capabilities; support can differ between X and Instagram. Replace placeholder IDs and paths.

Read the guide.

dmbridge <provider> conversations requests accept

Accept a message request.

dmbridge <provider> conversations requests accept <conversationID> [--account <name>] [--request <file-or-dash>] [--dry-run]

Example:

dmbridge instagram conversations requests accept CONVERSATION_ID --request accept.json --dry-run

File: accept.json

{
  "type": "text",
  "text": "Thanks for reaching out."
}

Save as accept.json and replace CONVERSATION_ID and the text. Instagram accepts a request by replying. X accepts without a reply: use x instead of instagram and omit --request. The dry run makes no provider changes.

Read the guide.

dmbridge <provider> conversations requests decline

Decline a message request.

dmbridge <provider> conversations requests decline <conversationID> [--account <name>] [--dry-run] [--yes]

Example:

dmbridge x conversations requests decline CONVERSATION_ID --dry-run

The example uses X. Choose a configured provider and check its capabilities; support can differ between X and Instagram. Replace placeholder IDs and paths.

Read the guide.

dmbridge <provider> messages list

List messages in a conversation.

dmbridge <provider> messages list <conversationID> [--account <name>] [--limit <number>] [--cursor <cursor>]

Example:

dmbridge x messages list CONVERSATION_ID

The example uses X. Choose a configured provider and check its capabilities; support can differ between X and Instagram. Replace placeholder IDs and paths.

Read the guide.

dmbridge <provider> messages get

Read one message.

dmbridge <provider> messages get <messageID> [--account <name>]

Example:

dmbridge x messages get MESSAGE_ID

The example uses X. Choose a configured provider and check its capabilities; support can differ between X and Instagram. Replace placeholder IDs and paths.

Read the guide.

dmbridge <provider> messages send

Send a message.

dmbridge <provider> messages send <conversationID> [--account <name>] --request <file-or-dash> [--dry-run]

Example:

dmbridge x messages send CONVERSATION_ID --request request.json --dry-run

File: request.json

{
  "type": "text",
  "text": "Hello from dmbridge."
}

Save as request.json. Replace CONVERSATION_ID and the message text. This example uses X; the dry run does not send a message.

Read the guide.

dmbridge <provider> messages reply

Reply to a message.

dmbridge <provider> messages reply <messageID> [text] [--account <name>] [--request <file-or-dash>] [--dry-run]

Example:

dmbridge x messages reply MESSAGE_ID --request reply.json --dry-run

File: reply.json

{
  "type": "text",
  "text": "Thanks, I will take a look."
}

Save as reply.json. Replace MESSAGE_ID and the reply text. Direct text is also supported as the second argument. This example uses X; the dry run does not send the reply.

Read the guide.

dmbridge <provider> messages edit

Edit a message.

dmbridge <provider> messages edit <messageID> [--account <name>] --request <file-or-dash> [--dry-run]

Example:

dmbridge x messages edit MESSAGE_ID --request request.json --dry-run

File: request.json

{
  "type": "text",
  "text": "Here is the corrected message."
}

Save as request.json. Replace MESSAGE_ID and the replacement text. This example uses X; the dry run does not edit the message.

Read the guide.

dmbridge <provider> messages delete

Delete a message.

dmbridge <provider> messages delete <messageID> [--account <name>] [--dry-run] [--yes]

Example:

dmbridge x messages delete MESSAGE_ID --dry-run

The example uses X. Choose a configured provider and check its capabilities; support can differ between X and Instagram. Replace placeholder IDs and paths.

Read the guide.

dmbridge <provider> messages read

Mark a message as read.

dmbridge <provider> messages read <messageID> [--account <name>] [--dry-run]

Example:

dmbridge x messages read MESSAGE_ID --dry-run

The example uses X. Choose a configured provider and check its capabilities; support can differ between X and Instagram. Replace placeholder IDs and paths.

Read the guide.

dmbridge <provider> messages unread

Mark a message as unread.

dmbridge <provider> messages unread <messageID> [--account <name>] [--dry-run]

Example:

dmbridge x messages unread MESSAGE_ID --dry-run

The example uses X. Choose a configured provider and check its capabilities; support can differ between X and Instagram. Replace placeholder IDs and paths.

Read the guide.

dmbridge <provider> reactions list

List reactions to a message.

dmbridge <provider> reactions list <messageID> [--account <name>]

Example:

dmbridge x reactions list MESSAGE_ID

The example uses X. Choose a configured provider and check its capabilities; support can differ between X and Instagram. Replace placeholder IDs and paths.

Read the guide.

dmbridge <provider> reactions add

Add a reaction.

dmbridge <provider> reactions add <messageID> [--account <name>] --reaction <emoji> [--dry-run]

Example:

dmbridge x reactions add MESSAGE_ID --reaction ❤️ --dry-run

The example uses X. Choose a configured provider and check its capabilities; support can differ between X and Instagram. Replace placeholder IDs and paths.

Read the guide.

dmbridge <provider> reactions remove

Remove a reaction.

dmbridge <provider> reactions remove <messageID> [--account <name>] --reaction <emoji> [--dry-run]

Example:

dmbridge x reactions remove MESSAGE_ID --reaction ❤️ --dry-run

The example uses X. Choose a configured provider and check its capabilities; support can differ between X and Instagram. Replace placeholder IDs and paths.

Read the guide.

dmbridge <provider> attachments download

Download an attachment.

dmbridge <provider> attachments download <attachmentID> [--account <name>] --destination-url <file-url> [--overwrite] [--dry-run]

Example:

dmbridge x attachments download ATTACHMENT_ID --destination-url file:///absolute/path/image.jpg --dry-run

The example uses X. Choose a configured provider and check its capabilities; support can differ between X and Instagram. Replace placeholder IDs and paths.

Read the guide.

On this page