bridge.go 953 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package bridge
  2. import (
  3. log "maunium.net/go/maulogger/v2"
  4. "maunium.net/go/mautrix/appservice"
  5. "gitlab.com/beeper/discord/config"
  6. "gitlab.com/beeper/discord/version"
  7. )
  8. type Bridge struct {
  9. config *config.Config
  10. log log.Logger
  11. as *appservice.AppService
  12. eventProcessor *appservice.EventProcessor
  13. bot *appservice.IntentAPI
  14. }
  15. func New(cfg *config.Config) (*Bridge, error) {
  16. // Create the logger.
  17. logger, err := cfg.CreateLogger()
  18. if err != nil {
  19. return nil, err
  20. }
  21. logger.Infoln("Initializing version", version.String)
  22. // Create the app service.
  23. appservice, err := cfg.CreateAppService()
  24. if err != nil {
  25. return nil, err
  26. }
  27. appservice.Log = log.Sub("matrix")
  28. // Create the bridge.
  29. bridge := &Bridge{
  30. config: cfg,
  31. log: logger,
  32. as: appservice,
  33. }
  34. return bridge, nil
  35. }
  36. func (b *Bridge) Start() {
  37. b.log.Infoln("bridge started")
  38. }
  39. func (b *Bridge) Stop() {
  40. b.log.Infoln("bridge stopped")
  41. }