0

Optimize: move command list slices to package-level

This commit is contained in:
eleksir
2026-03-30 17:31:10 +03:00
parent f72b510b65
commit 47b694c477

View File

@@ -14,6 +14,31 @@ const (
retryDelay = time.Second retryDelay = time.Second
) )
var (
commandsPhrases = []string{
"friday", "пятница", "proverb", "пословица", "пословиться", "fortune", "фортунка", "f", "ф",
"karma", "карма", "rum", "ром", "vodka", "водка", "beer", "пиво", "tequila", "текила", "whisky", "виски",
"absinthe", "абсент", "fuck",
}
commandsPhrasesPrefix = []string{
"karma ", "карма ", "rum ", "ром ", "vodka ", "водка ", "beer ", "пиво ", "tequila ",
"текила ", "whisky ", "виски ", "absinthe ", "абсент ",
}
commandsWebappGo = []string{
"frog", "лягушка", "horse", "лошадь", "лошадка", "rabbit", "bunny", "кролик",
"snail", "улитка", "cat", "кис", "fox", "лис", "buni", "anek", "анек", "анекдот",
"xkcd", "monkeyuser", "tits", "boobs", "tities", "boobies", "сиси", "сисечки", "butt",
"booty", "ass", "попа", "попка", "drink", "праздник", "owl", "сова", "сыч", "w", "п", "погода",
"погодка", "погадка",
}
commandsWebappGoPrefix = []string{
"w ", "п ", "погода ", "погодка ", "погадка ", "weather ",
}
commandsGames = []string{
"dig", "копать", "fish", "fishing", "рыба", "рыбка", "рыбалка",
}
)
// MsgParser горутинка, которая парсит json-чики прилетевшие из REDIS-ки. // MsgParser горутинка, которая парсит json-чики прилетевшие из REDIS-ки.
func MsgParser(ctx context.Context, msg string) { func MsgParser(ctx context.Context, msg string) {
var ( var (
@@ -104,11 +129,7 @@ func MsgParser(ctx context.Context, msg string) {
cmd = j.Message[len(j.Misc.Csign):] cmd = j.Message[len(j.Misc.Csign):]
) )
cmds := []string{"friday", "пятница", "proverb", "пословица", "пословиться", "fortune", "фортунка", "f", "ф", for _, command := range commandsPhrases {
"karma", "карма", "rum", "ром", "vodka", "водка", "beer", "пиво", "tequila", "текила", "whisky", "виски",
"absinthe", "абсент", "fuck"}
for _, command := range cmds {
if cmd == command { if cmd == command {
sendTo = Config.ForwardChannels.Phrases sendTo = Config.ForwardChannels.Phrases
@@ -125,13 +146,7 @@ func MsgParser(ctx context.Context, msg string) {
// Не угадали? акей, как насчёт модуля webapp-go? // Не угадали? акей, как насчёт модуля webapp-go?
if !done { if !done {
cmds = []string{"frog", "лягушка", "horse", "лошадь", "лошадка", "rabbit", "bunny", "кролик", for _, command := range commandsWebappGo {
"snail", "улитка", "cat", "кис", "fox", "лис", "buni", "anek", "анек", "анекдот",
"xkcd", "monkeyuser", "tits", "boobs", "tities", "boobies", "сиси", "сисечки", "butt",
"booty", "ass", "попа", "попка", "drink", "праздник", "owl", "сова", "сыч", "w", "п", "погода",
"погодка", "погадка"}
for _, command := range cmds {
if cmd == command { if cmd == command {
sendTo = Config.ForwardChannels.WebappGo sendTo = Config.ForwardChannels.WebappGo
done = true done = true
@@ -143,9 +158,7 @@ func MsgParser(ctx context.Context, msg string) {
// Не фортануло? может, повезёт с модулем games? // Не фортануло? может, повезёт с модулем games?
if !done { if !done {
cmds = []string{"dig", "копать", "fish", "fishing", "рыба", "рыбка", "рыбалка"} for _, command := range commandsGames {
for _, command := range cmds {
if cmd == command { if cmd == command {
sendTo = Config.ForwardChannels.Games sendTo = Config.ForwardChannels.Games
done = true done = true
@@ -159,9 +172,7 @@ func MsgParser(ctx context.Context, msg string) {
if !done { if !done {
cmdLen := len(cmd) cmdLen := len(cmd)
cmds := []string{"w ", "п ", "погода ", "погодка ", "погадка ", "weather "} for _, command := range commandsWebappGoPrefix {
for _, command := range cmds {
if cmdLen > len(command) && cmd[0:len(command)] == command { if cmdLen > len(command) && cmd[0:len(command)] == command {
sendTo = Config.ForwardChannels.WebappGo sendTo = Config.ForwardChannels.WebappGo
done = true done = true
@@ -175,10 +186,7 @@ func MsgParser(ctx context.Context, msg string) {
if !done { if !done {
cmdLen := len(cmd) cmdLen := len(cmd)
cmds := []string{"karma ", "карма ", "rum ", "ром ", "vodka ", "водка ", "beer ", "пиво ", "tequila ", for _, command := range commandsPhrasesPrefix {
"текила ", "whisky ", "виски ", "absinthe ", "абсент "}
for _, command := range cmds {
if cmdLen > len(command) && cmd[0:len(command)] == command { if cmdLen > len(command) && cmd[0:len(command)] == command {
sendTo = Config.ForwardChannels.Phrases sendTo = Config.ForwardChannels.Phrases