cmd.go 541 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package run
  2. import (
  3. "os"
  4. "os/signal"
  5. "syscall"
  6. "gitlab.com/beeper/discord/bridge"
  7. "gitlab.com/beeper/discord/config"
  8. "gitlab.com/beeper/discord/globals"
  9. )
  10. type Cmd struct{}
  11. func (c *Cmd) Run(g *globals.Globals) error {
  12. cfg, err := config.FromFile(g.Config)
  13. if err != nil {
  14. return err
  15. }
  16. bridge, err := bridge.New(cfg)
  17. if err != nil {
  18. return err
  19. }
  20. if err := bridge.Start(); err != nil {
  21. return err
  22. }
  23. ch := make(chan os.Signal)
  24. signal.Notify(ch, os.Interrupt, syscall.SIGTERM)
  25. <-ch
  26. bridge.Stop()
  27. return nil
  28. }