Compare commits
2 Commits
f066e01d21
...
922e770405
Author | SHA1 | Date |
---|---|---|
Владимир Фёдоров | 922e770405 | |
Владимир Фёдоров | 695ecef4fd |
71
main.go
71
main.go
|
@ -15,8 +15,15 @@ import (
|
||||||
"valera/db"
|
"valera/db"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
workoutTypes = []string{
|
||||||
|
"Отжимания",
|
||||||
|
"Пресс",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
version = "v1.3.0"
|
version = "v1.4.0"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Opts struct {
|
type Opts struct {
|
||||||
|
@ -152,27 +159,43 @@ func run() {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isWorkout := false
|
||||||
|
for _, workoutType := range workoutTypes {
|
||||||
|
if userInfoDTO.GetStatus() == db.UserState(workoutType) {
|
||||||
|
count, err := strconv.Atoi(text)
|
||||||
|
if err != nil {
|
||||||
|
log.Println(err)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if err := dataBase.AddWorkout(chatID, db.NewWorkout(workoutType, count, username)); err != nil {
|
||||||
|
log.Println(err)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
msgText := fmt.Sprintf("Отлично, %s, записал.", text)
|
||||||
|
if count <= 0 {
|
||||||
|
msgText = "Плохо, хочешь быть толстым и не красивым?"
|
||||||
|
}
|
||||||
|
_, _ = bot.Send(tgbot.NewMessage(chatID, msgText))
|
||||||
|
if err := dataBase.SetStatusToChat(chatID, db.UserStateNone); err != nil {
|
||||||
|
log.Println(err)
|
||||||
|
}
|
||||||
|
isWorkout = true
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if isWorkout {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
switch userInfoDTO.GetStatus() {
|
switch userInfoDTO.GetStatus() {
|
||||||
case db.UserStateGo:
|
case db.UserStateGo:
|
||||||
count, err := strconv.Atoi(text)
|
if err := dataBase.SetStatusToChat(chatID, db.UserState(text)); err != nil {
|
||||||
if err != nil {
|
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
continue
|
|
||||||
}
|
}
|
||||||
if err := dataBase.AddWorkout(chatID, db.NewWorkout("Отжимания", count, username)); err != nil {
|
msg := tgbot.NewMessage(chatID, fmt.Sprintf("%s, отпишись сколько раз ты выполнил упражнение", text))
|
||||||
log.Println(err)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
msgText := fmt.Sprintf("Отлично, %s, записал.", text)
|
|
||||||
if count <= 0 {
|
|
||||||
msgText = "Плохо, хочешь быть толстым и не красивым?"
|
|
||||||
}
|
|
||||||
msg := tgbot.NewMessage(chatID, msgText)
|
|
||||||
msg.ReplyMarkup = tgbot.NewRemoveKeyboard(false)
|
msg.ReplyMarkup = tgbot.NewRemoveKeyboard(false)
|
||||||
_, _ = bot.Send(msg)
|
_, _ = bot.Send(msg)
|
||||||
if err := dataBase.SetStatusToChat(chatID, db.UserStateNone); err != nil {
|
|
||||||
log.Println(err)
|
|
||||||
}
|
|
||||||
continue
|
continue
|
||||||
case db.UserStateEat:
|
case db.UserStateEat:
|
||||||
count, err := strconv.Atoi(text)
|
count, err := strconv.Atoi(text)
|
||||||
|
@ -224,16 +247,12 @@ func run() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func sendGoToChat(bot *tgbot.BotAPI, dataBase *db.DB, chatID int64) {
|
func sendGoToChat(bot *tgbot.BotAPI, dataBase *db.DB, chatID int64) {
|
||||||
msg := tgbot.NewMessage(chatID, "Давай немного разомнемся, отжимания, отпишись сколько раз ты выполнил упражнение")
|
msg := tgbot.NewMessage(chatID, "Давай немного разомнемся, выбирай:")
|
||||||
msg.ReplyMarkup = tgbot.NewReplyKeyboard(
|
row := tgbot.NewKeyboardButtonRow()
|
||||||
tgbot.NewKeyboardButtonRow(
|
for _, workoutType := range workoutTypes {
|
||||||
tgbot.NewKeyboardButton("1"),
|
row = append(row, tgbot.NewKeyboardButton(workoutType))
|
||||||
tgbot.NewKeyboardButton("2"),
|
}
|
||||||
tgbot.NewKeyboardButton("3"),
|
msg.ReplyMarkup = tgbot.NewReplyKeyboard(row)
|
||||||
tgbot.NewKeyboardButton("5"),
|
|
||||||
tgbot.NewKeyboardButton("8"),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
if _, err := bot.Send(msg); err == nil {
|
if _, err := bot.Send(msg); err == nil {
|
||||||
if err := dataBase.SetStatusToChat(chatID, db.UserStateGo); err != nil {
|
if err := dataBase.SetStatusToChat(chatID, db.UserStateGo); err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
|
|
Loading…
Reference in New Issue