mirror of
https://github.com/AsamK/signal-cli
synced 2025-08-29 10:30:38 +00:00
update DBus documentation (#773)
This commit is contained in:
parent
09730b474b
commit
a95886c491
1 changed files with 325 additions and 188 deletions
|
@ -29,7 +29,7 @@ method(arg1<type>, arg2<type>, ...) -> return<type>
|
||||||
|
|
||||||
Where <type> is according to DBus specification:
|
Where <type> is according to DBus specification:
|
||||||
|
|
||||||
* <a> : Array of ... (comma-separated list)
|
* <a> : Array of ... (comma-separated list) (array:)
|
||||||
* (...) : Struct (cannot be sent via `dbus-send`)
|
* (...) : Struct (cannot be sent via `dbus-send`)
|
||||||
* <b> : Boolean (false|true) (boolean:)
|
* <b> : Boolean (false|true) (boolean:)
|
||||||
* <i> : Signed 32-bit (int) integer (int32:)
|
* <i> : Signed 32-bit (int) integer (int32:)
|
||||||
|
@ -103,50 +103,191 @@ version() -> version<s>::
|
||||||
|
|
||||||
Exceptions: None
|
Exceptions: None
|
||||||
|
|
||||||
=== Device methods
|
=== Group control methods
|
||||||
Requests for these methods are sent to a specific device (main or linked); the list is available
|
The following methods listen to the recipient's object path, which is constructed as follows:
|
||||||
from the listDevices() method (see below under "Other methods").
|
"/org/asamk/Signal/" + DBusNumber
|
||||||
|
* DBusNumber : recipient's phone number, with underscore (_) replacing plus (+)
|
||||||
|
|
||||||
removeDevice() -> <>::
|
createGroup(groupName<s>, members<as>, avatar<s>) -> groupId<ay>::
|
||||||
|
* groupName : String representing the display name of the group
|
||||||
|
* members : String array of new members to be invited to group
|
||||||
|
* avatar : Filename of avatar picture to be set for group (empty if none)
|
||||||
|
* groupId : Byte array representing the internal group identifier
|
||||||
|
|
||||||
|
Exceptions: AttachmentInvalid, Failure, InvalidNumber;
|
||||||
|
|
||||||
|
getGroup(groupId<ay>) -> objectPath<o>::
|
||||||
|
* groupId : Byte array representing the internal group identifier
|
||||||
|
* objectPath : DBusPath for the group
|
||||||
|
|
||||||
|
getGroupMembers(groupId<ay>) -> members<as>::
|
||||||
|
* groupId : Byte array representing the internal group identifier
|
||||||
|
* members : String array with the phone numbers of all active members of a group
|
||||||
|
|
||||||
|
Exceptions: None, if the group name is not found an empty array is returned
|
||||||
|
|
||||||
|
joinGroup(inviteURI<s>) -> <>::
|
||||||
|
* inviteURI : String starting with https://signal.group/#
|
||||||
|
|
||||||
|
If the link requires admin approval, this adds you to the requesting members list. Otherwise, this adds you to the pending members list.
|
||||||
|
|
||||||
Exceptions: Failure
|
Exceptions: Failure
|
||||||
|
|
||||||
=== Other methods
|
listGroups() -> groups<a(oays)>::
|
||||||
|
* groups : Array of Structs(objectPath, groupId, groupName)
|
||||||
|
** objectPath : DBusPath
|
||||||
|
** groupId : Byte array representing the internal group identifier
|
||||||
|
** groupName : String representing the display name of the group
|
||||||
|
|
||||||
updateGroup(groupId<ay>, newName<s>, members<as>, avatar<s>) -> groupId<ay>::
|
sendGroupMessage(message<s>, attachments<as>, groupId<ay>) -> timestamp<x>::
|
||||||
* groupId : Byte array representing the internal group identifier
|
* message : Text to send (can be UTF8)
|
||||||
* newName : New name of group (empty if unchanged)
|
* 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)
|
||||||
* members : String array of new members to be invited to group
|
* groupId : Byte array representing the internal group identifier
|
||||||
* avatar : Filename of avatar picture to be set for group (empty if none)
|
* timestamp : Long, can be used to identify the corresponding Signal reply
|
||||||
|
|
||||||
Exceptions: AttachmentInvalid, Failure, InvalidNumber, GroupNotFound
|
Exceptions: GroupNotFound, Failure, AttachmentInvalid, InvalidGroupId
|
||||||
|
|
||||||
updateProfile(name<s>, about<s>, aboutEmoji <s>, avatar<s>, remove<b>) -> <>::
|
sendGroupMessageReaction(emoji<s>, remove<b>, targetAuthor<s>, targetSentTimestamp<x>, groupId<ay>) -> timestamp<x>::
|
||||||
updateProfile(givenName<s>, familyName<s>, about<s>, aboutEmoji <s>, avatar<s>, remove<b>) -> <>::
|
* emoji : Unicode grapheme cluster of the emoji
|
||||||
* name : Name for your own profile (empty if unchanged)
|
* remove : Boolean, whether a previously sent reaction (emoji) should be removed
|
||||||
* givenName : Given name for your own profile (empty if unchanged)
|
* targetAuthor : String with the phone number of the author of the message to which to react
|
||||||
* familyName : Family name for your own profile (empty if unchanged)
|
* targetSentTimestamp : Long representing timestamp of the message to which to react
|
||||||
* about : About message for profile (empty if unchanged)
|
* groupId : Byte array representing the internal group identifier
|
||||||
* aboutEmoji : Emoji for profile (empty if unchanged)
|
* timestamp : Long, can be used to identify the corresponding signal reply
|
||||||
* avatar : Filename of avatar picture for profile (empty if unchanged)
|
|
||||||
* remove : Set to true if the existing avatar picture should be removed
|
Exceptions: Failure, InvalidNumber, GroupNotFound, InvalidGroupId
|
||||||
|
|
||||||
|
sendGroupRemoteDeleteMessage(targetSentTimestamp<x>, groupId<ay>) -> timestamp<x>::
|
||||||
|
* 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, InvalidGroupId
|
||||||
|
|
||||||
|
=== Group methods
|
||||||
|
The following methods listen to the group's object path, which can be obtained from the listGroups() method and is constructed as follows:
|
||||||
|
"/org/asamk/Signal/" + DBusNumber + "/Groups/" + DBusGroupId
|
||||||
|
* DBusNumber : recipient's phone number, with underscore (_) replacing plus (+)
|
||||||
|
* DBusGroupId : groupId in base64 format, with underscore (_) replacing plus (+), equals (=), or slash (/)
|
||||||
|
|
||||||
|
Groups have the following (case-sensitive) properties:
|
||||||
|
* Id<ay> (read-only) : Byte array representing the internal group identifier
|
||||||
|
* Name<s> : Display name of the group
|
||||||
|
* Description<s> : Description of the group
|
||||||
|
* Avatar<s> (write-only) : Filename of the avatar
|
||||||
|
* IsBlocked<b> : true=member will not receive group messages; false=not blocked
|
||||||
|
* IsMember<b> (read-only) : always true (object path exists only for group members)
|
||||||
|
* IsAdmin<b> (read-only) : true=member has admin privileges; false=not admin
|
||||||
|
* MessageExpirationTimer<i> : int32 representing message expiration time for group
|
||||||
|
* Members<as> (read-only) : String array of group members' phone numbers
|
||||||
|
* PendingMembers<as> (read-only) : String array of pending members' phone numbers
|
||||||
|
* RequestingMembers<as> (read-only) : String array of requesting members' phone numbers
|
||||||
|
* Admins<as> (read-only) : String array of admins' phone numbers
|
||||||
|
* PermissionAddMember<s> : String representing who has permission to add members
|
||||||
|
** ONLY_ADMINS, EVERY_MEMBER
|
||||||
|
* PermissionEditDetails<s> : String representing who may edit group details
|
||||||
|
** ONLY_ADMINS, EVERY_MEMBER
|
||||||
|
* PermissionSendMessage<s> : String representing who post messages to group
|
||||||
|
** ONLY_ADMINS, EVERY_MEMBER (note that ONLY_ADMINS is equivalent to IsAnnouncementGroup)
|
||||||
|
* GroupInviteLink<s> (read-only) : String of the invitation link (starts with https://signal.group/#)
|
||||||
|
|
||||||
|
To get a property, use (replacing `--session` with `--system` if needed):
|
||||||
|
`dbus-send --session --dest=org.asamk.Signal --print-reply $OBJECT_PATH org.freedesktop.DBus.Properties.Get string:org.asamk.Signal.Group string:$PROPERTY_NAME`
|
||||||
|
|
||||||
|
To set a property, use:
|
||||||
|
`dbus-send --session --dest=org.asamk.Signal --print-reply $OBJECT_PATH org.freedesktop.DBus.Properties.Set string:org.asamk.Signal.Group string:$PROPERTY_NAME variant:$PROPERTY_TYPE:$PROPERTY_VALUE`
|
||||||
|
|
||||||
|
To get all properties, use:
|
||||||
|
`dbus-send --session --dest=org.asamk.Signal --print-reply $OBJECT_PATH org.freedesktop.DBus.Properties.GetAll string:org.asamk.Signal.Group`
|
||||||
|
|
||||||
|
addAdmins(recipients<as>) -> <>::
|
||||||
|
* recipients : String array of phone numbers
|
||||||
|
|
||||||
|
Grant admit privileges to recipients.
|
||||||
|
|
||||||
Exceptions: Failure
|
Exceptions: Failure
|
||||||
|
|
||||||
|
addMembers(recipients<as>) -> <>::
|
||||||
|
* recipients : String array of phone numbers
|
||||||
|
|
||||||
setExpirationTimer(number<s>, expiration<i>) -> <>::
|
Add recipients to group if they are pending members; otherwise add recipients to list of requesting members.
|
||||||
* 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, InvalidNumber
|
Exceptions: Failure
|
||||||
|
|
||||||
setContactBlocked(number<s>, block<b>) -> <>::
|
disableLink() -> <>::
|
||||||
* number : Phone number affected by method
|
|
||||||
* block : false=remove block, true=blocked
|
|
||||||
|
|
||||||
Messages from blocked numbers will no longer be forwarded via DBus.
|
Disables the group's invitation link.
|
||||||
|
|
||||||
Exceptions: InvalidNumber
|
Exceptions: Failure
|
||||||
|
|
||||||
|
enableLink(requiresApproval<b>) -> <>::
|
||||||
|
* requiresApproval : true=add numbers using the link to the requesting members list
|
||||||
|
|
||||||
|
Enables the group's invitation link.
|
||||||
|
|
||||||
|
Exceptions: Failure
|
||||||
|
|
||||||
|
quitGroup() -> <>::
|
||||||
|
Exceptions: Failure, LastGroupAdmin
|
||||||
|
|
||||||
|
removeAdmins(recipients<as>) -> <>::
|
||||||
|
* recipients : String array of phone numbers
|
||||||
|
|
||||||
|
Remove admin privileges from recipients.
|
||||||
|
|
||||||
|
Exceptions: Failure
|
||||||
|
|
||||||
|
removeMembers(recipients<as>) -> <>::
|
||||||
|
* recipients : String array of phone numbers
|
||||||
|
|
||||||
|
Remove recipients from group.
|
||||||
|
|
||||||
|
Exceptions: Failure
|
||||||
|
|
||||||
|
resetLink() -> <>::
|
||||||
|
|
||||||
|
Resets the group's invitation link to a new random URL starting with https://signal.group/#
|
||||||
|
|
||||||
|
Exceptions: Failure
|
||||||
|
|
||||||
|
=== Deprecated group control methods
|
||||||
|
The following deprecated methods listen to the recipient's object path, which is constructed as follows:
|
||||||
|
"/org/asamk/Signal/" + DBusNumber
|
||||||
|
* DBusNumber : recipient's phone number, with underscore (_) replacing plus (+)
|
||||||
|
|
||||||
|
getGroupIds() -> groupList<aay>::
|
||||||
|
groupList : Array of Byte arrays representing the internal group identifiers
|
||||||
|
|
||||||
|
All groups known are returned, regardless of their active or blocked status. To query that use isMember() and isGroupBlocked()
|
||||||
|
|
||||||
|
Exceptions: None
|
||||||
|
|
||||||
|
getGroupName(groupId<ay>) -> groupName<s>::
|
||||||
|
* groupId : Byte array representing the internal group identifier
|
||||||
|
* groupName : The display name of the group
|
||||||
|
|
||||||
|
Exceptions: None, if the group name is not found an empty string is returned
|
||||||
|
|
||||||
|
isGroupBlocked(groupId<ay>) -> isGroupBlocked<b>::
|
||||||
|
* groupId : Byte array representing the internal group identifier
|
||||||
|
* isGroupBlocked : true=group is blocked; false=group is not blocked
|
||||||
|
|
||||||
|
Dbus will not forward messages from a group when you have blocked it.
|
||||||
|
|
||||||
|
Exceptions: InvalidGroupId, Failure
|
||||||
|
|
||||||
|
isMember(groupId<ay>) -> isMember<b>::
|
||||||
|
* groupId : Byte array representing the internal group identifier
|
||||||
|
* isMember : true=you are a group member; false=you are not a group member
|
||||||
|
|
||||||
|
Note that this method does not raise an Exception for a non-existing/unknown group but will simply return 0 (false)
|
||||||
|
|
||||||
|
quitGroup(groupId<ay>) -> <>::
|
||||||
|
* groupId : Byte array representing the internal group identifier
|
||||||
|
|
||||||
|
Note that quitting a group will not remove the group from the getGroupIds command, but set it inactive which can be tested with isMember()
|
||||||
|
|
||||||
|
Exceptions: GroupNotFound, Failure, InvalidGroupId
|
||||||
|
|
||||||
setGroupBlocked(groupId<ay>, block<b>) -> <>::
|
setGroupBlocked(groupId<ay>, block<b>) -> <>::
|
||||||
* groupId : Byte array representing the internal group identifier
|
* groupId : Byte array representing the internal group identifier
|
||||||
|
@ -156,36 +297,35 @@ Messages from blocked groups will no longer be forwarded via DBus.
|
||||||
|
|
||||||
Exceptions: GroupNotFound, InvalidGroupId
|
Exceptions: GroupNotFound, InvalidGroupId
|
||||||
|
|
||||||
joinGroup(inviteURI<s>) -> <>::
|
updateGroup(groupId<ay>, newName<s>, members<as>, avatar<s>) -> groupId<ay>::
|
||||||
* inviteURI : String starting with https://signal.group which is generated when you share a group link via Signal App
|
* groupId : Byte array representing the internal group identifier
|
||||||
|
* newName : New name of group (empty if unchanged)
|
||||||
|
* members : String array of new members to be invited to group
|
||||||
|
* avatar : Filename of avatar picture to be set for group (empty if none)
|
||||||
|
|
||||||
Exceptions: Failure
|
Exceptions: AttachmentInvalid, Failure, InvalidNumber, GroupNotFound
|
||||||
|
|
||||||
quitGroup(groupId<ay>) -> <>::
|
=== Device control methods
|
||||||
* groupId : Byte array representing the internal group identifier
|
The following methods listen to the recipient's object path, which is constructed as follows:
|
||||||
|
"/org/asamk/Signal/" + DBusNumber
|
||||||
|
* DBusNumber : recipient's phone number, with underscore (_) replacing plus (+)
|
||||||
|
|
||||||
Note that quitting a group will not remove the group from the getGroupIds command, but set it inactive which can be tested with isMember()
|
addDevice(deviceUri<s>) -> <>::
|
||||||
|
* deviceUri : URI in the form of "sgnl://linkdevice/?uuid=..." (formerly "tsdevice:/?uuid=...") Normally displayed by a Signal desktop app, smartphone app, or another signal-cli instance using the `link` control method.
|
||||||
|
|
||||||
Exceptions: GroupNotFound, Failure, InvalidGroupId
|
getDevice(deviceId<x>) -> devicePath<o>::
|
||||||
|
* deviceId : Long representing a deviceId
|
||||||
|
* devicePath : DBusPath object for the device
|
||||||
|
|
||||||
isMember(groupId<ay>) -> isMember<b>::
|
Exceptions: DeviceNotFound
|
||||||
* groupId : Byte array representing the internal group identifier
|
|
||||||
* isMember : true=you are a group member; false=you are not a group member
|
|
||||||
|
|
||||||
Note that this method does not raise an Exception for a non-existing/unknown group but will simply return 0 (false)
|
listDevices() -> devices<a(oxs)>::
|
||||||
|
* devices : Array of structs (objectPath, id, name)
|
||||||
|
** objectPath : DBusPath representing the device's object path
|
||||||
|
** id : Long representing the deviceId
|
||||||
|
** name : String representing the device's name
|
||||||
|
|
||||||
sendEndSessionMessage(recipients<as>) -> <>::
|
Exceptions: InvalidUri
|
||||||
* recipients : Array of phone numbers
|
|
||||||
|
|
||||||
Exceptions: Failure, InvalidNumber, UntrustedIdentity
|
|
||||||
|
|
||||||
sendGroupMessage(message<s>, attachments<as>, groupId<ay>) -> timestamp<x>::
|
|
||||||
* 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
|
|
||||||
* timestamp : Long, can be used to identify the corresponding Signal reply
|
|
||||||
|
|
||||||
Exceptions: GroupNotFound, Failure, AttachmentInvalid, InvalidGroupId
|
|
||||||
|
|
||||||
sendContacts() -> <>::
|
sendContacts() -> <>::
|
||||||
|
|
||||||
|
@ -199,12 +339,89 @@ Sends a synchronization request to the primary device (for group, contacts, ...)
|
||||||
|
|
||||||
Exceptions: Failure
|
Exceptions: Failure
|
||||||
|
|
||||||
sendNoteToSelfMessage(message<s>, attachments<as>) -> timestamp<x>::
|
=== Device methods and properties
|
||||||
* message : Text to send (can be UTF8)
|
The following methods listen to the device's object path, which is constructed as follows:
|
||||||
* 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)
|
"/org/asamk/Signal/" + DBusNumber + "/Devices/" + deviceId
|
||||||
* timestamp : Long, can be used to identify the corresponding Signal reply
|
* DBusNumber : recipient's phone number, with underscore (_) replacing plus (+)
|
||||||
|
* deviceId : Long representing the device identifier (obtained from listDevices() method)
|
||||||
|
|
||||||
Exceptions: Failure, AttachmentInvalid
|
Devices have the following (case-sensitive) properties:
|
||||||
|
* Id<x> (read-only) : Long representing the device identifier
|
||||||
|
* Created<x> (read-only) : Long representing the number of milliseconds since the Unix epoch
|
||||||
|
* LastSeen<x> (read-only) : Long representing the number of milliseconds since the Unix epoch
|
||||||
|
* Name<s> : String representing the display name of the device
|
||||||
|
|
||||||
|
To get a property, use (replacing `--session` with `--system` if needed):
|
||||||
|
`dbus-send --session --dest=org.asamk.Signal --print-reply $OBJECT_PATH org.freedesktop.DBus.Properties.Get string:org.asamk.Signal.Device string:$PROPERTY_NAME`
|
||||||
|
|
||||||
|
To set a property, use:
|
||||||
|
`dbus-send --session --dest=org.asamk.Signal --print-reply $OBJECT_PATH org.freedesktop.DBus.Properties.Set string:org.asamk.Signal.Device string:$PROPERTY_NAME variant:$PROPERTY_TYPE:$PROPERTY_VALUE`
|
||||||
|
|
||||||
|
To get all properties, use:
|
||||||
|
`dbus-send --session --dest=org.asamk.Signal --print-reply $OBJECT_PATH org.freedesktop.DBus.Properties.GetAll string:org.asamk.Signal.Device`
|
||||||
|
|
||||||
|
removeDevice() -> <>::
|
||||||
|
|
||||||
|
Exceptions: Failure
|
||||||
|
|
||||||
|
=== Other methods
|
||||||
|
|
||||||
|
getContactName(number<s>) -> name<s>::
|
||||||
|
* number : Phone number
|
||||||
|
* 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
|
||||||
|
|
||||||
|
Exceptions: None
|
||||||
|
|
||||||
|
getContactNumber(name<s>) -> numbers<as>::
|
||||||
|
* numbers : Array of phone number
|
||||||
|
* name : Contact or profile name ("firstname lastname")
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Exceptions: None
|
||||||
|
|
||||||
|
getSelfNumber() -> number<s>::
|
||||||
|
* number : Your phone number
|
||||||
|
|
||||||
|
Exceptions: None
|
||||||
|
|
||||||
|
isContactBlocked(number<s>) -> blocked<b>::
|
||||||
|
* number : Phone number
|
||||||
|
* blocked : true=blocked, false=not blocked
|
||||||
|
|
||||||
|
For unknown numbers false is returned but no exception is raised.
|
||||||
|
|
||||||
|
Exceptions: InvalidPhoneNumber
|
||||||
|
|
||||||
|
isRegistered() -> result<b>::
|
||||||
|
isRegistered(number<s>) -> result<b>::
|
||||||
|
isRegistered(numbers<as>) -> results<ab>::
|
||||||
|
* number : Phone number
|
||||||
|
* numbers : String array of phone numbers
|
||||||
|
* result : true=number is registered, false=number is not registered
|
||||||
|
* results : Boolean array of results
|
||||||
|
|
||||||
|
For unknown numbers, false is returned, but no exception is raised. If no number is given, returns true (indicating that you are registered).
|
||||||
|
|
||||||
|
Exceptions: InvalidNumber
|
||||||
|
|
||||||
|
listNumbers() -> numbers<as>::
|
||||||
|
* numbers : String array of all known numbers
|
||||||
|
|
||||||
|
This is a concatenated list of all defined contacts as well of profiles known (e.g. peer group members or sender of received messages)
|
||||||
|
|
||||||
|
Exceptions: None
|
||||||
|
|
||||||
|
removePin() -> <>::
|
||||||
|
|
||||||
|
Removes registration PIN protection.
|
||||||
|
|
||||||
|
Exceptions: Failure
|
||||||
|
|
||||||
|
sendEndSessionMessage(recipients<as>) -> <>::
|
||||||
|
* recipients : Array of phone numbers
|
||||||
|
|
||||||
|
Exceptions: Failure, InvalidNumber, UntrustedIdentity
|
||||||
|
|
||||||
sendMessage(message<s>, attachments<as>, recipient<s>) -> timestamp<x>::
|
sendMessage(message<s>, attachments<as>, recipient<s>) -> timestamp<x>::
|
||||||
sendMessage(message<s>, attachments<as>, recipients<as>) -> timestamp<x>::
|
sendMessage(message<s>, attachments<as>, recipients<as>) -> timestamp<x>::
|
||||||
|
@ -218,28 +435,6 @@ Depending on the type of the recipient field this sends a message to one or mult
|
||||||
|
|
||||||
Exceptions: AttachmentInvalid, Failure, InvalidNumber, UntrustedIdentity
|
Exceptions: AttachmentInvalid, Failure, InvalidNumber, UntrustedIdentity
|
||||||
|
|
||||||
sendTyping(recipient<s>, stop<b>) -> <>::
|
|
||||||
* recipient : Phone number of a single recipient
|
|
||||||
* targetSentTimestamp : True, if typing state should be stopped
|
|
||||||
|
|
||||||
Exceptions: Failure, GroupNotFound, UntrustedIdentity
|
|
||||||
|
|
||||||
sendReadReceipt(recipient<s>, targetSentTimestamps<ax>) -> <>::
|
|
||||||
* recipient : Phone number of a single recipient
|
|
||||||
* targetSentTimestamps : Array of Longs to identify the corresponding Signal messages
|
|
||||||
|
|
||||||
Exceptions: Failure, UntrustedIdentity
|
|
||||||
|
|
||||||
sendGroupMessageReaction(emoji<s>, remove<b>, targetAuthor<s>, targetSentTimestamp<x>, groupId<ay>) -> timestamp<x>::
|
|
||||||
* 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 representing the internal group identifier
|
|
||||||
* timestamp : Long, can be used to identify the corresponding signal reply
|
|
||||||
|
|
||||||
Exceptions: Failure, InvalidNumber, GroupNotFound, InvalidGroupId
|
|
||||||
|
|
||||||
sendMessageReaction(emoji<s>, remove<b>, targetAuthor<s>, targetSentTimestamp<x>, recipient<s>) -> timestamp<x>::
|
sendMessageReaction(emoji<s>, remove<b>, targetAuthor<s>, targetSentTimestamp<x>, recipient<s>) -> timestamp<x>::
|
||||||
sendMessageReaction(emoji<s>, remove<b>, targetAuthor<s>, targetSentTimestamp<x>, recipients<as>) -> timestamp<x>::
|
sendMessageReaction(emoji<s>, remove<b>, targetAuthor<s>, targetSentTimestamp<x>, recipients<as>) -> timestamp<x>::
|
||||||
* emoji : Unicode grapheme cluster of the emoji
|
* emoji : Unicode grapheme cluster of the emoji
|
||||||
|
@ -254,12 +449,18 @@ Depending on the type of the recipient(s) field this sends a reaction to one or
|
||||||
|
|
||||||
Exceptions: Failure, InvalidNumber
|
Exceptions: Failure, InvalidNumber
|
||||||
|
|
||||||
sendGroupRemoteDeleteMessage(targetSentTimestamp<x>, groupId<ay>) -> timestamp<x>::
|
sendNoteToSelfMessage(message<s>, attachments<as>) -> timestamp<x>::
|
||||||
* targetSentTimestamp : Long representing timestamp of the message to delete
|
* message : Text to send (can be UTF8)
|
||||||
* groupId : Byte array with base64 encoded group identifier
|
* 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)
|
||||||
* timestamp : Long, can be used to identify the corresponding signal reply
|
* timestamp : Long, can be used to identify the corresponding Signal reply
|
||||||
|
|
||||||
Exceptions: Failure, GroupNotFound, InvalidGroupId
|
Exceptions: Failure, AttachmentInvalid
|
||||||
|
|
||||||
|
sendReadReceipt(recipient<s>, targetSentTimestamps<ax>) -> <>::
|
||||||
|
* recipient : Phone number of a single recipient
|
||||||
|
* targetSentTimestamps : Array of Longs to identify the corresponding Signal messages
|
||||||
|
|
||||||
|
Exceptions: Failure, UntrustedIdentity
|
||||||
|
|
||||||
sendRemoteDeleteMessage(targetSentTimestamp<x>, recipient<s>) -> timestamp<x>::
|
sendRemoteDeleteMessage(targetSentTimestamp<x>, recipient<s>) -> timestamp<x>::
|
||||||
sendRemoteDeleteMessage(targetSentTimestamp<x>, recipients<as>) -> timestamp<x>::
|
sendRemoteDeleteMessage(targetSentTimestamp<x>, recipients<as>) -> timestamp<x>::
|
||||||
|
@ -272,11 +473,19 @@ Depending on the type of the recipient(s) field this deletes a message with one
|
||||||
|
|
||||||
Exceptions: Failure, InvalidNumber
|
Exceptions: Failure, InvalidNumber
|
||||||
|
|
||||||
getContactName(number<s>) -> name<s>::
|
sendTyping(recipient<s>, stop<b>) -> <>::
|
||||||
* number : Phone number
|
* recipient : Phone number of a single recipient
|
||||||
* 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
|
* targetSentTimestamp : True, if typing state should be stopped
|
||||||
|
|
||||||
Exceptions: None
|
Exceptions: Failure, GroupNotFound, UntrustedIdentity
|
||||||
|
|
||||||
|
setContactBlocked(number<s>, block<b>) -> <>::
|
||||||
|
* number : Phone number affected by method
|
||||||
|
* block : false=remove block, true=blocked
|
||||||
|
|
||||||
|
Messages from blocked numbers will no longer be forwarded via DBus.
|
||||||
|
|
||||||
|
Exceptions: InvalidNumber
|
||||||
|
|
||||||
setContactName(number<s>,name<>) -> <>::
|
setContactName(number<s>,name<>) -> <>::
|
||||||
* number : Phone number
|
* number : Phone number
|
||||||
|
@ -284,61 +493,11 @@ setContactName(number<s>,name<>) -> <>::
|
||||||
|
|
||||||
Exceptions: InvalidNumber, Failure
|
Exceptions: InvalidNumber, Failure
|
||||||
|
|
||||||
getGroupIds() -> groupList<aay>::
|
setExpirationTimer(number<s>, expiration<i>) -> <>::
|
||||||
groupList : Array of Byte arrays representing the internal group identifiers
|
* number : Phone number of recipient
|
||||||
|
* expiration : int32 for the number of seconds before messages to this recipient disappear. Set to 0 to disable expiration.
|
||||||
|
|
||||||
All groups known are returned, regardless of their active or blocked status. To query that use isMember() and isGroupBlocked()
|
Exceptions: Failure, InvalidNumber
|
||||||
|
|
||||||
Exceptions: None
|
|
||||||
|
|
||||||
getGroupName(groupId<ay>) -> groupName<s>::
|
|
||||||
* groupId : Byte array representing the internal group identifier
|
|
||||||
* groupName : The display name of the group
|
|
||||||
|
|
||||||
Exceptions: None, if the group name is not found an empty string is returned
|
|
||||||
|
|
||||||
getGroupMembers(groupId<ay>) -> members<as>::
|
|
||||||
* groupId : Byte array representing the internal group identifier
|
|
||||||
* members : String array with the phone numbers of all active members of a group
|
|
||||||
|
|
||||||
Exceptions: None, if the group name is not found an empty array is returned
|
|
||||||
|
|
||||||
listNumbers() -> numbers<as>::
|
|
||||||
* numbers : String array of all known numbers
|
|
||||||
|
|
||||||
This is a concatenated list of all defined contacts as well of profiles known (e.g. peer group members or sender of received messages)
|
|
||||||
|
|
||||||
Exceptions: None
|
|
||||||
|
|
||||||
getContactNumber(name<s>) -> numbers<as>::
|
|
||||||
* numbers : Array of phone number
|
|
||||||
* name : Contact or profile name ("firstname lastname")
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
Exceptions: None
|
|
||||||
|
|
||||||
isContactBlocked(number<s>) -> blocked<b>::
|
|
||||||
* number : Phone number
|
|
||||||
* blocked : true=blocked, false=not blocked
|
|
||||||
|
|
||||||
For unknown numbers false is returned but no exception is raised.
|
|
||||||
|
|
||||||
Exceptions: InvalidPhoneNumber
|
|
||||||
|
|
||||||
isGroupBlocked(groupId<ay>) -> isGroupBlocked<b>::
|
|
||||||
* groupId : Byte array representing the internal group identifier
|
|
||||||
* isGroupBlocked : true=group is blocked; false=group is not blocked
|
|
||||||
|
|
||||||
Dbus will not forward messages from a group when you have blocked it.
|
|
||||||
|
|
||||||
Exceptions: InvalidGroupId, Failure
|
|
||||||
|
|
||||||
removePin() -> <>::
|
|
||||||
|
|
||||||
Removes registration PIN protection.
|
|
||||||
|
|
||||||
Exceptions: Failure
|
|
||||||
|
|
||||||
setPin(pin<s>) -> <>::
|
setPin(pin<s>) -> <>::
|
||||||
* pin : PIN you set after registration (resets after 7 days of inactivity)
|
* pin : PIN you set after registration (resets after 7 days of inactivity)
|
||||||
|
@ -347,51 +506,6 @@ Sets a registration lock PIN, to prevent others from registering your number.
|
||||||
|
|
||||||
Exceptions: Failure
|
Exceptions: Failure
|
||||||
|
|
||||||
version() -> version<s>::
|
|
||||||
* version : Version string of signal-cli
|
|
||||||
|
|
||||||
Exceptions: None
|
|
||||||
|
|
||||||
getSelfNumber() -> number<s>::
|
|
||||||
* number : Your phone number
|
|
||||||
|
|
||||||
Exceptions: None
|
|
||||||
|
|
||||||
isRegistered() -> result<b>::
|
|
||||||
isRegistered(number<s>) -> result<b>::
|
|
||||||
isRegistered(numbers<as>) -> results<ab>::
|
|
||||||
* number : Phone number
|
|
||||||
* numbers : String array of phone numbers
|
|
||||||
* result : true=number is registered, false=number is not registered
|
|
||||||
* results : Boolean array of results
|
|
||||||
|
|
||||||
For unknown numbers, false is returned, but no exception is raised. If no number is given, returns true (indicating that you are registered).
|
|
||||||
|
|
||||||
Exceptions: InvalidNumber
|
|
||||||
|
|
||||||
addDevice(deviceUri<s>) -> <>::
|
|
||||||
* deviceUri : URI in the form of "sgnl://linkdevice/?uuid=..." (formerly "tsdevice:/?uuid=...") Normally displayed by a Signal desktop app, smartphone app, or another signal-cli instance using the `link` control method.
|
|
||||||
|
|
||||||
listDevices() -> devices<a(oxs)>::
|
|
||||||
* devices : Array of structs (objectPath, id, name)
|
|
||||||
** objectPath : DBusPath representing the device's object path
|
|
||||||
** id : Long representing the deviceId
|
|
||||||
** name : String representing the device's name
|
|
||||||
|
|
||||||
Exceptions: InvalidUri
|
|
||||||
|
|
||||||
getDevice(deviceId<x>) -> devicePath<o>::
|
|
||||||
* deviceId : Long representing a (potential) deviceId
|
|
||||||
* devicePath : DBusPath object for the device
|
|
||||||
|
|
||||||
Exceptions: DeviceNotFound
|
|
||||||
|
|
||||||
uploadStickerPack(stickerPackPath<s>) -> url<s>::
|
|
||||||
* stickerPackPath : Path to the manifest.json file or a zip file in the same directory
|
|
||||||
* url : URL of sticker pack after successful upload
|
|
||||||
|
|
||||||
Exceptions: Failure
|
|
||||||
|
|
||||||
submitRateLimitChallenge(challenge<s>, captcha<s>) -> <>::
|
submitRateLimitChallenge(challenge<s>, captcha<s>) -> <>::
|
||||||
* challenge : The challenge token taken from the proof required error.
|
* challenge : The challenge token taken from the proof required error.
|
||||||
* captcha : The captcha token from the solved captcha on the Signal website..
|
* captcha : The captcha token from the solved captcha on the Signal website..
|
||||||
|
@ -399,6 +513,29 @@ Can be used to lift some rate-limits by solving a captcha.
|
||||||
|
|
||||||
Exception: IOErrorException
|
Exception: IOErrorException
|
||||||
|
|
||||||
|
updateProfile(name<s>, about<s>, aboutEmoji <s>, avatar<s>, remove<b>) -> <>::
|
||||||
|
updateProfile(givenName<s>, familyName<s>, about<s>, aboutEmoji <s>, avatar<s>, remove<b>) -> <>::
|
||||||
|
* name : Name for your own profile (empty if unchanged)
|
||||||
|
* givenName : Given name for your own profile (empty if unchanged)
|
||||||
|
* familyName : Family 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 picture for profile (empty if unchanged)
|
||||||
|
* remove : Set to true if the existing avatar picture should be removed
|
||||||
|
|
||||||
|
Exceptions: Failure
|
||||||
|
|
||||||
|
uploadStickerPack(stickerPackPath<s>) -> url<s>::
|
||||||
|
* stickerPackPath : Path to the manifest.json file or a zip file in the same directory
|
||||||
|
* url : URL of sticker pack after successful upload
|
||||||
|
|
||||||
|
Exceptions: Failure
|
||||||
|
|
||||||
|
version() -> version<s>::
|
||||||
|
* version : Version string of signal-cli
|
||||||
|
|
||||||
|
Exceptions: None
|
||||||
|
|
||||||
== Signals
|
== Signals
|
||||||
SyncMessageReceived (timestamp<x>, sender<s>, destination<s>, groupId<ay>, message<s>, attachments<as>)::
|
SyncMessageReceived (timestamp<x>, sender<s>, destination<s>, groupId<ay>, message<s>, attachments<as>)::
|
||||||
* timestamp : Integer value that can be used to associate this e.g. with a sendMessage()
|
* timestamp : Integer value that can be used to associate this e.g. with a sendMessage()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue