X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/caf16231aaf7550cedf74c66f5ddfa9a82b7bb88..d47574351e0e27cf308ddacac2b3abf597d34fcb:/man/signal-cli-dbus.5.adoc diff --git a/man/signal-cli-dbus.5.adoc b/man/signal-cli-dbus.5.adoc index 61091d4b..12b87d2b 100755 --- a/man/signal-cli-dbus.5.adoc +++ b/man/signal-cli-dbus.5.adoc @@ -11,10 +11,11 @@ DBus API for signal-cli - A commandline and dbus interface for the Signal messen == Synopsis -*signal-cli* [--config CONFIG] daemon --dbus-system +*signal-cli* [--verbose] [--config CONFIG] [-u USERNAME] [-o {plain-text,json}] daemon [--system] -*dbus-send* --system --type=method_call --print-reply --dest="org.asamk.Signal" /org/asamk/Signal org.asamk.Signal. [string:] [array::] +*dbus-send* [--system | --session] [--print-reply] --type=method_call --dest="org.asamk.Signal" /org/asamk/Signal[/_] org.asamk.Signal. [string:] [array::] +Note: when daemon was started without explicit `-u USERNAME`, the `dbus-send` command requires adding the phone number in `/org/asamk/Signal/_`. == Description @@ -32,6 +33,7 @@ Where is according to DBus specification: * : Byte Array * : Array of Byte Arrays * : String Array +* : Array of signed 64 bit integer * : Boolean (0|1) * : Signed 64 bit integer * <> : no return value @@ -54,11 +56,18 @@ updateProfile(newName, about , aboutEmoji , avatar, remove) -> <> * newName : New name for your own profile (empty if unchanged) * about : About message for profile (empty if unchanged) * aboutEmoji : Emoji for profile (empty if unchanged) -* avatar : Filename of avatar picutre for profile (empty if unchanged) +* avatar : Filename of avatar picture for profile (empty if unchanged) * remove : Set to 1 if the existing avatar picture should be removed Exceptions: Failure + +setExpirationTimer(number, expiration) -> <>:: +* number : Phone number of recipient +* expiration : int32 for the number of seconds before messages to this recipient disappear. Set to 0 to disable expiration. + +Exceptions: Failure + setContactBlocked(number, block) -> <>:: * number : Phone number affected by method * block : 0=remove block , 1=blocked @@ -90,14 +99,14 @@ Exceptions: GroupNotFound, Failure isMember(groupId) -> active:: * groupId : Byte array representing the internal group identifier -Note that this method not raise an Exception for a non-existing/unknown group but will simply return 0 (false) +Note that this method does not raise an Exception for a non-existing/unknown group but will simply return 0 (false) sendEndSessionMessage(recipients) -> <>:: * recipients : Array of phone numbers Exceptions: Failure, InvalidNumber, UntrustedIdentity -sendGroupMessage(message, attachments, groupId) -> timestamp:: +sendGroupMessage(message, attachments, groupId) -> timestamp:: * message : Text to send (can be UTF8) * attachments : String array of filenames to send as attachments (passed as filename, so need to be readable by the user signal-cli is running under) * groupId : Byte array representing the internal group identifier @@ -105,6 +114,18 @@ sendGroupMessage(message, attachments, groupId) -> timestamp:: Exceptions: GroupNotFound, Failure, AttachmentInvalid +sendContacts() -> <>:: + +Sends a synchronization message with the local contacts list to all linked devices. This command should only be used if this is the primary device. + +Exceptions: Failure + +sendSyncRequest() -> <>:: + +Sends a synchronization request to the primary device (for group, contacts, ...). Only works if sent from a secondary device. + +Exception: Failure + sendNoteToSelfMessage(message, attachments) -> timestamp:: * message : Text to send (can be UTF8) * attachments : String array of filenames to send as attachments (passed as filename, so need to be readable by the user signal-cli is running under) @@ -112,7 +133,7 @@ sendNoteToSelfMessage(message, attachments) -> timestamp:: Exceptions: Failure, AttachmentInvalid -sendMessage(message, attachments, recipient timestamp:: +sendMessage(message, attachments, recipient) -> timestamp:: sendMessage(message, attachments, recipients) -> timestamp:: * message : Text to send (can be UTF8) * attachments : String array of filenames to send as attachments (passed as filename, so need to be readable by the user signal-cli is running under) @@ -122,11 +143,66 @@ sendMessage(message, attachments, recipients) -> timestamp:: Depending on the type of the recipient field this sends a message to one or multiple recipients. -Expections: AttachmentInvalid, Failure, InvalidNumber, UntrustedIdentity +Exceptions: AttachmentInvalid, Failure, InvalidNumber, UntrustedIdentity + +sendTyping(recipient, stop) -> <>:: +* recipient : Phone number of a single recipient +* targetSentTimestamp : True, if typing state should be stopped + +Exceptions: Failure, GroupNotFound, UntrustedIdentity + + +sendReadReceipt(recipient, targetSentTimestamp) -> <>:: +* recipient : Phone number of a single recipient +* targetSentTimestamp : Array of Longs to identify the corresponding signal messages + +Exceptions: Failure, UntrustedIdentity + +sendGroupMessageReaction(emoji, remove, targetAuthor, targetSentTimestamp, groupId) -> timestamp:: +* emoji : Unicode grapheme cluster of the emoji +* remove : Boolean, whether a previously sent reaction (emoji) should be removed +* targetAuthor : String with the phone number of the author of the message to which to react +* targetSentTimestamp : Long representing timestamp of the message to which to react +* groupId : Byte array with base64 encoded group identifier +* timestamp : Long, can be used to identify the corresponding signal reply + +Exceptions: Failure, InvalidNumber, GroupNotFound + +sendMessageReaction(emoji, remove, targetAuthor, targetSentTimestamp, recipient) -> timestamp:: +sendMessageReaction(emoji, remove, targetAuthor, targetSentTimestamp, recipients) -> timestamp:: +* emoji : Unicode grapheme cluster of the emoji +* remove : Boolean, whether a previously sent reaction (emoji) should be removed +* targetAuthor : String with the phone number of the author of the message to which to react +* targetSentTimestamp : Long representing timestamp of the message to which to react +* recipient : String with the phone number of a single recipient +* recipients : Array of strings with phone numbers, should there be more recipients +* timestamp : Long, can be used to identify the corresponding signal reply + +Depending on the type of the recipient(s) field this sends a reaction to one or multiple recipients. + +Exceptions: Failure, InvalidNumber + +sendGroupRemoteDeleteMessage(targetSentTimestamp, groupId) -> timestamp:: +* targetSentTimestamp : Long representing timestamp of the message to delete +* groupId : Byte array with base64 encoded group identifier +* timestamp : Long, can be used to identify the corresponding signal reply + +Exceptions: Failure, GroupNotFound + +sendRemoteDeleteMessage(targetSentTimestamp, recipient) -> timestamp:: +sendRemoteDeleteMessage(targetSentTimestamp, recipients) -> timestamp:: +* targetSentTimestamp : Long representing timestamp of the message to delete +* recipient : String with the phone number of a single recipient +* recipients : Array of strings with phone numbers, should there be more recipients +* timestamp : Long, can be used to identify the corresponding signal reply + +Depending on the type of the recipient(s) field this deletes a message with one or multiple recipients. + +Exceptions: Failure, InvalidNumber getContactName(number) -> name:: * number : Phone number -* name : Name set in contacts (setContacts) or if not set the profile name +* name : Contact's name in local storage (from the master device for a linked account, or the one set with setContactName); if not set, contact's profile name is used setContactName(number,name<>) -> <>:: * number : Phone number @@ -135,7 +211,7 @@ setContactName(number,name<>) -> <>:: getGroupIds() -> groupList:: groupList : Array of Byte arrays representing the internal group identifiers -All groups known are returned, regardsless of their active or blocked status. To query that use isMember() and isGroupBlocked() +All groups known are returned, regardless of their active or blocked status. To query that use isMember() and isGroupBlocked() getGroupName(groupId) -> groupName:: groupName : The display name of the group @@ -158,7 +234,7 @@ getContactNumber(name) -> numbers:: * numbers : Array of phone number * name : Contact or profile name ("firstname lastname") -Searches contacts and know profiles for a given name and returns the list of all known names. May result in e.g. two entries if a contact and profile name is set. +Searches contacts and known profiles for a given name and returns the list of all known numbers. May result in e.g. two entries if a contact and profile name is set. isContactBlocked(number) -> state:: * number : Phone number @@ -172,12 +248,31 @@ isGroupBlocked(groupId) -> state:: Exceptions: None, for unknown groups 0 (false) is returned +removePin() -> <>:: + +Removes registration PIN protection. + +Exception: Failure + +setPin(pin) -> <>:: +* pin : PIN you set after registration (resets after 7 days of inactivity) + +Sets a registration lock PIN, to prevent others from registering your number. + +Exception: Failure + version() -> version:: * version : Version string of signal-cli isRegistred -> result:: * result : Currently always returns 1=true +uploadStickerPack(stickerPackPath) -> url:: +* stickerPackPath : Path to the manifest.json file or a zip file in the same directory +* url : URL of sticker pack after successful upload + +Exception: Failure + == Signals SyncMessageReceived (timestamp, sender, destination, groupId,message, attachments):: @@ -198,6 +293,17 @@ MessageReceived(timestamp, sender, groupId, message, attachments, who is assisted by other open source contributors.