Skip to content
John Freed edited this page Aug 17, 2021 · 96 revisions

Commands

feature plaintext CLI json CLI8 dbus
addDevice 1
block 3
daemon2
getContactNumber
getObjectPath
getUserStatus 1, 13
isMember
isRegistered 1
joinGroup
jsonRpc NA
link 18
listContacts 15
> getContactName
> isContactBlocked
> listNumbers
listDevices 1
listGroups 19
> getGroupIds
> getGroupMembers
> getGroupName
> isGroupBlocked
listIdentities 1, 16
> listIdentity 17 1
quitGroup
receive
register 18
> registerWithCaptcha 12 18
remoteDelete
> sendGroupRemoteDeleteMessage
> sendRemoteDeleteMessage
removeDevice 1
removePin 1
send
> sendEndSessionMessage
> sendMessage
> sendMessageV2 1
> send URL as attachment 1
> sendGroupMessage
> sendGroupMessageV2 1
> sendNoteToSelfMessage
> sendNoteToSelfMessageV2 1
> groupCallUpdate
> payment
> preview
> sticker
> viewOnce
sendContacts
sendReaction
> sendMessageReaction
> sendGroupMessageReaction
sendSyncRequest
sendTyping 1
setPin 1
trust
unblock 4
unregister 1, 21
updateAccount 1
updateContact 10
> setContactName
> setExpirationTimer 1
updateGroup 20
updateProfile
uploadStickerPack
verify 18
> verifyWithPin 14 18
version

Signals

feature daemon dbus
CallMessageReceived
MessageReceived
> receive attachments11
OutgoingPaymentMessageReceived
ReceiptReceived
SyncMessageReceived
TypingMessageReceived

TODO

feature plaintext CLI json CLI8 dbus
Call messages
Attachment progress listener
Payment Notifications
Receive typing messages

Utilities

feature plaintext CLI json CLI8 dbus
getAttachments
getDestination
getGroupId
getMessage
getSender
getSource
getTimestamp

With Attachment Data5

feature plaintext CLI json CLI8 dbus
content
thumbnail9
contentType 1, 6
filename 1
remoteId 1, 6
size 1, 6
keyLength 1 1
width 1 1
height 1 1
voiceNote 1 1
caption 1 1
borderless
gif7 NA NA NA
preview
digest
uploadTimestamp
listener
> cancelationSignal
resumableUploadSpec

With Message Data5

feature plaintext CLI json CLI8 dbus
timestamp
message
expiresInSeconds
viewOnce
reaction
quote
mentions
attachments
sticker
remoteDelete
contacts
groupInfo

With Quote Data5

feature plaintext CLI json CLI8 dbus
id
author
text
attachments9

Notes

  1. Proposed https://github.com/johnfreed/signal-cli
  2. Runs daemon or communicates with running daemon
  3. Implemented indirectly: setContactBlocked=true or setGroupBlocked=true
  4. Implemented indirectly: setContactBlocked=false or setGroupBlocked=false
  5. Data is provided to output stream (if available from Signal servers) or accepted from input stream
  6. Provided indirectly by interpreting content file written to disk
  7. Obsolete (no longer part of Signal API)
  8. --output json option is supported by CLI
  9. A thumbnail has the data of an attachment, but is also part of a quoted attachment
  10. updateContact is implemented indirectly through two subcommands: setContactName and setExpirationTimer
  11. Attachments are written to disk, with remoteId sent over DBus
  12. Provided via the --captcha option
  13. Provided via the isRegistered command
  14. Provided via the --pin option
  15. Provided indirectly by the listNumbers command, which returns an array of contact numbers, followed by a series of calls to getContactName and isContactBlocked
  16. Provided indirectly by the listNumbers command, which returns an array of contact numbers, followed by a series of calls to listIdentity, which returns a four-element array
  17. Provided via the --number option
  18. Uses org.asamk.SignalControl as well as org.asamk.Signal
  19. Provided indirectly by getGroupIds and a series of calls to getGroupMembers, getGroupName and isGroupBlocked
  20. Send the name of a zero-length file to delete the group avatar
  21. Kills daemon upon successful unregister command
Clone this wiki locally