soccer-bot/manager/topic.go

38 lines
826 B
Go

package manager
import "strings"
func (m *Manager) initTopic() {
m.topicMap = map[string]string{}
}
func (m *Manager) GetChannels() (channels []string) {
channels = []string{}
for name, _ := range m.topicMap {
channels = append(channels, name)
}
return
}
func (m *Manager) GetTopic(channel string) (retval string) {
channel = strings.ToLower(channel)
m.topicStateLock.RLock()
defer m.topicStateLock.RUnlock()
retval, _ = m.topicMap[channel]
return
}
func (m *Manager) SaveTopic(channel string, topic string) {
channel = strings.ToLower(channel)
m.topicStateLock.Lock()
defer m.topicStateLock.Unlock()
m.topicMap[channel] = topic
}
func (m *Manager) DeleteTopic(channel string) {
channel = strings.ToLower(channel)
m.topicStateLock.Lock()
defer m.topicStateLock.Unlock()
delete(m.topicMap, channel)
}