86 lines
3.5 KiB
Go
86 lines
3.5 KiB
Go
// i2_bot – Instinct PokememBro Bot
|
||
// Copyright (c) 2017 Vladimir "fat0troll" Hodakov
|
||
|
||
package pokedexer
|
||
|
||
import (
|
||
"github.com/go-telegram-bot-api/telegram-bot-api"
|
||
"lab.pztrn.name/fat0troll/i2_bot/lib/dbmapping"
|
||
"strconv"
|
||
)
|
||
|
||
func (p *Pokedexer) pokememesListing(update *tgbotapi.Update, page int, pokememesArray []dbmapping.PokememeFull) {
|
||
message := "*Известные боту покемемы*\n"
|
||
message += "Список отсортирован по грейду и алфавиту.\n"
|
||
message += "Покедекс: " + strconv.Itoa(len(pokememesArray)) + " / 219\n"
|
||
message += "Отображаем покемемов с " + strconv.Itoa(((page-1)*50)+1) + " по " + strconv.Itoa(page*50) + "\n"
|
||
if len(pokememesArray) > page*50 {
|
||
message += "Переход на следующую страницу: /pokedeks" + strconv.Itoa(page+1)
|
||
}
|
||
if page > 1 {
|
||
message += "\nПереход на предыдущую страницу: /pokedeks" + strconv.Itoa(page-1)
|
||
}
|
||
message += "\n\n"
|
||
|
||
for i := range pokememesArray {
|
||
if (i+1 > 50*(page-1)) && (i+1 < (50*page)+1) {
|
||
pk := pokememesArray[i].Pokememe
|
||
pkE := pokememesArray[i].Elements
|
||
message += strconv.Itoa(i+1) + ". " + strconv.Itoa(pk.Grade)
|
||
message += "⃣ *" + pk.Name
|
||
message += "* (" + c.Statistics.GetPrintablePoints(pk.HP) + "-" + c.Statistics.GetPrintablePoints(pk.MP) + ") ⚔️ *"
|
||
message += c.Statistics.GetPrintablePoints(pk.Attack) + "* \\["
|
||
for j := range pkE {
|
||
message += pkE[j].Symbol
|
||
}
|
||
message += "] " + c.Statistics.GetPrintablePoints(pk.Price) + "$ /pk" + strconv.Itoa(pk.ID)
|
||
message += "\n"
|
||
}
|
||
}
|
||
|
||
if len(pokememesArray) > page*50 {
|
||
message += "\n"
|
||
message += "Переход на следующую страницу: /pokedeks" + strconv.Itoa(page+1)
|
||
}
|
||
if page > 1 {
|
||
message += "\nПереход на предыдущую страницу: /pokedeks" + strconv.Itoa(page-1)
|
||
}
|
||
|
||
msg := tgbotapi.NewMessage(update.Message.Chat.ID, message)
|
||
msg.ParseMode = "Markdown"
|
||
|
||
c.Bot.Send(msg)
|
||
}
|
||
|
||
func (p *Pokedexer) pokememeAddSuccessMessage(update *tgbotapi.Update) {
|
||
message := "*Покемем успешно добавлен.*\n\n"
|
||
message += "Посмотреть всех известных боту покемемов можно командой /pokedeks"
|
||
|
||
msg := tgbotapi.NewMessage(update.Message.Chat.ID, message)
|
||
msg.ParseMode = "Markdown"
|
||
|
||
c.Bot.Send(msg)
|
||
}
|
||
|
||
func (p *Pokedexer) pokememeAddDuplicateMessage(update *tgbotapi.Update) {
|
||
message := "*Мы уже знаем об этом покемеме*\n\n"
|
||
message += "Посмотреть всех известных боту покемемов можно командой /pokedeks\n\n"
|
||
message += "Если у покемема изменились описание или характеристики, напиши @fat0troll для обновления базы."
|
||
|
||
msg := tgbotapi.NewMessage(update.Message.Chat.ID, message)
|
||
msg.ParseMode = "Markdown"
|
||
|
||
c.Bot.Send(msg)
|
||
}
|
||
|
||
func (p *Pokedexer) pokememeAddFailureMessage(update *tgbotapi.Update) {
|
||
message := "*Неудачно получилось :(*\n\n"
|
||
message += "Случилась жуткая ошибка, и мы не смогли записать покемема в базу. Напиши @fat0troll, он разберется.\n\n"
|
||
message += "Посмотреть всех известных боту покемемов можно командой /pokedeks"
|
||
|
||
msg := tgbotapi.NewMessage(update.Message.Chat.ID, message)
|
||
msg.ParseMode = "Markdown"
|
||
|
||
c.Bot.Send(msg)
|
||
}
|