Implement sending redactions
This commit is contained in:
@ -151,10 +151,7 @@ func cmdReply(cmd *Command) {
|
||||
}
|
||||
|
||||
func cmdRedact(cmd *Command) {
|
||||
cmd.Reply("Not yet implemented 3:")
|
||||
|
||||
// This needs to be implemented in RoomView's OnSelect method
|
||||
//cmd.Room.StartSelecting(SelectRedact, "")
|
||||
cmd.Room.StartSelecting(SelectRedact, strings.Join(cmd.Args, " "))
|
||||
}
|
||||
|
||||
func cmdReact(cmd *Command) {
|
||||
|
@ -190,7 +190,7 @@ func (view *RoomView) OnSelect(message *messages.UIMessage) {
|
||||
case SelectReact:
|
||||
go view.SendReaction(message.EventID, view.selectContent)
|
||||
case SelectRedact:
|
||||
// TODO redact
|
||||
go view.Redact(message.EventID, view.selectContent)
|
||||
}
|
||||
view.selecting = false
|
||||
view.selectContent = ""
|
||||
@ -580,6 +580,21 @@ func (view *RoomView) InputSubmit(text string) {
|
||||
view.SetInputText("")
|
||||
}
|
||||
|
||||
func (view *RoomView) Redact(eventID, reason string) {
|
||||
defer debug.Recover()
|
||||
err := view.parent.matrix.Redact(view.Room.ID, eventID, reason)
|
||||
if err != nil {
|
||||
if httpErr, ok := err.(mautrix.HTTPError); ok {
|
||||
err = httpErr
|
||||
if respErr := httpErr.RespError; respErr != nil {
|
||||
err = respErr
|
||||
}
|
||||
}
|
||||
view.AddServiceMessage(fmt.Sprintf("Failed to redact message: %v", err))
|
||||
view.parent.parent.Render()
|
||||
}
|
||||
}
|
||||
|
||||
func (view *RoomView) SendReaction(eventID string, reaction string) {
|
||||
defer debug.Recover()
|
||||
debug.Print("Reacting to", eventID, "in", view.Room.ID, "with", reaction)
|
||||
|
Reference in New Issue
Block a user