4
0
mirror of https://github.com/cwinfo/matterbridge.git synced 2025-06-26 16:39:24 +00:00

Add support for message deletion (nctalk) (#1492)

* nctalk: add message deletion support

Signed-off-by: Gary Kim <gary@garykim.dev>

* nctalk: seperate out deletion and sending logic

Signed-off-by: Gary Kim <gary@garykim.dev>

* nctalk: update library to v0.2.0

Signed-off-by: Gary Kim <gary@garykim.dev>

* Rename functions to be clearer

Signed-off-by: Gary Kim <gary@garykim.dev>

* Update to go-nc-talk v0.2.1

Signed-off-by: Gary Kim <gary@garykim.dev>

* Update to go-nc-talk v0.2.2

Signed-off-by: Gary Kim <gary@garykim.dev>

* Make deletions easier to debug

Signed-off-by: Gary Kim <gary@garykim.dev>
This commit is contained in:
Gary Kim
2021-06-01 17:17:07 -04:00
committed by GitHub
parent c7897cca5d
commit 1d50da4b1c
8 changed files with 248 additions and 96 deletions

View File

@ -33,10 +33,14 @@ type SpreedCapabilities struct {
Folder string `json:"folder"`
} `json:"attachments"`
Chat struct {
MaxLength int `json:"max-length"`
MaxLength int `json:"max-length"`
ReadPrivacy int `json:"read-privacy"`
} `json:"chat"`
Conversations struct {
CanCreate bool `json:"can-create"`
} `json:"conversations"`
Previews struct {
MaxGifSize int `json:"max-gif-size"`
} `json:"previews"`
} `json:"config"`
}

View File

@ -35,6 +35,15 @@ const (
// MessageCommand is a Nextcloud Talk message that is a command
MessageCommand MessageType = "command"
// MessageDelete is a Nextcloud Talk message indicating a message that was deleted
//
// If a message has been deleted, a message of MessageType MessageSystem is
// sent through the channel for which the parent message's MessageType is MessageDelete.
// So, in order to check if a new message is a message deletion request, a check
// like this can be used:
// msg.MessageType == ocs.MessageSystem && msg.Parent != nil && msg.Parent.MessageType == ocs.MessageDelete
MessageDelete MessageType = "comment_deleted"
// ActorUser is a Nextcloud Talk message sent by a user
ActorUser ActorType = "users"
@ -55,6 +64,8 @@ type TalkRoomMessageData struct {
SystemMessage string `json:"systemMessage"`
Timestamp int `json:"timestamp"`
MessageType MessageType `json:"messageType"`
Deleted bool `json:"deleted"`
Parent *TalkRoomMessageData `json:"parent"`
MessageParameters map[string]RichObjectString `json:"-"`
}