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

36 lines
1.1 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 (
"github.com/go-telegram-bot-api/telegram-bot-api"
"lab.pztrn.name/fat0troll/i2_bot/lib/dbmapping"
"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`)
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)
2017-11-14 03:44:21 +04:00
default:
c.Log.Debug(text)
}
return "fail"
}