You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

constants.go 1.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // Copyright (c) 2017 Daniel Oaks <daniel@danieloaks.net>
  2. // released under the MIT license
  3. // Package sno holds Server Notice masks for easy reference.
  4. package sno
  5. // Mask is a type of server notice mask.
  6. type Mask rune
  7. type Masks []Mask
  8. // Notice mask types
  9. const (
  10. LocalAnnouncements Mask = 'a'
  11. LocalConnects Mask = 'c'
  12. LocalChannels Mask = 'j'
  13. LocalKills Mask = 'k'
  14. LocalNicks Mask = 'n'
  15. LocalOpers Mask = 'o'
  16. LocalQuits Mask = 'q'
  17. Stats Mask = 't'
  18. LocalAccounts Mask = 'u'
  19. LocalVhosts Mask = 'v'
  20. LocalXline Mask = 'x'
  21. )
  22. var (
  23. // NoticeMaskNames has readable names for our snomask types.
  24. NoticeMaskNames = map[Mask]string{
  25. LocalAnnouncements: "ANNOUNCEMENT",
  26. LocalConnects: "CONNECT",
  27. LocalChannels: "CHANNEL",
  28. LocalKills: "KILL",
  29. LocalNicks: "NICK",
  30. LocalOpers: "OPER",
  31. LocalQuits: "QUIT",
  32. Stats: "STATS",
  33. LocalAccounts: "ACCOUNT",
  34. LocalXline: "XLINE",
  35. LocalVhosts: "VHOST",
  36. }
  37. // ValidMasks contains the snomasks that we support.
  38. ValidMasks = []Mask{
  39. LocalAnnouncements,
  40. LocalConnects,
  41. LocalChannels,
  42. LocalKills,
  43. LocalNicks,
  44. LocalOpers,
  45. LocalQuits,
  46. Stats,
  47. LocalAccounts,
  48. LocalVhosts,
  49. LocalXline,
  50. }
  51. )