group_helper/telegram/manager.go

47 lines
924 B
Go
Raw Normal View History

package telegram
import (
"git.dragon-labs.de/alphyron/group_helper/logic"
tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api"
"log"
)
type RoutineManager struct {
Routine []Routine
Bot *tgbotapi.BotAPI
GroupHelperService logic.GroupHelperService
}
func (rm RoutineManager) StartUpdates() {
u := tgbotapi.NewUpdate(0)
u.Timeout = 60
updates, _ := rm.Bot.GetUpdatesChan(u)
for update := range updates {
group, err := rm.GroupHelperService.GetGroupByID(update.Message.Chat.ID)
if err != nil {
log.Println(err)
continue
}
for _, routine := range rm.Routine {
err := routine.Update(&update, group)
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)
}