package main import ( "fmt" telegramBotApi "github.com/go-telegram-bot-api/telegram-bot-api" ) type NotificationService interface { Post(message string) } type NotificationServices []NotificationService // Post to all Notification Services func (notificationServices *NotificationServices) Post(message string) { for _, notificationService := range *notificationServices { notificationService.Post(message) } } // Telegram type Telegram struct { userId int64 botToken string } func (t *Telegram) Post(message string) { bot, err := telegramBotApi.NewBotAPI(t.botToken) if err != nil { fmt.Println("Failed to setup Telegram bot") return } msg := telegramBotApi.NewMessage(t.userId, message) _, err = bot.Send(msg) if err != nil { fmt.Println("Failed to send Telegram message") return } return }