32 lines
893 B
Go
32 lines
893 B
Go
package platform
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"git.nakama.town/fmartingr/butterrobot/internal/config"
|
|
"git.nakama.town/fmartingr/butterrobot/internal/platform/slack"
|
|
"git.nakama.town/fmartingr/butterrobot/internal/platform/telegram"
|
|
)
|
|
|
|
// InitializePlatforms initializes all available platforms
|
|
func InitializePlatforms(cfg *config.Config) error {
|
|
// Initialize Slack platform
|
|
if cfg.SlackConfig.Token != "" && cfg.SlackConfig.BotOAuthAccessToken != "" {
|
|
slackPlatform := slack.New(&cfg.SlackConfig)
|
|
if err := slackPlatform.Init(cfg); err == nil {
|
|
Register("slack", slackPlatform)
|
|
}
|
|
}
|
|
|
|
// Initialize Telegram platform
|
|
if cfg.TelegramConfig.Token != "" {
|
|
telegramPlatform := telegram.New(&cfg.TelegramConfig)
|
|
if err := telegramPlatform.Init(cfg); err == nil {
|
|
Register("telegram", telegramPlatform)
|
|
}
|
|
} else {
|
|
return fmt.Errorf("telegram token is required")
|
|
}
|
|
|
|
return nil
|
|
}
|