rate.go 986 B

12345678910111213141516171819202122232425262728293031
  1. package handler
  2. import (
  3. tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api"
  4. ethmineapi "gogs.veloe.link/toomanysugar/GoEthemineTelegramBot/api/ethermineapi"
  5. "gogs.veloe.link/toomanysugar/GoEthemineTelegramBot/cmd/settings"
  6. "fmt"
  7. )
  8. func (ah ActionHandler) GetActualRateHandler(chatId int64, params []string) []tgbotapi.MessageConfig {
  9. if len(params) != 0 {
  10. return []tgbotapi.MessageConfig{tgbotapi.NewMessage(chatId, "usage: /rate")}
  11. }
  12. getActualRate := func() string {
  13. url := fmt.Sprintf("%s/networkStats", settings.ApiUrl())
  14. var networkStats ethmineapi.JsonNetworkStats
  15. err := ethmineapi.UnmasrshalFromUrl(url, &networkStats)
  16. if err != nil {
  17. return fmt.Sprintf("Error with getting data from %s", settings.ApiUrl())
  18. }
  19. data := networkStats.Data
  20. actualRate := fmt.Sprintf("ETH: %.2f\nBTC: %.2f", data.Usd, float64(data.Usd)/float64(data.Btc))
  21. return actualRate
  22. }
  23. return []tgbotapi.MessageConfig{
  24. tgbotapi.NewMessage(chatId, getActualRate())}
  25. }