diff options
Diffstat (limited to 'teleirc/matterbridge/gateway/samechannel/samechannel.go')
| -rw-r--r-- | teleirc/matterbridge/gateway/samechannel/samechannel.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/teleirc/matterbridge/gateway/samechannel/samechannel.go b/teleirc/matterbridge/gateway/samechannel/samechannel.go new file mode 100644 index 0000000..4b6016c --- /dev/null +++ b/teleirc/matterbridge/gateway/samechannel/samechannel.go @@ -0,0 +1,28 @@ +package samechannel + +import ( + "github.com/42wim/matterbridge/bridge/config" +) + +type SameChannelGateway struct { + config.Config +} + +func New(cfg config.Config) *SameChannelGateway { + return &SameChannelGateway{Config: cfg} +} + +func (sgw *SameChannelGateway) GetConfig() []config.Gateway { + var gwconfigs []config.Gateway + cfg := sgw.Config + for _, gw := range cfg.BridgeValues().SameChannelGateway { + gwconfig := config.Gateway{Name: gw.Name, Enable: gw.Enable} + for _, account := range gw.Accounts { + for _, channel := range gw.Channels { + gwconfig.InOut = append(gwconfig.InOut, config.Bridge{Account: account, Channel: channel, SameChannel: true}) + } + } + gwconfigs = append(gwconfigs, gwconfig) + } + return gwconfigs +} |
