ircd/irc/sno/constants.go

56 lines
1.4 KiB
Go
Raw Normal View History

// Copyright (c) 2017 Daniel Oaks <daniel@danieloaks.net>
// released under the MIT license
2017-05-07 23:15:16 +00:00
// Package sno holds Server Notice masks for easy reference.
package sno
// Mask is a type of server notice mask.
type Mask rune
// Notice mask types
const (
2020-02-02 07:03:08 +00:00
LocalAnnouncements Mask = 'a'
2017-05-07 23:15:16 +00:00
LocalConnects Mask = 'c'
LocalChannels Mask = 'j'
LocalKills Mask = 'k'
LocalNicks Mask = 'n'
LocalOpers Mask = 'o'
LocalQuits Mask = 'q'
Stats Mask = 't'
LocalAccounts Mask = 'u'
LocalXline Mask = 'x'
2020-02-02 07:03:08 +00:00
LocalVhosts Mask = 'v'
2017-05-07 23:15:16 +00:00
)
var (
// NoticeMaskNames has readable names for our snomask types.
NoticeMaskNames = map[Mask]string{
2020-02-02 07:03:08 +00:00
LocalAnnouncements: "ANNOUNCEMENT",
2017-05-07 23:15:16 +00:00
LocalConnects: "CONNECT",
LocalChannels: "CHANNEL",
LocalKills: "KILL",
LocalNicks: "NICK",
LocalOpers: "OPER",
LocalQuits: "QUIT",
Stats: "STATS",
LocalAccounts: "ACCOUNT",
LocalXline: "XLINE",
2020-02-02 07:03:08 +00:00
LocalVhosts: "VHOST",
2017-05-07 23:15:16 +00:00
}
2018-04-16 03:20:37 +00:00
// ValidMasks contains the snomasks that we support.
ValidMasks = map[Mask]bool{
2020-02-02 07:03:08 +00:00
LocalAnnouncements: true,
2018-04-16 03:20:37 +00:00
LocalConnects: true,
LocalChannels: true,
LocalKills: true,
LocalNicks: true,
LocalOpers: true,
LocalQuits: true,
Stats: true,
LocalAccounts: true,
LocalXline: true,
2020-02-02 07:03:08 +00:00
LocalVhosts: true,
2018-04-16 03:20:37 +00:00
}
2017-05-07 23:15:16 +00:00
)