cmd.go 501 B

1234567891011121314151617181920212223242526272829303132333435
  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. bridge.Start()
  21. ch := make(chan os.Signal)
  22. signal.Notify(ch, os.Interrupt, syscall.SIGTERM)
  23. <-ch
  24. bridge.Stop()
  25. return nil
  26. }