telegram/main.go

47 lines
1.1 KiB
Go
Raw Normal View History

package main
import (
"fmt"
"penahub.gitlab.yandexcloud.net/backend/quiz/telegram/client"
"penahub.gitlab.yandexcloud.net/backend/quiz/telegram/models"
"penahub.gitlab.yandexcloud.net/backend/quiz/telegram/respondent"
"penahub.gitlab.yandexcloud.net/backend/quiz/telegram/state_manager"
"sync"
"time"
)
func main() {
var wg sync.WaitGroup
wg.Add(len(models.DataSet))
for i := 0; i < len(models.DataSet); i++ {
go func(i int) {
defer wg.Done()
mockClient := client.NewClient()
mockStateManager := stateManager.NewStateManager(stateManager.Deps{
Questions: models.DataSet[i],
State: "start",
Client: mockClient,
})
mockRespondent := respondent.NewRespondent(mockStateManager)
mockStateManager.SendQuestion()
for mockStateManager.State != "end" {
mockRespondent.Respond()
fmt.Println("respond")
time.Sleep(2 * time.Second)
}
fmt.Println(fmt.Sprintf("gorutine %d is complete, now serch it messages", i))
for number, msg := range mockClient.Messages {
fmt.Println(fmt.Sprintf("gorutine %d, message %s, message number %d", i, msg, number))
}
}(i)
}
wg.Wait()
fmt.Println("complete")
}