1
0
Fork 0
forked from External/ergo

switch to redis pubsub for ipc

adjust commands to utilize channel names
add new config variables
fix mention race condition
This commit is contained in:
CEF Server 2024-08-27 14:49:05 +00:00
parent 64ebb1f480
commit f4c03b6765
12 changed files with 220 additions and 195 deletions

View file

@ -802,7 +802,7 @@ func (channel *Channel) Join(client *Client, key string, isSajoin bool, rb *Resp
client.server.logger.Debug("channels", fmt.Sprintf("%s joined channel %s", details.nick, chname))
// I think this is assured to always be a good join point
client.server.cefManager.CEFMessage("POLL", channel.NameCasefolded())
channel.RedisBroadcast("VOICEPOLL")
givenMode := func() (givenMode modes.Mode) {
channel.joinPartMutex.Lock()
@ -999,7 +999,7 @@ func (channel *Channel) playJoinForSession(session *Session) {
channel.Names(client, sessionRb)
}
sessionRb.Send(false)
client.server.cefManager.CEFMessage("POLL", channel.NameCasefolded())
channel.RedisBroadcast("VOICEPOLL")
}
// Part parts the given client from this channel, with the given message.
@ -1459,7 +1459,7 @@ func (channel *Channel) Quit(client *Client) {
client.server.channels.Cleanup(channel)
}
client.removeChannel(channel)
client.server.cefManager.KickBroadcast(channel.name, client.Nick())
channel.Broadcast("KICK", client.NickCasefolded())
}
func (channel *Channel) Kick(client *Client, target *Client, comment string, rb *ResponseBuffer, hasPrivs bool) {