package telegram import ( tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api" "log" ) type RoutineManager struct { Routine []Routine Bot *tgbotapi.BotAPI } func (rm RoutineManager) StartUpdates() { u := tgbotapi.NewUpdate(0) u.Timeout = 60 updates, _ := rm.Bot.GetUpdatesChan(u) for update := range updates { for _, routine := range rm.Routine { err := routine.Update(&update) if err != nil { log.Printf("ERROR - Routine error") log.Println(err) } } } } func (rm *RoutineManager) RegisterRoutine(routine Routine) { if rm.Routine == nil { rm.Routine = make([]Routine, 0) } rm.Routine = append(rm.Routine, routine) }