add calories
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
c52a1f7f40
commit
871b6c6dcd
|
@ -0,0 +1,37 @@
|
||||||
|
package calories
|
||||||
|
|
||||||
|
import (
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
caloriesMap = map[string]int{
|
||||||
|
"чай": 79,
|
||||||
|
"яблоко": 100,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
func CalcCalories(text string) (int, error) {
|
||||||
|
count, ok := caloriesMap[strings.ToLower(text)]
|
||||||
|
if ok {
|
||||||
|
return count, nil
|
||||||
|
}
|
||||||
|
arr := strings.Split(text, " ")
|
||||||
|
if len(arr) == 2 {
|
||||||
|
coun1, err := strconv.Atoi(arr[0])
|
||||||
|
if err != nil {
|
||||||
|
return 0, nil
|
||||||
|
}
|
||||||
|
count2, err := strconv.Atoi(arr[1])
|
||||||
|
if err != nil {
|
||||||
|
return 0, nil
|
||||||
|
}
|
||||||
|
return coun1 * count2 / 100, nil
|
||||||
|
}
|
||||||
|
count, err := strconv.Atoi(text)
|
||||||
|
if err != nil {
|
||||||
|
return 0, nil
|
||||||
|
}
|
||||||
|
return count, nil
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package main
|
package calories
|
||||||
|
|
||||||
import "testing"
|
import "testing"
|
||||||
|
|
36
main.go
36
main.go
|
@ -3,16 +3,18 @@ package main
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
tgbot "github.com/go-telegram-bot-api/telegram-bot-api"
|
|
||||||
"github.com/umputun/go-flags"
|
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"log"
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
"valera/calories"
|
||||||
"valera/commands"
|
"valera/commands"
|
||||||
"valera/db"
|
"valera/db"
|
||||||
|
|
||||||
|
tgbot "github.com/go-telegram-bot-api/telegram-bot-api"
|
||||||
|
"github.com/umputun/go-flags"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -21,10 +23,6 @@ var (
|
||||||
"Пресс",
|
"Пресс",
|
||||||
"Подтягивания",
|
"Подтягивания",
|
||||||
}
|
}
|
||||||
caloriesMap = map[string]int{
|
|
||||||
"чай": 79,
|
|
||||||
"яблоко": 100,
|
|
||||||
}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -206,7 +204,7 @@ func run() {
|
||||||
_, _ = bot.Send(msg)
|
_, _ = bot.Send(msg)
|
||||||
continue
|
continue
|
||||||
case db.UserStateEat:
|
case db.UserStateEat:
|
||||||
count, err := calcCalories(text)
|
count, err := calories.CalcCalories(text)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
continue
|
continue
|
||||||
|
@ -254,30 +252,6 @@ func run() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func calcCalories(text string) (int, error) {
|
|
||||||
count, ok := caloriesMap[strings.ToLower(text)]
|
|
||||||
if ok {
|
|
||||||
return count, nil
|
|
||||||
}
|
|
||||||
arr := strings.Split(text, " ")
|
|
||||||
if len(arr) == 2 {
|
|
||||||
coun1, err := strconv.Atoi(arr[0])
|
|
||||||
if err != nil {
|
|
||||||
return 0, nil
|
|
||||||
}
|
|
||||||
count2, err := strconv.Atoi(arr[1])
|
|
||||||
if err != nil {
|
|
||||||
return 0, nil
|
|
||||||
}
|
|
||||||
return coun1 * count2 / 100, nil
|
|
||||||
}
|
|
||||||
count, err := strconv.Atoi(text)
|
|
||||||
if err != nil {
|
|
||||||
return 0, nil
|
|
||||||
}
|
|
||||||
return count, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
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, "Давай немного разомнемся, выбирай:")
|
||||||
rows := make([][]tgbot.KeyboardButton, 0, len(workoutTypes))
|
rows := make([][]tgbot.KeyboardButton, 0, len(workoutTypes))
|
||||||
|
|
Loading…
Reference in New Issue