Skip to content

Instantly share code, notes, and snippets.

@anatoliyfedorenko
Created November 9, 2018 10:46
Show Gist options
  • Select an option

  • Save anatoliyfedorenko/8f3e1bf6da484085b85396103b3e67ea to your computer and use it in GitHub Desktop.

Select an option

Save anatoliyfedorenko/8f3e1bf6da484085b85396103b3e67ea to your computer and use it in GitHub Desktop.
slack main loop
func (s *Slack) Run() {
s.UpdateUsersList()
s.SendUserMessage(s.Conf.ManagerSlackUserID, s.Conf.Translate.HelloManager)
gocron.Every(1).Day().At("23:50").Do(s.FillStandupsForNonReporters)
gocron.Every(1).Day().At("23:55").Do(s.UpdateUsersList)
gocron.Start()
s.WG.Add(1)
go s.RTM.ManageConnection()
s.WG.Done()
for msg := range s.RTM.IncomingEvents {
switch ev := msg.Data.(type) {
case *slack.MessageEvent:
botUserID := fmt.Sprintf("<@%s>", s.RTM.GetInfo().User.ID)
s.handleMessage(ev, botUserID)
case *slack.MemberJoinedChannelEvent:
s.handleJoin(ev.Channel)
case *slack.InvalidAuthEvent:
return
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment