fix roleplay messages not being relayed

See #865.
This commit is contained in:
Shivaram Lingamneni 2020-03-19 12:19:42 -04:00
parent 10ad05ecb0
commit 2bb36e6cb8
1 changed files with 5 additions and 4 deletions

View File

@ -47,11 +47,12 @@ func sendRoleplayMessage(server *Server, client *Client, source string, targetSt
for _, member := range channel.Members() {
for _, session := range member.Sessions() {
if member == client && !session.capabilities.Has(caps.EchoMessage) {
continue
} else if rb.session == session {
// see discussion on #865: clients do not understand how to do local echo
// of roleplay commands, so send them a copy whether they have echo-message
// or not
if rb.session == session {
rb.Add(nil, source, "PRIVMSG", channel.name, message)
} else if member == client || session.capabilities.Has(caps.EchoMessage) {
} else {
session.Send(nil, source, "PRIVMSG", channel.name, message)
}
}