mirror of
https://github.com/jeremyd/ergo.git
synced 2026-07-15 20:28:13 -07:00
server: Add away-notify capability
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user