server: Add away-notify capability

This commit is contained in:
Daniel Oaks
2016-09-12 11:56:20 +10:00
parent 754b74c21c
commit 3321243486
3 changed files with 13 additions and 1 deletions
+2
View File
@@ -15,6 +15,7 @@ type Capability string
const (
AccountTag Capability = "account-tag"
AwayNotify Capability = "away-notify"
ExtendedJoin Capability = "extended-join"
MultiPrefix Capability = "multi-prefix"
SASL Capability = "sasl"
@@ -25,6 +26,7 @@ const (
var (
SupportedCapabilities = CapabilitySet{
AccountTag: true,
AwayNotify: true,
ExtendedJoin: true,
MultiPrefix: true,
SASL: true,
+10
View File
@@ -830,6 +830,16 @@ func awayHandler(server *Server, client *Client, msg ircmsg.IrcMessage) bool {
op: op,
}}
client.Send(nil, server.nameString, "MODE", client.nickString, client.nickString, modech.String())
// dispatch away-notify
for friend := range client.Friends() {
if client.flags[Away] {
friend.SendFromClient(client, nil, client.nickMaskString, "AWAY", client.awayMessage)
} else {
friend.SendFromClient(client, nil, client.nickMaskString, "AWAY")
}
}
return false
}