2017-10-13 03:05:26 +04:00
|
|
|
|
// i2_bot – Instinct PokememBro Bot
|
|
|
|
|
// Copyright (c) 2017 Vladimir "fat0troll" Hodakov
|
|
|
|
|
|
2017-11-21 06:06:32 +04:00
|
|
|
|
package users
|
2017-10-13 03:05:26 +04:00
|
|
|
|
|
|
|
|
|
import (
|
2018-02-13 22:05:32 +04:00
|
|
|
|
"source.wtfteam.pro/i2_bot/i2_bot/lib/dbmapping"
|
2018-01-29 23:50:25 +04:00
|
|
|
|
"github.com/go-telegram-bot-api/telegram-bot-api"
|
2017-10-13 03:05:26 +04:00
|
|
|
|
)
|
|
|
|
|
|
2017-12-20 21:45:32 +04:00
|
|
|
|
// GetPrettyName returns "pretty" name of user (first_name + last name or username)
|
|
|
|
|
func (u *Users) GetPrettyName(user *tgbotapi.User) string {
|
|
|
|
|
userName := user.FirstName
|
|
|
|
|
if user.LastName != "" {
|
|
|
|
|
userName += " " + user.LastName
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if user.UserName != "" {
|
|
|
|
|
userName += " (@" + user.UserName + ")"
|
|
|
|
|
}
|
|
|
|
|
return c.Users.FormatUsername(userName)
|
|
|
|
|
}
|
|
|
|
|
|
2017-10-22 14:04:14 +04:00
|
|
|
|
// PlayerBetterThan return true, if profile is more or equal powerful than
|
|
|
|
|
// provided power level
|
2017-11-21 06:06:32 +04:00
|
|
|
|
func (u *Users) PlayerBetterThan(playerRaw *dbmapping.Player, powerLevel string) bool {
|
2017-10-22 14:04:14 +04:00
|
|
|
|
var isBetter = false
|
|
|
|
|
switch playerRaw.Status {
|
2017-11-26 15:28:55 +04:00
|
|
|
|
case "special":
|
|
|
|
|
isBetter = true
|
2017-10-22 14:04:14 +04:00
|
|
|
|
case "owner":
|
|
|
|
|
isBetter = true
|
|
|
|
|
case "admin":
|
|
|
|
|
if powerLevel != "owner" {
|
|
|
|
|
isBetter = true
|
|
|
|
|
}
|
2017-12-01 10:55:18 +04:00
|
|
|
|
case "academic":
|
|
|
|
|
if powerLevel != "ownder" && powerLevel != "admin" {
|
|
|
|
|
isBetter = true
|
|
|
|
|
}
|
2017-10-22 14:04:14 +04:00
|
|
|
|
default:
|
|
|
|
|
isBetter = false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return isBetter
|
|
|
|
|
}
|