todo, impl changing sender via @name but not test
This commit is contained in:
@@ -4,6 +4,8 @@ import (
|
||||
"fmt"
|
||||
"local/truckstop/config"
|
||||
"log"
|
||||
"regexp"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/matrix-org/gomatrix"
|
||||
@@ -66,17 +68,23 @@ func (m Matrix) Receive() ([]Message, error) {
|
||||
case "m.room.message":
|
||||
b, ok := event.Body()
|
||||
if ok {
|
||||
messages = append(messages, Message{Sender: event.Sender, Content: b})
|
||||
messages = append(messages, Message{Sender: event.Sender, Content: strings.TrimSpace(b)})
|
||||
}
|
||||
}
|
||||
}
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
clientChange := regexp.MustCompile("^@[a-z]+")
|
||||
for i := range messages {
|
||||
for k, v := range config.Get().Clients {
|
||||
if v.IDs.Matrix == messages[i].Sender {
|
||||
messages[i].Sender = k
|
||||
if found := clientChange.FindString(messages[i].Content); found != "" {
|
||||
messages[i].Content = strings.TrimSpace(strings.ReplaceAll(messages[i].Content, found, ""))
|
||||
messages[i].Sender = found[1:]
|
||||
} else {
|
||||
for k, v := range config.Get().Clients {
|
||||
if v.IDs.Matrix == messages[i].Sender {
|
||||
messages[i].Sender = k
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user