X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/4f50668fe360cc4d42d02ae36783952a9334a9d2..b9eee539bdaa6eb27b9acd4e829e1eaeeb6e1c6c:/man/signal-cli.1.adoc?ds=inline

diff --git a/man/signal-cli.1.adoc b/man/signal-cli.1.adoc
index 57016413..9b6ec2db 100644
--- a/man/signal-cli.1.adoc
+++ b/man/signal-cli.1.adoc
@@ -8,7 +8,7 @@ vim:set ts=4 sw=4 tw=82 noet:
 
 == Name
 
-signal-cli - A commandline and dbus interface for the Signal messenger
+signal-cli - A commandline interface for the Signal messenger
 
 == Synopsis
 
@@ -20,7 +20,7 @@ signal-cli is a commandline interface for libsignal-service-java.
 It supports registering, verifying, sending and receiving messages.
 For registering you need a phone number where you can receive SMS or incoming calls.
 signal-cli was primarily developed to be used on servers to notify admins of important events.
-For this use-case, it has a dbus interface, that can be used to send messages from any programming language that has dbus bindings.
+For this use-case, it has a dbus and a JSON-RPC interface, that can be used to send messages from other programs.
 
 For some functionality the Signal protocol requires that all messages have been received from the server.
 The `receive` command should be regularly executed.
@@ -31,12 +31,19 @@ In daemon mode messages are continuously received.
 *-h*, *--help*::
 Show help message and quit.
 
-*-v*, *--version*::
+*--version*::
 Print the version and quit.
 
-*--verbose*::
+*-v*, *--verbose*::
 Raise log level and include lib signal logs.
 
+*--log-file* LOG_FILE::
+Write log output to the given file.
+If `--verbose` is also given, the detailed logs will only be written to the log file.
+
+*--scrub-log*::
+Scrub possibly sensitive information from the log, like phone numbers and UUIDs.
+
 *--config* CONFIG::
 Set the path, where to store the config.
 Make sure you have full read/write access to the given directory.
@@ -50,6 +57,12 @@ This flag must not be given for the `link` command.
 It is optional for the `daemon` command.
 For all other commands it is only optional if there is exactly one local user in the config directory.
 
+*--service-environment* ENVIRONMENT::
+Choose the server environment to use:
+
+- `live` (default)
+- `staging`
+
 *--dbus*::
 Make request via user dbus.
 
@@ -73,11 +86,9 @@ Choose when to trust new identities:
 Register a phone number with SMS or voice verification.
 Use the verify command to complete the verification.
 
-If the account is just deactivated, the register command will just reactivate
-account, without requiring an SMS verification.  By default the unregister command
-just deactivates the account, in which case it can be reactivated without sms
-verification if the local data is still available.  If the account was deleted
-(with --delete-account) it cannot be reactivated.
+If the account is just deactivated, the register command will just reactivate account, without requiring an SMS verification.
+By default the unregister command just deactivates the account, in which case it can be reactivated without sms verification if the local data is still available.
+If the account was deleted (with --delete-account) it cannot be reactivated.
 
 *-v*, *--voice*::
 The verification should be done over voice, not SMS.
@@ -85,6 +96,7 @@ The verification should be done over voice, not SMS.
 *--captcha*::
 The captcha token, required if registration failed with a captcha required error.
 To get the token, go to https://signalcaptchas.org/registration/generate.html
+For the staging environment, use: https://signalcaptchas.org/staging/registration/generate.html
 Check the developer tools for a redirect starting with signalcaptcha:// Everything after signalcaptcha:// is the captcha token.
 
 === verify
@@ -101,9 +113,9 @@ Only required if a PIN was set.
 === unregister
 
 Disable push support for this device, i.e. this device won't receive any more messages.
-If this is the master device, other users can't send messages to this number anymore.
+If this is the primary device, other users can't send messages to this number anymore.
 Use "updateAccount" to undo this.
-To remove a linked device, use "removeDevice" from the master device.
+To remove a linked device, use "removeDevice" from the primary device.
 
 *--delete-account*::
 Delete account completely from server.
@@ -112,18 +124,28 @@ You will have to be readded to each group.
 
 CAUTION: Only delete your account if you won't use this number again!
 
+=== deleteLocalAccountData
+
+Delete all local data for this account.
+Data should only be deleted if the account is unregistered.
+
+CAUTION: This cannot be undone.
+
+*--ignore-registered*::
+Delete the account data even though the account is still registered on the Signal servers.
+
 === updateAccount
 
 Update the account attributes on the signal server.
 Can fix problems with receiving messages.
 
 *-n* NAME, *--device-name* NAME::
-Set a new device name for the main or linked device
+Set a new device name for the primary or linked device
 
 === updateConfiguration
 
 Update signal configs and sync them to linked devices.
-This command only works on the main devices.
+This command only works on the primary devices.
 
 *--read-receipts* {true,false}::
 Indicates if Signal should send read receipts.
@@ -162,7 +184,7 @@ By default "cli" will be used.
 === addDevice
 
 Link another device to this device.
-Only works, if this is the master device.
+Only works, if this is the primary device.
 
 *--uri* URI::
 Specify the uri contained in the QR code shown by the new device.
@@ -175,7 +197,7 @@ Show a list of linked devices.
 === removeDevice
 
 Remove a linked device.
-Only works, if this is the master device.
+Only works, if this is the primary device.
 
 *-d* DEVICE_ID, *--device-id* DEVICE_ID::
 Specify the device you want to remove.
@@ -197,20 +219,29 @@ Send a message to another user or group.
 RECIPIENT::
 Specify the recipientsâ phone number.
 
+*--note-to-self*::
+Send the message to self without notification.
+
 *-g* GROUP, *--group-id* GROUP::
 Specify the recipient group ID in base64 encoding.
 
 *-m* MESSAGE, *--message* MESSAGE::
-Specify the message, if missing, standard input is used.
+Specify the message.
+
+*--message-from-stdin*::
+Read the message from standard input.
 
 *-a* [ATTACHMENT [ATTACHMENT ...]], *--attachment* [ATTACHMENT [ATTACHMENT ...]]::
 Add one or more files as attachment.
+Can be either a file path or a data URI.
+Data URI encoded attachments must follow the RFC 2397.
+Additionally a file name can be added:
+e.g.: `data:<MIME-TYPE>;filename=<FILENAME>;base64,<BASE64 ENCODED DATA>`
 
-*--note-to-self*::
-Send the message to self without notification.
-
-*-e*, *--end-session*::
-Clear session state and send end session message.
+*--sticker* STICKER::
+Send a sticker of a locally known sticker pack (syntax: stickerPackId:stickerId).
+Shouldn't be used together with `-m` as the official clients don't support this.
+e.g.: `--sticker 00abac3bc18d7f599bff2325dc306d43:2`
 
 *--mention*::
 Mention another group member (syntax: start:length:recipientNumber) In the apps the mention replaces part of the message text, which is specified by the start and length values.
@@ -228,6 +259,35 @@ Specify the message of the original message.
 *--quote-mention*::
 Specify the mentions of the original message (same format as `--mention`).
 
+*--preview-url*::
+Specify the url for the link preview.
+The same url must also appear in the message body, otherwise the preview won't be displayed by the apps.
+
+*--preview-title*::
+Specify the title for the link preview (mandatory).
+
+*--preview-description*::
+Specify the description for the link preview (optional).
+
+*--preview-image*::
+Specify the image file for the link preview (optional).
+
+*-e*, *--end-session*::
+Clear session state and send end session message.
+
+=== sendPaymentNotification
+
+Send a payment notification.
+
+RECIPIENT::
+Specify the recipientâs phone number.
+
+*--receipt* RECEIPT::
+The base64 encoded receipt blob.
+
+*--note* NOTE::
+Specify a note for the payment notification.
+
 === sendReaction
 
 Send reaction to a previously received or sent message.
@@ -299,9 +359,17 @@ In json mode this is outputted as one json object per line.
 *-t* TIMEOUT, *--timeout* TIMEOUT::
 Number of seconds to wait for new messages (negative values disable timeout).
 Default is 5 seconds.
+
 *--ignore-attachments*::
 Donât download attachments of received messages.
 
+*--ignore-stories*::
+Donât receive story messages from the server.
+
+
+*--send-read-receipts*::
+Send read receipts for all incoming data messages (in addition to the default delivery receipts)
+
 === joinGroup
 
 Join a group via an invitation link.
@@ -339,6 +407,13 @@ Specify one or more members to make a group admin
 *--remove-admin* [MEMBER [MEMBER ...]]::
 Specify one or more members to remove group admin privileges
 
+*--ban* [MEMBER [MEMBER ...]]::
+Specify one or more members to ban from joining the group.
+Banned members cannot join or request to join via a group link.
+
+*--unban* [MEMBER [MEMBER ...]]::
+Specify one or more members to remove from the ban list
+
 *--reset-link*::
 Reset group link and create new link password
 
@@ -378,9 +453,25 @@ In json mode this is outputted as an list of objects and is always in detailed m
 *-d*, *--detailed*::
 Include the list of members of each group and the group invite link.
 
+*-g*, *--group-id*::
+Filter the group list by one or more group IDs.
+
 === listContacts
 
-Show a list of known contacts with names.
+Show a list of known contacts with names and profiles.
+When a specific recipient is given, its profile will be refreshed.
+
+RECIPIENT::
+Specify the recipientsâ phone number.
+
+*-a*, *--all-recipients*::
+Include all known recipients, not only contacts.
+
+*--blocked*::
+Specify if only blocked or unblocked contacts should be shown (default: all contacts)
+
+*--name*::
+Find contacts with the given contact or profile name.
 
 === listIdentities
 
@@ -429,6 +520,9 @@ Path to the new avatar image file.
 *--remove-avatar*::
 Remove the avatar
 
+*--mobile-coin-address*::
+New MobileCoin address (Base64 encoded public address)
+
 === updateContact
 
 Update the info associated to a number on our contact list.
@@ -438,8 +532,11 @@ If the contact doesn't exist yet, it will be added.
 NUMBER::
 Specify the contact phone number.
 
-*-n*, *--name*::
-Specify the new name for this contact.
+*--given-name* NAME, *--name* NAME::
+New (given) name.
+
+*--family-name* FAMILY_NAME::
+New family name.
 
 *-e*, *--expiration* EXPIRATION_SECONDS::
 Set expiration time of messages (seconds).
@@ -480,12 +577,12 @@ Specify the group IDs that should be unblocked in base64 encoding.
 === sendContacts
 
 Send a synchronization message with the local contacts list to all linked devices.
-This command should only be used if this is the master device.
+This command should only be used if this is the primary device.
 
 === sendSyncRequest
 
-Send a synchronization request message to the master device (for group, contacts, ...).
-The master device will respond with synchronization messages with full contact and group lists.
+Send a synchronization request message to the primary device (for group, contacts, ...).
+The primary device will respond with synchronization messages with full contact and group lists.
 
 === uploadStickerPack
 
@@ -547,6 +644,12 @@ See signal-cli-jsonrpc (5) for info on the JSON-RPC interface.
 *--ignore-attachments*::
 Donât download attachments of received messages.
 
+*--ignore-stories*::
+Donât receive story messages from the server.
+
+*--send-read-receipts*::
+Send read receipts for all incoming data messages (in addition to the default delivery receipts)
+
 *--no-receive-stdout*::
 Donât print received messages to stdout.
 
@@ -565,7 +668,7 @@ Send a message to one or more recipients::
 signal-cli -a ACCOUNT send -m "This is a message" [RECIPIENT [RECIPIENT ...]] [-a [ATTACHMENT [ATTACHMENT ...]]]
 
 Pipe the message content from another process::
-uname -a | signal-cli -a ACCOUNT send [RECIPIENT [RECIPIENT ...]]
+uname -a | signal-cli -a ACCOUNT send --message-from-stdin [RECIPIENT [RECIPIENT ...]]
 
 Create a group::
 signal-cli -a ACCOUNT updateGroup -n "Group name" -m [MEMBER [MEMBER ...]]
