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.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. LocalDisconnects Mask = 'd'
  13. LocalChannels Mask = 'j'
  14. LocalKills Mask = 'k'
  15. LocalNicks Mask = 'n'
  16. LocalOpers Mask = 'o'
  17. LocalQuits Mask = 'q'
  18. Stats Mask = 't'
  19. LocalAccounts Mask = 'u'
  20. LocalVhosts Mask = 'v'
  21. LocalXline Mask = 'x'
  22. )
  23. var (
  24. // NoticeMaskNames has readable names for our snomask types.
  25. NoticeMaskNames = map[Mask]string{
  26. LocalAnnouncements: "ANNOUNCEMENT",
  27. LocalConnects: "CONNECT",
  28. LocalDisconnects: "DISCONNECT",
  29. LocalChannels: "CHANNEL",
  30. LocalKills: "KILL",
  31. LocalNicks: "NICK",
  32. LocalOpers: "OPER",
  33. LocalQuits: "QUIT",
  34. Stats: "STATS",
  35. LocalAccounts: "ACCOUNT",
  36. LocalXline: "XLINE",
  37. LocalVhosts: "VHOST",
  38. }
  39. // ValidMasks contains the snomasks that we support.
  40. ValidMasks = []Mask{
  41. LocalAnnouncements,
  42. LocalConnects,
  43. LocalDisconnects,
  44. LocalChannels,
  45. LocalKills,
  46. LocalNicks,
  47. LocalOpers,
  48. LocalQuits,
  49. Stats,
  50. LocalAccounts,
  51. LocalVhosts,
  52. LocalXline,
  53. }
  54. )