Archived
1
This repository has been archived on 2022-11-04. You can view files and clone it, but cannot push or open issues or pull requests.
i2_bot/lib/forwarder/forwarder.go

39 lines
1.4 KiB
Go
Raw Normal View History

2017-11-14 03:44:21 +04:00
// i2_bot Instinct PokememBro Bot
// Copyright (c) 2017 Vladimir "fat0troll" Hodakov
package forwarder
import (
2018-01-21 23:28:53 +04:00
"git.wtfteam.pro/fat0troll/i2_bot/lib/dbmapping"
"github.com/go-telegram-bot-api/telegram-bot-api"
2017-11-14 03:44:21 +04:00
"regexp"
)
// ProcessForward process forwards for single-user chats
func (f *Forwarder) ProcessForward(update *tgbotapi.Update, playerRaw *dbmapping.Player) string {
text := update.Message.Text
// Forwards
var pokememeMsg = regexp.MustCompile("(Уровень)(.+)(Опыт)(.+)\n(Элементы:)(.+)\n(.+)(💙MP)")
var profileMsg = regexp.MustCompile(`(Онлайн: )(\d+)\n(Турнир через)(.+)\n\n((.*)\n|(.*)\n(.*)\n)(Элементы)(.+)\n(.*)\n\n(.+)(Уровень)(.+)\n`)
var profileWithEffectsMsg = regexp.MustCompile(`(Онлайн: )(\d+)\n(Турнир через)(.+)\n\n((.*)\n|(.*)\n(.*)\n)(Элементы)(.+)\n(.*)\n(Эффекты)(.*)\n\n(.+)(Уровень)(.+)\n`)
2017-11-14 03:44:21 +04:00
switch {
case pokememeMsg.MatchString(text):
c.Log.Debug("Pokememe posted!")
2017-12-04 23:14:41 +04:00
if c.Users.PlayerBetterThan(playerRaw, "admin") {
return c.Pokedexer.ParsePokememe(update, playerRaw)
2017-11-14 03:44:21 +04:00
}
2017-12-04 23:14:41 +04:00
return c.Talkers.AnyMessageUnauthorized(update)
2017-11-14 03:44:21 +04:00
case profileMsg.MatchString(text):
c.Log.Debug("Profile posted!")
return c.Users.ParseProfile(update, playerRaw)
case profileWithEffectsMsg.MatchString(text):
return c.Users.ProfileAddEffectsMessage(update)
2017-11-14 03:44:21 +04:00
default:
c.Log.Debug(text)
}
return "fail"
}