Add upstream INVITE support

git-svn-id: file:///srv/svn/repo/suika/trunk@115 f0ae65fe-ee39-954e-97ec-027ff2717ef4
This commit is contained in:
delthas 2020-03-18 09:26:25 +00:00
parent 57eaf243fa
commit 5bb7c8bf6d

View File

@ -562,6 +562,20 @@ func (uc *upstreamConn) handleMessage(msg *irc.Message) error {
return err
}
uc.ring.Produce(msg)
case "INVITE":
var nick string
var channel string
if err := parseMessageParams(msg, &nick, &channel); err != nil {
return err
}
uc.forEachDownstream(func(dc *downstreamConn) {
dc.SendMessage(&irc.Message{
Prefix: dc.marshalUserPrefix(uc, msg.Prefix),
Command: "INVITE",
Params: []string{dc.marshalNick(uc, nick), dc.marshalChannel(uc, channel)},
})
})
case irc.RPL_YOURHOST, irc.RPL_CREATED:
// Ignore
case irc.RPL_LUSERCLIENT, irc.RPL_LUSEROP, irc.RPL_LUSERUNKNOWN, irc.RPL_LUSERCHANNELS, irc.RPL_LUSERME: