Archived
1

Add FAQ for users

This commit is contained in:
Vladimir Hodakov 2018-03-06 21:38:25 +04:00
parent 49eaa4a501
commit bf9f9c164e
4 changed files with 54 additions and 2 deletions

View File

@ -11,7 +11,7 @@ import (
)
// VERSION is the current bot's version
const VERSION = "0.7.0"
const VERSION = "0.7.2"
// DatabaseConnection handles database connection settings in config.yaml
type DatabaseConnection struct {

View File

@ -55,6 +55,8 @@ func (r *Router) routePrivateRequest(update *tgbotapi.Update, playerRaw *dbmappi
case update.Message.Command() == "help":
c.Talkers.HelpMessage(update, playerRaw)
return "ok"
case update.Message.Command() == "faq":
return c.Talkers.FAQMessage(update)
case update.Message.Command() == "academy":
c.Talkers.AcademyMessage(update, playerRaw)
return "ok"

View File

@ -67,6 +67,7 @@ func (t *Talkers) HelpMessage(update *tgbotapi.Update, playerRaw *dbmapping.Play
message += "\\* /reminders — настроить оповещения на Турнир лиг\n"
message += "\\* /academy — Академия Инстинкта\n"
message += "\\* /bastion — Бастион Инстинкта\n"
message += "\\* /faq — получить ответы на часто задаваемые вопросы\n"
if c.Users.PlayerBetterThan(playerRaw, "admin") {
message += "\\* /send\\_all _текст_ — отправить сообщение всем пользователям бота\n"
message += "\\* /send\\_league _текст_ — отправить сообщение всем пользователям бота, у которых профиль лиги Инстинкт\n"
@ -101,6 +102,54 @@ func (t *Talkers) HelpMessage(update *tgbotapi.Update, playerRaw *dbmapping.Play
c.Bot.Send(msg)
}
// FAQMessage prints frequently asked questions
func (t *Talkers) FAQMessage(update *tgbotapi.Update) string {
message := "*Часто задаваемые вопросы:*\n\n"
message += "💎Кристаллы\n"
message += "_Зачем тут донатить?_\n"
message += "О: Самое полезное на начальных уровнях это:\n1. Увеличение лимита ⭕️покеболов до 24 за 100💎\n2. Турболовля за 20💎, покеболы приходят не раз в час, а каждые 40 секунд, время действия турболовли 30 минут, за это время ты получишь 45 покеболов. Охота также ускоряется: вместо 2 минут, охота длится 40 секунд.\n"
message += "_Где и как задонатить?_\n"
message += "В игровом боте напиши /crystalls и перейди по выданной ссылке. Стоимость кристаллов зависит от количества: чем больше ты их купишь за один раз, тем дешевле они обойдутся (от 3 до 10 рублей за 1💎). Если это твой первый донат, то купленное тобой количество кристаллов удвоится. Имеет смысл в первый раз закупать большое количество!\n\n"
message += "⭕️Покеболы\n"
message += "_Как увеличить лимит покеболов?_\n"
message += "Вариантов несколько:\n1. Купить увеличение лимита покеболов до 24 за 100💎\n2. За каждый 30 покемем в покедексе ты получишь +1 к лимиту покеболов\n3. Отправь игровому боту /spam и получи ссылку. Каждый новый игрок получивший 2 уровень и пришедший по твоей ссылке принесет тебе 1 покебол и увеличение лимита покеболов на 1.\n4. Перейти по ссылке: https://telegram.me/storebot?start=pokemembrobot, оставить отзыв и переслать переписку с @storebot в тех поддержку игры @PBhelp\nТак как за кристаллы ты увеличиваешь покедекс не НА 24, а ДО 24. То имеет смысл купить увеличение как можно раньше.\n"
message += "_Какой лимит покеболов самый оптимальный?_\n"
message += "Как показывает практика, лучший лимит (но и самый труднодостижимый) — 90 шаров. Достигнув его и заполнив целиком, вы сможете, запустив ТурбоЛовлю, сходить на 45 охот подряд.\n\n"
message += "🐱Покемемы\n"
message += "_Я поймал второго покемона, но не могу его взять в руку, почему?_\n"
message += "Покемоны 4 и более уровней не могут повторяться в руке (т.е. должны быть разными).\n"
message += "_А щит на покемемах что дает?_\n"
message += "Чтобы поймать покемема с щитом, тебе нужно иметь атаку больше их щита.\n"
message += "_Что такое MP?_\n"
message += "Пока не знаем (в игре не используется).\n"
message += "_Есть смысл дальше вкачивать покемемы?_\n"
message += "/best\\_all поможет сориентироваться, хватает ли тебе атаки на топового покемема твоего уровня, или нет.\n"
message += "_Какие покемоны для меня топ? Где ловить топов?_\n"
message += "/best, /best\\_all\n"
message += "_Что значат перед названием покемема ромбы?_\n"
message += "🔸- Илитный: +15% ⚔️ атака. Максимальный уровень - 8.\n🔶- Супер Илитный: +25% ⚔️ атака. Максимальный уровень - 10.\n🔹- Либераха: +10% ⚔️ атаки покемемам с теми же элементами, что у Либерахи. Максимальный уровень - 8.\n🔷- Супер Либераха: +20% атаки покемемам с теми же элементами, что у Супер Либерахи. Максимальный уровень - 10.\n\n"
message += "🥚 Яйца\n"
message += "_Что такое яйцо и зачем оно?_\n"
message += "Яйцо — это бонус, который ты получаешь в битвах лиг, из яйца дают покемема твоей стихии и на 1 грейд больше твоего лвла (максимум 9го), так же яйцо можно получить за ежедневную активность.\n"
message += "_Сколько яиц я получу в битве?_\n"
message += "1 яйцо за участие в бою, +2 яйца если мы проиграем и красным и синим. А также по +2 яйца если выиграем за явным преимуществом, если оппоненты выставят против нас в 20 раз меньше атаки. Максимум можно получить по 5 яиц с битвы.\n"
message += "_Если у меня яйцо 96/96 и я, не открывая его апну лвл - оно станет 96/192 или 0/192?_\n"
message += "Яйца остаются, увеличивается необходимое количество для открытия, в твоем случае станет 96/192\n"
message += "_Если не открывать 🥚яйцо, когда оно наберется до нужного количества, оно не будет дальше расти?_\n"
message += "Не будет."
msg := tgbotapi.NewMessage(update.Message.Chat.ID, message)
msg.ParseMode = "Markdown"
c.Bot.Send(msg)
return "ok"
}
// FiveOffer sends all users with 5 pokeballs limit offer for increasing pokeballs limit
func (t *Talkers) FiveOffer(update *tgbotapi.Update) string {
players := []dbmapping.Player{}

View File

@ -4,8 +4,8 @@
package talkersinterface
import (
"source.wtfteam.pro/i2_bot/i2_bot/lib/dbmapping"
"github.com/go-telegram-bot-api/telegram-bot-api"
"source.wtfteam.pro/i2_bot/i2_bot/lib/dbmapping"
)
// TalkersInterface implements Talkers for importing via appcontex
@ -15,6 +15,7 @@ type TalkersInterface interface {
AcademyMessage(update *tgbotapi.Update, playerRaw *dbmapping.Player)
BastionMessage(update *tgbotapi.Update, playerRaw *dbmapping.Player)
HelpMessage(update *tgbotapi.Update, playerRaw *dbmapping.Player)
FAQMessage(update *tgbotapi.Update) string
FiveOffer(update *tgbotapi.Update) string
AnyMessageUnauthorized(update *tgbotapi.Update) string