Exceptions: Failure, InvalidNumber
- 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
+ sendNoteToSelfMessage(message<s>, attachments<as>) -> 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)
+ * timestamp : Long, can be used to identify the corresponding Signal reply
+
+ Exceptions: Failure, AttachmentInvalid
- Exceptions: Failure, GroupNotFound
+ 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
+
++sendViewedReceipt(recipient<s>, targetSentTimestamp<ax>) -> <>::
++* recipient : Phone number of a single recipient
++* targetSentTimestamp : Array of Longs to identify the corresponding signal messages
++
++Exceptions: Failure, UntrustedIdentity
+
sendRemoteDeleteMessage(targetSentTimestamp<x>, recipient<s>) -> timestamp<x>::
sendRemoteDeleteMessage(targetSentTimestamp<x>, recipients<as>) -> timestamp<x>::
* targetSentTimestamp : Long representing timestamp of the message to delete
import java.util.List;
- class JsonReceiptMessage {
-
- @JsonProperty
- final long when;
-
- @JsonProperty
- final boolean isDelivery;
-
- @JsonProperty
- final boolean isRead;
-
- @JsonProperty
- final boolean isViewed;
-
- @JsonProperty
- final List<Long> timestamps;
-
- JsonReceiptMessage(SignalServiceReceiptMessage receiptMessage) {
- this.when = receiptMessage.getWhen();
- this.isDelivery = receiptMessage.isDeliveryReceipt();
- this.isRead = receiptMessage.isReadReceipt();
- this.isViewed = receiptMessage.isViewedReceipt();
- this.timestamps = receiptMessage.getTimestamps();
- }
-record JsonReceiptMessage(long when, boolean isDelivery, boolean isRead, List<Long> timestamps) {
++record JsonReceiptMessage(long when, boolean isDelivery, boolean isRead, boolean isViewed, List<Long> timestamps) {
- private JsonReceiptMessage(
- final long when, final boolean isDelivery, final boolean isRead, final boolean isViewed, final List<Long> timestamps
- ) {
- this.when = when;
- this.isDelivery = isDelivery;
- this.isRead = isRead;
- this.isViewed = isViewed;
- this.timestamps = timestamps;
+ static JsonReceiptMessage from(SignalServiceReceiptMessage receiptMessage) {
+ final var when = receiptMessage.getWhen();
+ final var isDelivery = receiptMessage.isDeliveryReceipt();
+ final var isRead = receiptMessage.isReadReceipt();
++ final var isViewed = receiptMessage.isViewedReceipt();
+ final var timestamps = receiptMessage.getTimestamps();
- return new JsonReceiptMessage(when, isDelivery, isRead, timestamps);
++ return new JsonReceiptMessage(when, isDelivery, isRead, isViewed, timestamps);
}
static JsonReceiptMessage deliveryReceipt(final long when, final List<Long> timestamps) {
- return new JsonReceiptMessage(when, true, false, false, timestamps);
- return new JsonReceiptMessage(when, true, false, timestamps);
++ return new JsonReceiptMessage(when, true, false, false, false, timestamps);
}
}