mirror of
https://github.com/cwinfo/matterbridge.git
synced 2024-11-26 00:51:36 +00:00
Append a suffix if user is a guest user (nctalk) (#1250)
Signed-off-by: Gary Kim <gary@garykim.dev>
This commit is contained in:
parent
214a6a1386
commit
219a5453f9
@ -70,6 +70,13 @@ func (b *Btalk) JoinChannel(channel config.ChannelInfo) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
b.rooms = append(b.rooms, newRoom)
|
b.rooms = append(b.rooms, newRoom)
|
||||||
|
|
||||||
|
// Config
|
||||||
|
guestSuffix := " (Guest)"
|
||||||
|
if b.IsKeySet("GuestSuffix") {
|
||||||
|
guestSuffix = b.GetString("GuestSuffix")
|
||||||
|
}
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
for msg := range c {
|
for msg := range c {
|
||||||
// ignore messages that are one of the following
|
// ignore messages that are one of the following
|
||||||
@ -81,7 +88,7 @@ func (b *Btalk) JoinChannel(channel config.ChannelInfo) error {
|
|||||||
remoteMessage := config.Message{
|
remoteMessage := config.Message{
|
||||||
Text: formatRichObjectString(msg.Message, msg.MessageParameters),
|
Text: formatRichObjectString(msg.Message, msg.MessageParameters),
|
||||||
Channel: newRoom.room.Token,
|
Channel: newRoom.room.Token,
|
||||||
Username: msg.ActorDisplayName,
|
Username: DisplayName(msg, guestSuffix),
|
||||||
UserID: msg.ActorID,
|
UserID: msg.ActorID,
|
||||||
Account: b.Account,
|
Account: b.Account,
|
||||||
}
|
}
|
||||||
@ -144,3 +151,15 @@ func formatRichObjectString(message string, parameters map[string]ocs.RichObject
|
|||||||
|
|
||||||
return message
|
return message
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func DisplayName(msg ocs.TalkRoomMessageData, suffix string) string {
|
||||||
|
if msg.ActorType == ocs.ActorGuest {
|
||||||
|
if msg.ActorDisplayName == "" {
|
||||||
|
return "Guest"
|
||||||
|
}
|
||||||
|
|
||||||
|
return msg.ActorDisplayName + suffix
|
||||||
|
}
|
||||||
|
|
||||||
|
return msg.ActorDisplayName
|
||||||
|
}
|
||||||
|
2
go.mod
2
go.mod
@ -50,7 +50,7 @@ require (
|
|||||||
github.com/zfjagann/golang-ring v0.0.0-20190304061218-d34796e0a6c2
|
github.com/zfjagann/golang-ring v0.0.0-20190304061218-d34796e0a6c2
|
||||||
golang.org/x/image v0.0.0-20200801110659-972c09e46d76
|
golang.org/x/image v0.0.0-20200801110659-972c09e46d76
|
||||||
golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43
|
golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43
|
||||||
gomod.garykim.dev/nc-talk v0.1.3
|
gomod.garykim.dev/nc-talk v0.1.4
|
||||||
gopkg.in/olahol/melody.v1 v1.0.0-20170518105555-d52139073376
|
gopkg.in/olahol/melody.v1 v1.0.0-20170518105555-d52139073376
|
||||||
layeh.com/gumble v0.0.0-20200818122324-146f9205029b
|
layeh.com/gumble v0.0.0-20200818122324-146f9205029b
|
||||||
)
|
)
|
||||||
|
2
go.sum
2
go.sum
@ -993,6 +993,8 @@ golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1N
|
|||||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
gomod.garykim.dev/nc-talk v0.1.3 h1:u4TPUR5++xjNTHoiO82/E8xhGFpCbwwfcY/yUv3Rp60=
|
gomod.garykim.dev/nc-talk v0.1.3 h1:u4TPUR5++xjNTHoiO82/E8xhGFpCbwwfcY/yUv3Rp60=
|
||||||
gomod.garykim.dev/nc-talk v0.1.3/go.mod h1:zKg8yxCk2KaTy6aPDEfRac0Jik72czX+nRsG8CZuhtc=
|
gomod.garykim.dev/nc-talk v0.1.3/go.mod h1:zKg8yxCk2KaTy6aPDEfRac0Jik72czX+nRsG8CZuhtc=
|
||||||
|
gomod.garykim.dev/nc-talk v0.1.4 h1:U9viudEgq/biocorgWvZRVR+27IPEczYl/yszSvzN+8=
|
||||||
|
gomod.garykim.dev/nc-talk v0.1.4/go.mod h1:zKg8yxCk2KaTy6aPDEfRac0Jik72czX+nRsG8CZuhtc=
|
||||||
google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
|
google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
|
||||||
google.golang.org/api v0.0.0-20181030000543-1d582fd0359e/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
|
google.golang.org/api v0.0.0-20181030000543-1d582fd0359e/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
|
||||||
google.golang.org/api v0.0.0-20181220000619-583d854617af/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
|
google.golang.org/api v0.0.0-20181220000619-583d854617af/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
|
||||||
|
@ -1405,6 +1405,9 @@ Login = "talkuser"
|
|||||||
# Password of the bot
|
# Password of the bot
|
||||||
Password = "talkuserpass"
|
Password = "talkuserpass"
|
||||||
|
|
||||||
|
# Suffix for Guest Users
|
||||||
|
GuestSuffix = " (Guest)"
|
||||||
|
|
||||||
###################################################################
|
###################################################################
|
||||||
#
|
#
|
||||||
# Mumble
|
# Mumble
|
||||||
|
@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
|
|||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [v0.1.4](https://github.com/gary-kim/go-nc-talk/tree/v0.1.4) - 2020-09-22
|
||||||
|
|
||||||
|
[Full Changelog](https://github.com/gary-kim/go-nc-talk/compare/v0.1.3...v0.1.4)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Add ActorType for message data [\#18](https://github.com/gary-kim/go-nc-talk/pull/18) ([@gary-kim](https://github.com/gary-kim))
|
||||||
|
|
||||||
## [v0.1.3](https://github.com/gary-kim/go-nc-talk/tree/v0.1.3) - 2020-09-03
|
## [v0.1.3](https://github.com/gary-kim/go-nc-talk/tree/v0.1.3) - 2020-09-03
|
||||||
|
|
||||||
[Full Changelog](https://github.com/gary-kim/go-nc-talk/compare/v0.1.2...v0.1.3)
|
[Full Changelog](https://github.com/gary-kim/go-nc-talk/compare/v0.1.2...v0.1.3)
|
||||||
|
21
vendor/gomod.garykim.dev/nc-talk/ocs/message.go
vendored
21
vendor/gomod.garykim.dev/nc-talk/ocs/message.go
vendored
@ -22,6 +22,9 @@ import (
|
|||||||
// MessageType describes what kind of message a returned Nextcloud Talk message is
|
// MessageType describes what kind of message a returned Nextcloud Talk message is
|
||||||
type MessageType string
|
type MessageType string
|
||||||
|
|
||||||
|
// ActorType describes what kind of actor a returned Nextcloud Talk message is from
|
||||||
|
type ActorType string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// MessageComment is a Nextcloud Talk message that is a comment
|
// MessageComment is a Nextcloud Talk message that is a comment
|
||||||
MessageComment MessageType = "comment"
|
MessageComment MessageType = "comment"
|
||||||
@ -31,12 +34,19 @@ const (
|
|||||||
|
|
||||||
// MessageCommand is a Nextcloud Talk message that is a command
|
// MessageCommand is a Nextcloud Talk message that is a command
|
||||||
MessageCommand MessageType = "command"
|
MessageCommand MessageType = "command"
|
||||||
|
|
||||||
|
// ActorUser is a Nextcloud Talk message sent by a user
|
||||||
|
ActorUser ActorType = "users"
|
||||||
|
|
||||||
|
// ActorGuest is a Nextcloud Talk message sent by a guest
|
||||||
|
ActorGuest ActorType = "guests"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TalkRoomMessageData describes the data part of a ocs response for a Talk room message
|
// TalkRoomMessageData describes the data part of a ocs response for a Talk room message
|
||||||
type TalkRoomMessageData struct {
|
type TalkRoomMessageData struct {
|
||||||
Message string `json:"message"`
|
Message string `json:"message"`
|
||||||
ID int `json:"id"`
|
ID int `json:"id"`
|
||||||
|
ActorType ActorType `json:"actorType"`
|
||||||
ActorID string `json:"actorId"`
|
ActorID string `json:"actorId"`
|
||||||
ActorDisplayName string `json:"actorDisplayName"`
|
ActorDisplayName string `json:"actorDisplayName"`
|
||||||
SystemMessage string `json:"systemMessage"`
|
SystemMessage string `json:"systemMessage"`
|
||||||
@ -63,6 +73,17 @@ func (m *TalkRoomMessageData) PlainMessage() string {
|
|||||||
return tr
|
return tr
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DisplayName returns the display name for the sender of the message (" (Guest)" is appended if sent by a guest user)
|
||||||
|
func (m *TalkRoomMessageData) DisplayName() string {
|
||||||
|
if m.ActorType == ActorGuest {
|
||||||
|
if m.ActorDisplayName == "" {
|
||||||
|
return "Guest"
|
||||||
|
}
|
||||||
|
return m.ActorDisplayName + " (Guest)"
|
||||||
|
}
|
||||||
|
return m.ActorDisplayName
|
||||||
|
}
|
||||||
|
|
||||||
// TalkRoomMessage describes an ocs response for a Talk room message
|
// TalkRoomMessage describes an ocs response for a Talk room message
|
||||||
type TalkRoomMessage struct {
|
type TalkRoomMessage struct {
|
||||||
OCS talkRoomMessage `json:"ocs"`
|
OCS talkRoomMessage `json:"ocs"`
|
||||||
|
2
vendor/modules.txt
vendored
2
vendor/modules.txt
vendored
@ -293,7 +293,7 @@ golang.org/x/text/secure/bidirule
|
|||||||
golang.org/x/text/transform
|
golang.org/x/text/transform
|
||||||
golang.org/x/text/unicode/bidi
|
golang.org/x/text/unicode/bidi
|
||||||
golang.org/x/text/unicode/norm
|
golang.org/x/text/unicode/norm
|
||||||
# gomod.garykim.dev/nc-talk v0.1.3
|
# gomod.garykim.dev/nc-talk v0.1.4
|
||||||
gomod.garykim.dev/nc-talk
|
gomod.garykim.dev/nc-talk
|
||||||
gomod.garykim.dev/nc-talk/constants
|
gomod.garykim.dev/nc-talk/constants
|
||||||
gomod.garykim.dev/nc-talk/ocs
|
gomod.garykim.dev/nc-talk/ocs
|
||||||
|
Loading…
Reference in New Issue
Block a user