mirror of
https://github.com/ergochat/ergo.git
synced 2024-11-25 13:29:27 +01:00
91cfdb963d
Make snomask add/remove behavior match other ircds
58 lines
1.3 KiB
Go
58 lines
1.3 KiB
Go
// Copyright (c) 2017 Daniel Oaks <daniel@danieloaks.net>
|
|
// released under the MIT license
|
|
|
|
// Package sno holds Server Notice masks for easy reference.
|
|
package sno
|
|
|
|
// Mask is a type of server notice mask.
|
|
type Mask rune
|
|
|
|
type Masks []Mask
|
|
|
|
// Notice mask types
|
|
const (
|
|
LocalAnnouncements Mask = 'a'
|
|
LocalConnects Mask = 'c'
|
|
LocalChannels Mask = 'j'
|
|
LocalKills Mask = 'k'
|
|
LocalNicks Mask = 'n'
|
|
LocalOpers Mask = 'o'
|
|
LocalQuits Mask = 'q'
|
|
Stats Mask = 't'
|
|
LocalAccounts Mask = 'u'
|
|
LocalVhosts Mask = 'v'
|
|
LocalXline Mask = 'x'
|
|
)
|
|
|
|
var (
|
|
// NoticeMaskNames has readable names for our snomask types.
|
|
NoticeMaskNames = map[Mask]string{
|
|
LocalAnnouncements: "ANNOUNCEMENT",
|
|
LocalConnects: "CONNECT",
|
|
LocalChannels: "CHANNEL",
|
|
LocalKills: "KILL",
|
|
LocalNicks: "NICK",
|
|
LocalOpers: "OPER",
|
|
LocalQuits: "QUIT",
|
|
Stats: "STATS",
|
|
LocalAccounts: "ACCOUNT",
|
|
LocalXline: "XLINE",
|
|
LocalVhosts: "VHOST",
|
|
}
|
|
|
|
// ValidMasks contains the snomasks that we support.
|
|
ValidMasks = []Mask{
|
|
LocalAnnouncements,
|
|
LocalConnects,
|
|
LocalChannels,
|
|
LocalKills,
|
|
LocalNicks,
|
|
LocalOpers,
|
|
LocalQuits,
|
|
Stats,
|
|
LocalAccounts,
|
|
LocalVhosts,
|
|
LocalXline,
|
|
}
|
|
)
|