diff --git a/src/controllers/duelController.go b/src/controllers/duelController.go index 476855c..cc8b3b1 100644 --- a/src/controllers/duelController.go +++ b/src/controllers/duelController.go @@ -2,6 +2,7 @@ package controllers import ( "fmt" + "log" "math/rand" "strconv" "strings" @@ -105,62 +106,65 @@ func (s *DuelController) AcceptMatch(c tele.Context) error { // Start Game func (s *DuelController) gameProccess(r tele.Recipient) { time.Sleep(time.Second * 3) - s.Bot.Send(r, fmt.Sprintf("Дуэль началась!\nНа кону: %d", s.Summ)) - s.RoundOne(r) + msg, err := s.Bot.Send(r, fmt.Sprintf("Дуэль началась!\nНа кону: %d", s.Summ)) + if err != nil { + log.Fatal(err) + } + s.RoundOne(msg) } // Round One -func (s *DuelController) RoundOne(r tele.Recipient) { +func (s *DuelController) RoundOne(msg *tele.Message) { time.Sleep(time.Second * 3) s.PlayerOne.Counter += rand.Intn(11) + 1 s.PlayerTwo.Counter += rand.Intn(11) + 1 - s.Bot.Send(r, + msg, _ = s.Bot.Edit(msg, fmt.Sprintf("Результаты первого раунда\n%s: %d очков.\n%s: %d очков.", s.PlayerOne.FName, s.PlayerOne.Counter, s.PlayerTwo.FName, s.PlayerTwo.Counter), ) - s.RoundTwo(r) + s.RoundTwo(msg) } // Round Two -func (s *DuelController) RoundTwo(r tele.Recipient) { +func (s *DuelController) RoundTwo(msg *tele.Message) { time.Sleep(time.Second * 3) s.PlayerOne.Counter += rand.Intn(11) + 1 s.PlayerTwo.Counter += rand.Intn(11) + 1 - s.Bot.Send(r, + msg, _ = s.Bot.Edit(msg, fmt.Sprintf("Результаты второго раунда\n%s: %d очков.\n%s: %d очков.", s.PlayerOne.FName, s.PlayerOne.Counter, s.PlayerTwo.FName, s.PlayerTwo.Counter), ) - s.RoundThree(r) + s.RoundThree(msg) } // Round Three -func (s *DuelController) RoundThree(r tele.Recipient) { +func (s *DuelController) RoundThree(msg *tele.Message) { time.Sleep(time.Second * 3) s.PlayerOne.Counter += rand.Intn(11) + 1 s.PlayerTwo.Counter += rand.Intn(11) + 1 - s.Bot.Send(r, + msg, _ = s.Bot.Edit(msg, fmt.Sprintf("Результаты третьего раунда\n%s: %d очков.\n%s: %d очков.", s.PlayerOne.FName, s.PlayerOne.Counter, s.PlayerTwo.FName, s.PlayerTwo.Counter), ) - s.CheckWin(r) + s.CheckWin(msg) } // Check Win -func (s *DuelController) CheckWin(r tele.Recipient) { +func (s *DuelController) CheckWin(msg *tele.Message) { userOne := s.DC.GetUser(s.PlayerOne.ID) userTwo := s.DC.GetUser(s.PlayerTwo.ID) time.Sleep(time.Second * 3) if s.PlayerOne.Counter > s.PlayerTwo.Counter { - s.Bot.Send(r, fmt.Sprintf("%s победил!", s.PlayerOne.FName)) + s.Bot.Edit(msg, fmt.Sprintf("%s победил!", s.PlayerOne.FName)) s.DC.UpdateDick(userOne.ID, userOne.DickSize+(s.Summ/2)) s.DC.UpdateDick(userTwo.ID, userTwo.DickSize-(s.Summ/2)) } else if s.PlayerOne.Counter < s.PlayerTwo.Counter { - s.Bot.Send(r, fmt.Sprintf("%s победил!", s.PlayerTwo.FName)) + s.Bot.Edit(msg, fmt.Sprintf("%s победил!", s.PlayerTwo.FName)) s.DC.UpdateDick(userOne.ID, userOne.DickSize-(s.Summ/2)) s.DC.UpdateDick(userTwo.ID, userTwo.DickSize+(s.Summ/2)) } else if s.PlayerOne.Counter == s.PlayerTwo.Counter { - s.Bot.Send(r, "Ничья!") + s.Bot.Edit(msg, "Ничья!") } s.PlayerOne.Counter = 0