matrix: process ephemeral typing events when appservice is in use

This commit is contained in:
Simon Thoby
2023-03-11 21:42:28 +01:00
parent f02ae5490d
commit 2f3f141cd9
2 changed files with 4 additions and 3 deletions

View File

@@ -128,7 +128,7 @@ func (b *Bmatrix) startAppService() error {
b.Log.Debug("appservice launched") b.Log.Debug("appservice launched")
processor := appservice.NewEventProcessor(wrapper.appService) processor := appservice.NewEventProcessor(wrapper.appService)
for _, eventType := range []event.Type{event.EventRedaction, event.EventMessage, event.EventSticker} { for _, eventType := range []event.Type{event.EventRedaction, event.EventMessage, event.EventSticker, event.EphemeralEventTyping} {
processor.On(eventType, func(ev *event.Event) { processor.On(eventType, func(ev *event.Event) {
b.handleEvent(originAppService, ev) b.handleEvent(originAppService, ev)
}) })

View File

@@ -5,6 +5,7 @@ import (
"fmt" "fmt"
"regexp" "regexp"
"sync" "sync"
"time"
matrix "maunium.net/go/mautrix" matrix "maunium.net/go/mautrix"
"maunium.net/go/mautrix/event" "maunium.net/go/mautrix/event"
@@ -205,7 +206,7 @@ func (b *Bmatrix) Send(msg config.Message) (string, error) {
} }
if msg.Event == config.EventUserTyping && b.GetBool("ShowUserTyping") { if msg.Event == config.EventUserTyping && b.GetBool("ShowUserTyping") {
_, err := b.mc.UserTyping(channel, true, 15000) _, err := b.mc.UserTyping(channel, true, 5*time.Second)
return "", err return "", err
} }
@@ -282,7 +283,7 @@ func (b *Bmatrix) Send(msg config.Message) (string, error) {
rmsg.FormattedBody = "* " + msg.Text rmsg.FormattedBody = "* " + msg.Text
} else { } else {
rmsg.Format = event.FormatHTML rmsg.Format = event.FormatHTML
rmsg.FormattedBody = "* " + helper.ParseMarkdown(msg.Text) rmsg.FormattedBody = helper.ParseMarkdown(msg.Text)
rmsg.NewContent.Format = rmsg.Format rmsg.NewContent.Format = rmsg.Format
rmsg.NewContent.FormattedBody = rmsg.FormattedBody rmsg.NewContent.FormattedBody = rmsg.FormattedBody
} }