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.

message_tags.go 617B

123456789101112131415161718192021222324252627
  1. // Copyright (c) 2016-2017 Daniel Oaks <daniel@danieloaks.net>
  2. // released under the MIT license
  3. package irc
  4. import "github.com/goshuirc/irc-go/ircmsg"
  5. // GetClientOnlyTags takes a tag map and returns a map containing just the client-only tags from it.
  6. func GetClientOnlyTags(tags map[string]ircmsg.TagValue) *map[string]ircmsg.TagValue {
  7. if len(tags) < 1 {
  8. return nil
  9. }
  10. clientOnlyTags := make(map[string]ircmsg.TagValue)
  11. for name, value := range tags {
  12. if len(name) > 1 && name[0] == '+' {
  13. clientOnlyTags[name] = value
  14. }
  15. }
  16. if len(clientOnlyTags) < 1 {
  17. return nil
  18. }
  19. return &clientOnlyTags
  20. }