mirror of
https://github.com/cwinfo/matterbridge.git
synced 2025-06-26 01:49:22 +00:00
@ -176,7 +176,6 @@ func (gw *Gateway) getDestChannel(msg *config.Message, dest bridge.Bridge) []con
|
||||
|
||||
// discord join/leave is for the whole bridge, isn't a per channel join/leave
|
||||
if msg.Event == config.EventJoinLeave && dest.Protocol == "discord" && msg.Account == dest.Account {
|
||||
flog.Error("here")
|
||||
for _, channel := range gw.Channels {
|
||||
if channel.Account == msg.Account && strings.Contains(channel.Direction, "out") &&
|
||||
gw.validGatewayDest(msg) {
|
||||
@ -186,6 +185,18 @@ func (gw *Gateway) getDestChannel(msg *config.Message, dest bridge.Bridge) []con
|
||||
return channels
|
||||
}
|
||||
|
||||
// irc quit is for the whole bridge, isn't a per channel quit.
|
||||
// channel is empty when we quit
|
||||
if msg.Event == config.EventJoinLeave && getProtocol(msg) == "irc" && msg.Channel == "" {
|
||||
for _, channel := range gw.Channels {
|
||||
if channel.Account == dest.Account && strings.Contains(channel.Direction, "out") &&
|
||||
gw.validGatewayDest(msg) {
|
||||
channels = append(channels, *channel)
|
||||
}
|
||||
}
|
||||
return channels
|
||||
}
|
||||
|
||||
// if source channel is in only, do nothing
|
||||
for _, channel := range gw.Channels {
|
||||
// lookup the channel from the message
|
||||
@ -435,3 +446,8 @@ func (gw *Gateway) ignoreText(text string, input []string) bool {
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func getProtocol(msg *config.Message) string {
|
||||
p := strings.Split(msg.Account, ".")
|
||||
return p[0]
|
||||
}
|
||||
|
Reference in New Issue
Block a user