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

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. // Notice mask types
  8. const (
  9. LocalAccouncements Mask = 'a'
  10. LocalConnects Mask = 'c'
  11. LocalChannels Mask = 'j'
  12. LocalKills Mask = 'k'
  13. LocalNicks Mask = 'n'
  14. LocalOpers Mask = 'o'
  15. LocalQuits Mask = 'q'
  16. Stats Mask = 't'
  17. LocalAccounts Mask = 'u'
  18. LocalXline Mask = 'x'
  19. )
  20. var (
  21. // NoticeMaskNames has readable names for our snomask types.
  22. NoticeMaskNames = map[Mask]string{
  23. LocalAccouncements: "ANNOUNCEMENT",
  24. LocalConnects: "CONNECT",
  25. LocalChannels: "CHANNEL",
  26. LocalKills: "KILL",
  27. LocalNicks: "NICK",
  28. LocalOpers: "OPER",
  29. LocalQuits: "QUIT",
  30. Stats: "STATS",
  31. LocalAccounts: "ACCOUNT",
  32. LocalXline: "XLINE",
  33. }
  34. // ValidMasks contains the snomasks that we support.
  35. ValidMasks = map[Mask]bool{
  36. LocalAccouncements: true,
  37. LocalConnects: true,
  38. LocalChannels: true,
  39. LocalKills: true,
  40. LocalNicks: true,
  41. LocalOpers: true,
  42. LocalQuits: true,
  43. Stats: true,
  44. LocalAccounts: true,
  45. LocalXline: true,
  46. }
  47. )