package main import ( slack "git.bullercodeworks.com/brian/go-slack" ) /* DB Functions */ func (m *BotModel) setSlackToken(token string) error { return m.SetBytes([]string{"slack", "config", "token"}, []byte(token)) } func (m *BotModel) getSlackToken() (string, error) { return m.GetString([]string{"slack", "config", "token"}) } func (m *BotModel) setSlackAdminDMId(adminId string) error { return m.SetString([]string{"slack", "config", "admin_dm_id"}, adminId) } func (m *BotModel) GetSlackAdminDMId() (string, error) { return m.GetString([]string{"slack", "config", "admin_dm_id"}) } /* End DB Functions */ func (m *BotModel) NewSlack() error { token, err := m.getSlackToken() if err != nil { return err } if m.slack, err = slack.CreateSlack(token); err != nil { return err } return nil } func (a *App) MonitorSlackMessages() { for a.running { msg, err := a.m.slack.GetMessage() if err == nil { a.m.SendMessage("slack", "main", msg) } } } func (m *BotModel) SendSlackChannelMessage(msg *slack.Message) error { if DebugMode { return m.SendSlackAdminMessage(msg) } // Send message to slack channel var err error if err = m.slack.PostMessage(*msg); err != nil { return err } return nil } func (m *BotModel) SendSlackAdminMessage(msg *slack.Message) error { // Send message to slack admin var err error msg.Channel, err = m.GetSlackAdminDMId() if err != nil { return err } if err = m.slack.PostMessage(*msg); err != nil { return err } return nil }