From 050c0f8d0bcc4ce44cf32f1f53d4d0129c4ad185 Mon Sep 17 00:00:00 2001 From: Vladimir Hodakov Date: Sat, 2 Dec 2017 19:50:56 +0400 Subject: [PATCH] /academy and /bastion commands --- lib/router/private_request.go | 8 +++++++ lib/squader/squader.go | 4 ++-- lib/talkers/help.go | 24 +++++++++++++++++++ .../talkersinterface/talkersinterface.go | 3 +++ lib/users/users.go | 7 +++--- 5 files changed, 40 insertions(+), 6 deletions(-) diff --git a/lib/router/private_request.go b/lib/router/private_request.go index 95543c9..10df8e9 100644 --- a/lib/router/private_request.go +++ b/lib/router/private_request.go @@ -47,9 +47,17 @@ func (r *Router) routePrivateRequest(update *tgbotapi.Update, playerRaw *dbmappi c.Welcomer.PrivateWelcomeMessageUnauthorized(update) return "ok" + case update.Message.Command() == "help": c.Talkers.HelpMessage(update, playerRaw) return "ok" + case update.Message.Command() == "academy": + c.Talkers.AcademyMessage(update) + return "ok" + case update.Message.Command() == "bastion": + c.Talkers.BastionMessage(update) + return "ok" + case pokedexMsg.MatchString(text): c.Pokedexer.PokememesList(update) return "ok" diff --git a/lib/squader/squader.go b/lib/squader/squader.go index 98bd6c7..c918915 100644 --- a/lib/squader/squader.go +++ b/lib/squader/squader.go @@ -243,7 +243,7 @@ func (s *Squader) kickUserFromSquadChat(user *tgbotapi.User, chatRaw *dbmapping. commanders, ok := s.getCommandersForSquadViaChat(chatRaw) if ok { for i := range commanders { - message := "Некто " + c.Users.FormatUsername(suerName) + " попытался зайти в чат _" + chatRaw.Name + "_ и был изгнан ботом, так как является шпионом." + message := "Некто " + c.Users.FormatUsername(suerName) + " попытался зайти в чат _" + chatRaw.Name + "_ и был изгнан ботом, так как не имеет права посещать этот чат." msg := tgbotapi.NewMessage(int64(commanders[i].TelegramID), message) msg.ParseMode = "Markdown" @@ -251,7 +251,7 @@ func (s *Squader) kickUserFromSquadChat(user *tgbotapi.User, chatRaw *dbmapping. } } } else { - message := "Некто " + c.Users.FormatUsername(suerName) + " попытался зайти в чат _Бастион Инстинкта_ и был изгнан ботом, так как является шпионом." + message := "Некто " + c.Users.FormatUsername(suerName) + " попытался зайти в чат _Бастион Инстинкта_ и был изгнан ботом, так как не имеет права посещать этот чат." msg := tgbotapi.NewMessage(hqChatID, message) msg.ParseMode = "Markdown" diff --git a/lib/talkers/help.go b/lib/talkers/help.go index baa1c38..88f43a3 100644 --- a/lib/talkers/help.go +++ b/lib/talkers/help.go @@ -9,6 +9,28 @@ import ( "lab.pztrn.name/fat0troll/i2_bot/lib/dbmapping" ) +// AcademyMessage gives user link to Bastion +func (t *Talkers) AcademyMessage(update *tgbotapi.Update) { + message := "*Академия Инстинкта*\n" + message += "Чат для обучения новичков предумростям игры расположен по ссылке: https://t.me/joinchat/G2vME04jk02v2etRmumylg" + + msg := tgbotapi.NewMessage(update.Message.Chat.ID, message) + msg.ParseMode = "Markdown" + + c.Bot.Send(msg) +} + +// BastionMessage gives user link to Bastion +func (t *Talkers) BastionMessage(update *tgbotapi.Update) { + message := "*Бастион Инстинкта*\n" + message += "Общий чат лиги расположен по ссылке: https://t.me/joinchat/G2vME0mIX-QHjjxE\\_JBzoQ" + + msg := tgbotapi.NewMessage(update.Message.Chat.ID, message) + msg.ParseMode = "Markdown" + + c.Bot.Send(msg) +} + // HelpMessage gives user all available commands func (t *Talkers) HelpMessage(update *tgbotapi.Update, playerRaw *dbmapping.Player) { message := "*Бот Инстинкта Enchanched.*\n\n" @@ -17,6 +39,8 @@ func (t *Talkers) HelpMessage(update *tgbotapi.Update, playerRaw *dbmapping.Play message += "+ /me – посмотреть свой сохраненный профиль в боте\n" message += "+ /best – посмотреть лучших покемонов для поимки\n" message += "+ /pokedeks – получить список известных боту покемемов\n" + message += "+ /academy — Академия Инстинкта\n" + message += "+ /bastion — Бастион Инстинкта\n" if c.Users.PlayerBetterThan(playerRaw, "admin") { message += "+ /send\\_all _текст_ — отправить сообщение всем пользователям бота\n" message += "+ /send\\_league _текст_ — отправить сообщение всем пользователям бота, у которых профиль лиги Инстинкт\n" diff --git a/lib/talkers/talkersinterface/talkersinterface.go b/lib/talkers/talkersinterface/talkersinterface.go index 083f950..fb25387 100644 --- a/lib/talkers/talkersinterface/talkersinterface.go +++ b/lib/talkers/talkersinterface/talkersinterface.go @@ -11,6 +11,9 @@ import ( // TalkersInterface implements Talkers for importing via appcontex type TalkersInterface interface { Init() + + AcademyMessage(update *tgbotapi.Update) + BastionMessage(update *tgbotapi.Update) HelpMessage(update *tgbotapi.Update, playerRaw *dbmapping.Player) AnyMessageUnauthorized(update *tgbotapi.Update) string diff --git a/lib/users/users.go b/lib/users/users.go index 45f89cd..1557d43 100644 --- a/lib/users/users.go +++ b/lib/users/users.go @@ -75,10 +75,9 @@ func (u *Users) profileAddSuccessMessage(update *tgbotapi.Update, leagueID int, message += "/best – посмотреть лучших покемемов для поимки" if leagueID == 1 { - if level < 4 { - message += "\nЗаходи в Академию Инстинкта: все вопросы по игре, обучение и помощь новичку: https://t.me/joinchat/G2vME04jk02v2etRmumylg\n" - } else { - message += "\nЗаходи в Бастион Инстинкта: https://t.me/joinchat/G2vME0mIX-QHjjxE\\_JBzoQ\n" + message += "\n/bastion — получить ссылку на БАСТИОН лиги\n" + if level < 5 { + message += "\n/academy — получить ссылку на АКАДЕМИЮ лиги\n" } }