Merge pull request #15 from StalkR/chans

state: channel: add Nicks() and NicksStr() accessors for nicks on channe...
This commit is contained in:
Alex Bee 2013-01-06 11:15:06 -08:00
commit e487b72e3c
2 changed files with 36 additions and 0 deletions

View File

@ -210,6 +210,24 @@ func (ch *Channel) ParseModes(modes string, modeargs ...string) {
}
}
// Nicks returns a list of *Nick that are on the channel.
func (ch *Channel) Nicks() []*Nick {
nicks := make([]*Nick, 0, len(ch.lookup))
for _, nick := range ch.lookup {
nicks = append(nicks, nick)
}
return nicks
}
// NicksStr returns a list of nick strings that are on the channel.
func (ch *Channel) NicksStr() []string {
nicks := make([]string, 0, len(ch.lookup))
for _, nick := range ch.lookup {
nicks = append(nicks, nick.Nick)
}
return nicks
}
// Returns a string representing the channel. Looks like:
// Channel: <channel name> e.g. #moo
// Topic: <channel topic> e.g. Discussing the merits of cows!

View File

@ -110,6 +110,24 @@ func (nk *Nick) ParseModes(modes string) {
}
}
// Channels returns a list of *Channel the nick is on.
func (nk *Nick) Channels() []*Channel {
channels := make([]*Channel, 0, len(nk.lookup))
for _, channel := range nk.lookup {
channels = append(channels, channel)
}
return channels
}
// ChannelsStr returns a list of channel strings the nick is on.
func (nk *Nick) ChannelsStr() []string {
channels := make([]string, 0, len(nk.lookup))
for _, channel := range nk.lookup {
channels = append(channels, channel.Name)
}
return channels
}
// Returns a string representing the nick. Looks like:
// Nick: <nick name> e.g. CowMaster
// Hostmask: <ident@host> e.g. moo@cows.org