Add return constants package, and common message sender functions
Trying to resolve as much as possible ``gometalinter`` issues.
This commit is contained in:
@@ -4,12 +4,13 @@
|
||||
package router
|
||||
|
||||
import (
|
||||
"github.com/go-telegram-bot-api/telegram-bot-api"
|
||||
"regexp"
|
||||
|
||||
"github.com/go-telegram-bot-api/telegram-bot-api"
|
||||
)
|
||||
|
||||
// RouteCallback routes inline requests to bot
|
||||
func (r *Router) RouteCallback(update *tgbotapi.Update) string {
|
||||
func (r *Router) RouteCallback(update tgbotapi.Update) string {
|
||||
playerRaw, err := c.DataCache.GetOrCreatePlayerByTelegramID(update.CallbackQuery.From.ID)
|
||||
if err != nil {
|
||||
c.Log.Error(err.Error())
|
||||
@@ -17,7 +18,7 @@ func (r *Router) RouteCallback(update *tgbotapi.Update) string {
|
||||
}
|
||||
|
||||
if playerRaw.Status == "banned" {
|
||||
return c.Talkers.BanError(update)
|
||||
return c.Talkers.BanError(&update)
|
||||
}
|
||||
|
||||
var enableAlarmCallback = regexp.MustCompile("enable_reminder_(\\d+)\\z")
|
||||
@@ -25,9 +26,9 @@ func (r *Router) RouteCallback(update *tgbotapi.Update) string {
|
||||
|
||||
switch {
|
||||
case enableAlarmCallback.MatchString(update.CallbackQuery.Data):
|
||||
return c.Reminder.CreateAlarmSetting(update, playerRaw)
|
||||
return c.Reminder.CreateAlarmSetting(&update, playerRaw)
|
||||
case disableAlarmCallback.MatchString(update.CallbackQuery.Data):
|
||||
return c.Reminder.DestroyAlarmSetting(update, playerRaw)
|
||||
return c.Reminder.DestroyAlarmSetting(&update, playerRaw)
|
||||
}
|
||||
|
||||
return "ok"
|
||||
|
@@ -4,13 +4,14 @@
|
||||
package router
|
||||
|
||||
import (
|
||||
"github.com/go-telegram-bot-api/telegram-bot-api"
|
||||
"math/rand"
|
||||
"regexp"
|
||||
|
||||
"github.com/go-telegram-bot-api/telegram-bot-api"
|
||||
"source.wtfteam.pro/i2_bot/i2_bot/lib/dbmapping"
|
||||
)
|
||||
|
||||
func (r *Router) routeGroupRequest(update *tgbotapi.Update, playerRaw *dbmapping.Player, chatRaw *dbmapping.Chat) string {
|
||||
func (r *Router) routeGroupRequest(update tgbotapi.Update, playerRaw *dbmapping.Player, chatRaw *dbmapping.Chat) string {
|
||||
text := update.Message.Text
|
||||
// Regular expressions
|
||||
var durakMsg = regexp.MustCompile("(Д|д)(У|у)(Р|р)(А|а|Е|е|О|о)")
|
||||
@@ -19,7 +20,7 @@ func (r *Router) routeGroupRequest(update *tgbotapi.Update, playerRaw *dbmapping
|
||||
var ebMsg = regexp.MustCompile("(\\s|^|ЗА|За|зА|за)(Е|е|Ё|ё)(Б|б)(\\s|Л|л|А|а|Т|т|У|у|Е|е|Ё|ё|И|и)")
|
||||
var piMsg = regexp.MustCompile("(П|п)(И|и)(З|з)(Д|д)")
|
||||
|
||||
restrictionStatus := c.Chatter.ProtectChat(update, playerRaw, chatRaw)
|
||||
restrictionStatus := c.Chatter.ProtectChat(&update, playerRaw, chatRaw)
|
||||
if restrictionStatus != "protection_passed" {
|
||||
return restrictionStatus
|
||||
}
|
||||
@@ -28,7 +29,7 @@ func (r *Router) routeGroupRequest(update *tgbotapi.Update, playerRaw *dbmapping
|
||||
if update.Message.NewChatMembers != nil {
|
||||
newUsers := *update.Message.NewChatMembers
|
||||
if len(newUsers) > 0 {
|
||||
return c.Welcomer.GroupWelcomeMessage(update)
|
||||
return c.Welcomer.GroupWelcomeMessage(&update)
|
||||
}
|
||||
}
|
||||
// New chat names
|
||||
@@ -47,21 +48,21 @@ func (r *Router) routeGroupRequest(update *tgbotapi.Update, playerRaw *dbmapping
|
||||
if trigger == 4 {
|
||||
switch {
|
||||
case huMsg.MatchString(text):
|
||||
return c.Talkers.MatMessage(update)
|
||||
return c.Talkers.MatMessage(&update)
|
||||
case blMsg.MatchString(text):
|
||||
return c.Talkers.MatMessage(update)
|
||||
return c.Talkers.MatMessage(&update)
|
||||
case ebMsg.MatchString(text):
|
||||
return c.Talkers.MatMessage(update)
|
||||
return c.Talkers.MatMessage(&update)
|
||||
case piMsg.MatchString(text):
|
||||
return c.Talkers.MatMessage(update)
|
||||
return c.Talkers.MatMessage(&update)
|
||||
case durakMsg.MatchString(text):
|
||||
return c.Talkers.DurakMessage(update)
|
||||
return c.Talkers.DurakMessage(&update)
|
||||
}
|
||||
}
|
||||
|
||||
switch {
|
||||
case update.Message.Command() == "long":
|
||||
return c.Talkers.LongMessage(update)
|
||||
return c.Talkers.LongMessage(&update)
|
||||
}
|
||||
|
||||
// Ah, we're still here
|
||||
|
@@ -4,13 +4,14 @@
|
||||
package router
|
||||
|
||||
import (
|
||||
"github.com/go-telegram-bot-api/telegram-bot-api"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/go-telegram-bot-api/telegram-bot-api"
|
||||
)
|
||||
|
||||
// RouteInline routes inline requests to bot
|
||||
func (r *Router) RouteInline(update *tgbotapi.Update) string {
|
||||
func (r *Router) RouteInline(update tgbotapi.Update) string {
|
||||
playerRaw, err := c.DataCache.GetOrCreatePlayerByTelegramID(update.InlineQuery.From.ID)
|
||||
if err != nil {
|
||||
c.Log.Error(err.Error())
|
||||
|
@@ -4,12 +4,13 @@
|
||||
package router
|
||||
|
||||
import (
|
||||
"github.com/go-telegram-bot-api/telegram-bot-api"
|
||||
"regexp"
|
||||
|
||||
"github.com/go-telegram-bot-api/telegram-bot-api"
|
||||
"source.wtfteam.pro/i2_bot/i2_bot/lib/dbmapping"
|
||||
)
|
||||
|
||||
func (r *Router) routePrivateRequest(update *tgbotapi.Update, playerRaw *dbmapping.Player, chatRaw *dbmapping.Chat) string {
|
||||
func (r *Router) routePrivateRequest(update tgbotapi.Update, playerRaw *dbmapping.Player, chatRaw *dbmapping.Chat) string {
|
||||
text := update.Message.Text
|
||||
|
||||
// Commands with regexps
|
||||
@@ -21,7 +22,7 @@ func (r *Router) routePrivateRequest(update *tgbotapi.Update, playerRaw *dbmappi
|
||||
var orderSendMsg = regexp.MustCompile("/send_order(\\d+)\\z")
|
||||
|
||||
if playerRaw.Status == "banned" {
|
||||
return c.Talkers.BanError(update)
|
||||
return c.Talkers.BanError(&update)
|
||||
}
|
||||
|
||||
if update.Message.ForwardFrom != nil {
|
||||
@@ -30,9 +31,9 @@ func (r *Router) routePrivateRequest(update *tgbotapi.Update, playerRaw *dbmappi
|
||||
} else {
|
||||
c.Log.Info("Forward from PokememBro bot! Processing...")
|
||||
if playerRaw.ID != 0 {
|
||||
c.Forwarder.ProcessForward(update, playerRaw)
|
||||
c.Forwarder.ProcessForward(&update, playerRaw)
|
||||
} else {
|
||||
return c.Talkers.AnyMessageUnauthorized(update)
|
||||
return c.Talkers.AnyMessageUnauthorized(&update)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -41,181 +42,174 @@ func (r *Router) routePrivateRequest(update *tgbotapi.Update, playerRaw *dbmappi
|
||||
case update.Message.Command() == "start":
|
||||
if playerRaw.LeagueID != 0 {
|
||||
if playerRaw.Status == "special" {
|
||||
c.Welcomer.PrivateWelcomeMessageSpecial(update, playerRaw)
|
||||
c.Welcomer.PrivateWelcomeMessageSpecial(&update, playerRaw)
|
||||
return "ok"
|
||||
}
|
||||
|
||||
c.Welcomer.PrivateWelcomeMessageAuthorized(update, playerRaw)
|
||||
c.Welcomer.PrivateWelcomeMessageAuthorized(&update, playerRaw)
|
||||
return "ok"
|
||||
}
|
||||
|
||||
c.Welcomer.PrivateWelcomeMessageUnauthorized(update)
|
||||
c.Welcomer.PrivateWelcomeMessageUnauthorized(&update)
|
||||
return "ok"
|
||||
|
||||
case update.Message.Command() == "help":
|
||||
c.Talkers.HelpMessage(update, playerRaw)
|
||||
c.Talkers.HelpMessage(&update, playerRaw)
|
||||
return "ok"
|
||||
case update.Message.Command() == "faq":
|
||||
return c.Talkers.FAQMessage(update)
|
||||
return c.Talkers.FAQMessage(&update)
|
||||
case update.Message.Command() == "academy":
|
||||
c.Talkers.AcademyMessage(update, playerRaw)
|
||||
c.Talkers.AcademyMessage(&update, playerRaw)
|
||||
return "ok"
|
||||
case update.Message.Command() == "bastion":
|
||||
c.Talkers.BastionMessage(update, playerRaw)
|
||||
c.Talkers.BastionMessage(&update, playerRaw)
|
||||
return "ok"
|
||||
|
||||
case pokedexMsg.MatchString(text):
|
||||
c.Pokedexer.PokememesList(update)
|
||||
c.Pokedexer.PokememesList(&update)
|
||||
return "ok"
|
||||
case pokememeInfoMsg.MatchString(text):
|
||||
c.Pokedexer.PokememeInfo(update, playerRaw)
|
||||
c.Pokedexer.PokememeInfo(&update, playerRaw)
|
||||
return "ok"
|
||||
case update.Message.Command() == "delete_pokememe":
|
||||
if c.Users.PlayerBetterThan(playerRaw, "owner") {
|
||||
return c.Pokedexer.DeletePokememe(update)
|
||||
return c.Pokedexer.DeletePokememe(&update)
|
||||
}
|
||||
|
||||
return c.Talkers.AnyMessageUnauthorized(update)
|
||||
return c.Talkers.AnyMessageUnauthorized(&update)
|
||||
case update.Message.Command() == "me":
|
||||
if playerRaw.ID != 0 {
|
||||
c.Users.ProfileMessage(update, playerRaw)
|
||||
c.Users.ProfileMessage(&update, playerRaw)
|
||||
return "ok"
|
||||
}
|
||||
case update.Message.Command() == "top":
|
||||
if playerRaw.ID != 0 {
|
||||
return c.Statistics.TopList(update, playerRaw)
|
||||
return c.Statistics.TopList(&update, playerRaw)
|
||||
}
|
||||
|
||||
return c.Talkers.AnyMessageUnauthorized(update)
|
||||
return c.Talkers.AnyMessageUnauthorized(&update)
|
||||
case update.Message.Command() == "top_my":
|
||||
if playerRaw.ID != 0 {
|
||||
return c.Statistics.TopList(update, playerRaw)
|
||||
return c.Statistics.TopList(&update, playerRaw)
|
||||
}
|
||||
|
||||
return c.Talkers.AnyMessageUnauthorized(update)
|
||||
return c.Talkers.AnyMessageUnauthorized(&update)
|
||||
|
||||
case update.Message.Command() == "best":
|
||||
c.Pokedexer.AdvicePokememesList(update, playerRaw)
|
||||
c.Pokedexer.AdvicePokememesList(&update, playerRaw)
|
||||
return "ok"
|
||||
case update.Message.Command() == "advice":
|
||||
c.Pokedexer.AdvicePokememesList(update, playerRaw)
|
||||
c.Pokedexer.AdvicePokememesList(&update, playerRaw)
|
||||
return "ok"
|
||||
case update.Message.Command() == "best_all":
|
||||
c.Pokedexer.AdvicePokememesList(update, playerRaw)
|
||||
c.Pokedexer.AdvicePokememesList(&update, playerRaw)
|
||||
return "ok"
|
||||
case update.Message.Command() == "advice_all":
|
||||
c.Pokedexer.AdvicePokememesList(update, playerRaw)
|
||||
c.Pokedexer.AdvicePokememesList(&update, playerRaw)
|
||||
return "ok"
|
||||
case update.Message.Command() == "best_nofilter":
|
||||
c.Pokedexer.AdvicePokememesList(update, playerRaw)
|
||||
c.Pokedexer.AdvicePokememesList(&update, playerRaw)
|
||||
return "ok"
|
||||
case update.Message.Command() == "reminders":
|
||||
return c.Reminder.AlarmsList(update, playerRaw)
|
||||
return c.Reminder.AlarmsList(&update, playerRaw)
|
||||
|
||||
case update.Message.Command() == "send_all":
|
||||
if c.Users.PlayerBetterThan(playerRaw, "admin") {
|
||||
c.Broadcaster.AdminBroadcastMessageCompose(update, playerRaw)
|
||||
c.Broadcaster.AdminBroadcastMessageCompose(&update, playerRaw)
|
||||
return "ok"
|
||||
}
|
||||
|
||||
return c.Talkers.AnyMessageUnauthorized(update)
|
||||
return c.Talkers.AnyMessageUnauthorized(&update)
|
||||
case update.Message.Command() == "send_league":
|
||||
if c.Users.PlayerBetterThan(playerRaw, "admin") {
|
||||
c.Broadcaster.AdminBroadcastMessageCompose(update, playerRaw)
|
||||
c.Broadcaster.AdminBroadcastMessageCompose(&update, playerRaw)
|
||||
return "ok"
|
||||
}
|
||||
|
||||
return c.Talkers.AnyMessageUnauthorized(update)
|
||||
return c.Talkers.AnyMessageUnauthorized(&update)
|
||||
case update.Message.Command() == "send_confirm":
|
||||
if c.Users.PlayerBetterThan(playerRaw, "admin") {
|
||||
go c.Broadcaster.AdminBroadcastMessageSend(update, playerRaw)
|
||||
go c.Broadcaster.AdminBroadcastMessageSend(&update, playerRaw)
|
||||
return "ok"
|
||||
}
|
||||
|
||||
return c.Talkers.AnyMessageUnauthorized(update)
|
||||
return c.Talkers.AnyMessageUnauthorized(&update)
|
||||
case update.Message.Command() == "chats":
|
||||
if c.Users.PlayerBetterThan(playerRaw, "admin") {
|
||||
c.Chatter.GroupsList(update)
|
||||
c.Chatter.GroupsList(&update)
|
||||
return "ok"
|
||||
}
|
||||
|
||||
return c.Talkers.AnyMessageUnauthorized(update)
|
||||
return c.Talkers.AnyMessageUnauthorized(&update)
|
||||
case update.Message.Command() == "squads":
|
||||
return c.Squader.SquadsList(update, playerRaw)
|
||||
return c.Squader.SquadsList(&update, playerRaw)
|
||||
|
||||
case update.Message.Command() == "pin":
|
||||
if c.Users.PlayerBetterThan(playerRaw, "admin") {
|
||||
return c.Pinner.PinMessageToSomeChats(update)
|
||||
return c.Pinner.PinMessageToSomeChats(&update)
|
||||
}
|
||||
|
||||
return c.Talkers.AnyMessageUnauthorized(update)
|
||||
return c.Talkers.AnyMessageUnauthorized(&update)
|
||||
case update.Message.Command() == "pin_all":
|
||||
if c.Users.PlayerBetterThan(playerRaw, "admin") {
|
||||
return c.Pinner.PinMessageToAllChats(update)
|
||||
return c.Pinner.PinMessageToAllChats(&update)
|
||||
}
|
||||
|
||||
return c.Talkers.AnyMessageUnauthorized(update)
|
||||
return c.Talkers.AnyMessageUnauthorized(&update)
|
||||
|
||||
case update.Message.Command() == "orders":
|
||||
if c.Users.PlayerBetterThan(playerRaw, "admin") {
|
||||
return c.Orders.ListAllOrders(update)
|
||||
return c.Orders.ListAllOrders(&update)
|
||||
}
|
||||
|
||||
return c.Talkers.AnyMessageUnauthorized(update)
|
||||
return c.Talkers.AnyMessageUnauthorized(&update)
|
||||
case orderSendMsg.MatchString(text):
|
||||
if c.Users.PlayerBetterThan(playerRaw, "admin") {
|
||||
return c.Orders.SendOrder(update)
|
||||
return c.Orders.SendOrder(&update)
|
||||
}
|
||||
|
||||
return c.Talkers.AnyMessageUnauthorized(update)
|
||||
return c.Talkers.AnyMessageUnauthorized(&update)
|
||||
|
||||
case usersMsg.MatchString(text):
|
||||
if c.Users.PlayerBetterThan(playerRaw, "academic") {
|
||||
return c.Users.UsersList(update)
|
||||
return c.Users.UsersList(&update)
|
||||
}
|
||||
|
||||
return c.Talkers.AnyMessageUnauthorized(update)
|
||||
return c.Talkers.AnyMessageUnauthorized(&update)
|
||||
|
||||
case profileMsg.MatchString(text):
|
||||
if c.Users.PlayerBetterThan(playerRaw, "academic") {
|
||||
return c.Users.ForeignProfileMessage(update)
|
||||
return c.Users.ForeignProfileMessage(&update)
|
||||
}
|
||||
|
||||
return c.Talkers.AnyMessageUnauthorized(update)
|
||||
return c.Talkers.AnyMessageUnauthorized(&update)
|
||||
|
||||
case update.Message.Command() == "find_level":
|
||||
if c.Users.PlayerBetterThan(playerRaw, "academic") {
|
||||
return c.Users.FindByLevel(update)
|
||||
return c.Users.FindByLevel(&update)
|
||||
}
|
||||
|
||||
return c.Talkers.AnyMessageUnauthorized(update)
|
||||
return c.Talkers.AnyMessageUnauthorized(&update)
|
||||
case update.Message.Command() == "find_user":
|
||||
if c.Users.PlayerBetterThan(playerRaw, "academic") {
|
||||
return c.Users.FindByName(update)
|
||||
return c.Users.FindByName(&update)
|
||||
}
|
||||
|
||||
return c.Talkers.AnyMessageUnauthorized(update)
|
||||
return c.Talkers.AnyMessageUnauthorized(&update)
|
||||
case update.Message.Command() == "find_top_attack":
|
||||
if c.Users.PlayerBetterThan(playerRaw, "academic") {
|
||||
return c.Users.FindByTopAttack(update)
|
||||
return c.Users.FindByTopAttack(&update)
|
||||
}
|
||||
|
||||
return c.Talkers.AnyMessageUnauthorized(update)
|
||||
return c.Talkers.AnyMessageUnauthorized(&update)
|
||||
|
||||
case update.Message.Command() == "squad_add_user":
|
||||
return c.Squader.AddUserToSquad(update, playerRaw)
|
||||
return c.Squader.AddUserToSquad(&update, playerRaw)
|
||||
case update.Message.Command() == "squad_add_commander":
|
||||
return c.Squader.AddUserToSquad(update, playerRaw)
|
||||
return c.Squader.AddUserToSquad(&update, playerRaw)
|
||||
|
||||
case squadInfoMsg.MatchString(text):
|
||||
return c.Squader.SquadInfo(update, playerRaw)
|
||||
|
||||
case update.Message.Command() == "five_offer":
|
||||
if c.Users.PlayerBetterThan(playerRaw, "admin") {
|
||||
return c.Talkers.FiveOffer(update)
|
||||
}
|
||||
|
||||
return c.Talkers.AnyMessageUnauthorized(update)
|
||||
return c.Squader.SquadInfo(&update, playerRaw)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
// i2_bot – Instinct PokememBro Bot
|
||||
// Copyright (c) 2017 Vladimir "fat0troll" Hodakov
|
||||
// Copyright (c) 2017-2018 Vladimir "fat0troll" Hodakov
|
||||
|
||||
package router
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
)
|
||||
|
||||
// RouteRequest decides, what to do with user input
|
||||
func (r *Router) RouteRequest(update *tgbotapi.Update) string {
|
||||
func (r *Router) RouteRequest(update tgbotapi.Update) string {
|
||||
c.Log.Debugln(update)
|
||||
playerRaw, err := c.DataCache.GetOrCreatePlayerByTelegramID(update.Message.From.ID)
|
||||
if err != nil {
|
||||
@@ -18,7 +18,7 @@ func (r *Router) RouteRequest(update *tgbotapi.Update) string {
|
||||
}
|
||||
|
||||
c.Log.Debug("Getting chat...")
|
||||
chatRaw, err := c.DataCache.GetOrCreateChat(update)
|
||||
chatRaw, err := c.DataCache.GetOrCreateChat(&update)
|
||||
if err != nil {
|
||||
c.Log.Error(err.Error())
|
||||
return "fail"
|
||||
|
@@ -1,5 +1,5 @@
|
||||
// i2_bot – Instinct PokememBro Bot
|
||||
// Copyright (c) 2017 Vladimir "fat0troll" Hodakov
|
||||
// Copyright (c) 2017-2018 Vladimir "fat0troll" Hodakov
|
||||
|
||||
package routerinterface
|
||||
|
||||
@@ -11,7 +11,7 @@ import (
|
||||
type RouterInterface interface {
|
||||
Init()
|
||||
|
||||
RouteCallback(update *tgbotapi.Update) string
|
||||
RouteInline(update *tgbotapi.Update) string
|
||||
RouteRequest(update *tgbotapi.Update) string
|
||||
RouteCallback(update tgbotapi.Update) string
|
||||
RouteInline(update tgbotapi.Update) string
|
||||
RouteRequest(update tgbotapi.Update) string
|
||||
}
|
||||
|
Reference in New Issue
Block a user