Add support for downstream batch & chathistory
This commit is contained in:
parent
2194259124
commit
8e852cc7e4
@ -427,7 +427,7 @@ func (dc *downstreamConn) handleCapCommand(cmd string, args []string) error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
caps := []string{"message-tags", "server-time", "echo-message"}
|
caps := []string{"message-tags", "server-time", "echo-message", "batch"}
|
||||||
|
|
||||||
if dc.capVersion >= 302 {
|
if dc.capVersion >= 302 {
|
||||||
caps = append(caps, "sasl=PLAIN")
|
caps = append(caps, "sasl=PLAIN")
|
||||||
@ -480,7 +480,7 @@ func (dc *downstreamConn) handleCapCommand(cmd string, args []string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch name {
|
switch name {
|
||||||
case "sasl", "message-tags", "server-time", "echo-message":
|
case "sasl", "message-tags", "server-time", "echo-message", "batch":
|
||||||
dc.caps[name] = enable
|
dc.caps[name] = enable
|
||||||
default:
|
default:
|
||||||
ack = false
|
ack = false
|
||||||
@ -716,6 +716,15 @@ func (dc *downstreamConn) sendNetworkHistory(net *network) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
batchRef := "history"
|
||||||
|
if dc.caps["batch"] {
|
||||||
|
dc.SendMessage(&irc.Message{
|
||||||
|
Prefix: dc.srv.prefix(),
|
||||||
|
Command: "BATCH",
|
||||||
|
Params: []string{"+" + batchRef, "chathistory", dc.marshalEntity(uc, target)},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
for {
|
for {
|
||||||
msg := consumer.Consume()
|
msg := consumer.Consume()
|
||||||
if msg == nil {
|
if msg == nil {
|
||||||
@ -734,8 +743,21 @@ func (dc *downstreamConn) sendNetworkHistory(net *network) {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if dc.caps["batch"] {
|
||||||
|
msg = msg.Copy()
|
||||||
|
msg.Tags["batch"] = irc.TagValue(batchRef)
|
||||||
|
}
|
||||||
|
|
||||||
dc.SendMessage(dc.marshalMessage(msg, uc))
|
dc.SendMessage(dc.marshalMessage(msg, uc))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if dc.caps["batch"] {
|
||||||
|
dc.SendMessage(&irc.Message{
|
||||||
|
Prefix: dc.srv.prefix(),
|
||||||
|
Command: "BATCH",
|
||||||
|
Params: []string{"-" + batchRef},
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user