From bf9f9c164ec73c13153ae40555a464d7c895c6bc Mon Sep 17 00:00:00 2001 From: Vladimir Hodakov Date: Tue, 6 Mar 2018 21:38:25 +0400 Subject: [PATCH] Add FAQ for users --- lib/config/config.go | 2 +- lib/router/private_request.go | 2 + lib/talkers/help.go | 49 +++++++++++++++++++ .../talkersinterface/talkersinterface.go | 3 +- 4 files changed, 54 insertions(+), 2 deletions(-) diff --git a/lib/config/config.go b/lib/config/config.go index e2a89ae..67a16d5 100644 --- a/lib/config/config.go +++ b/lib/config/config.go @@ -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 { diff --git a/lib/router/private_request.go b/lib/router/private_request.go index b457d5a..c530504 100644 --- a/lib/router/private_request.go +++ b/lib/router/private_request.go @@ -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" diff --git a/lib/talkers/help.go b/lib/talkers/help.go index d268e67..9c13e75 100644 --- a/lib/talkers/help.go +++ b/lib/talkers/help.go @@ -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{} diff --git a/lib/talkers/talkersinterface/talkersinterface.go b/lib/talkers/talkersinterface/talkersinterface.go index db21a99..0b8730b 100644 --- a/lib/talkers/talkersinterface/talkersinterface.go +++ b/lib/talkers/talkersinterface/talkersinterface.go @@ -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