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

38 lines
1011 B
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 (
"regexp"
2018-05-02 07:25:39 +04:00
"github.com/go-telegram-bot-api/telegram-bot-api"
2018-05-19 12:14:25 +04:00
"github.com/fat0troll/i2_bot/lib/dbmapping"
2017-11-14 03:44:21 +04:00
)
// ProcessForward process forwards for single-user chats
func (f *Forwarder) ProcessForward(update *tgbotapi.Update, playerRaw *dbmapping.Player) string {
text := update.Message.Text
2018-05-02 07:25:39 +04:00
2017-11-14 03:44:21 +04:00
// Forwards
var pokememeMsg = regexp.MustCompile(`Dex(.+)\nGrade(.+)\nName(.+)`)
2018-05-02 07:25:39 +04:00
var profileMsg = regexp.MustCompile(`id(\s)(\d+)\n(Team)(\s)([А-Я]+)\nName(\s)(.*)\nLvl(\s)(\d+)`)
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)
2017-11-14 03:44:21 +04:00
default:
c.Log.Debug(text)
}
return "fail"
}