// i2_bot – Instinct PokememBro Bot // Copyright (c) 2017 Vladimir "fat0troll" Hodakov package statistics import ( "strconv" "github.com/fat0troll/i2_bot/lib/dbmapping" ) // SquadStatictics generates statistics message snippet. Public due to usage in chats list func (s *Statistics) SquadStatictics(squadID int) string { squadMembersWithInformation := []dbmapping.SquadPlayerFull{} squadMembers := []dbmapping.SquadPlayer{} squad, err := c.DataCache.GetSquadByID(squadID) if err != nil { c.Log.Error(err.Error()) return "Невозможно получить информацию о данном отряде. Возможно, он пуст или произошла ошибка." } err = c.Db.Select(&squadMembers, c.Db.Rebind("SELECT * FROM squads_players WHERE squad_id=?"), squadID) if err != nil { c.Log.Error(err.Error()) return "Невозможно получить информацию о данном отряде. Возможно, он пуст или произошла ошибка." } for i := range squadMembers { fullInfo := dbmapping.SquadPlayerFull{} playerRaw, err := c.DataCache.GetPlayerByID(squadMembers[i].PlayerID) if err != nil { c.Log.Error(err.Error()) continue } profileRaw, err := c.DataCache.GetProfileByPlayerID(playerRaw.ID) if err != nil { c.Log.Error(err.Error()) continue } fullInfo.Squad = *squad fullInfo.Player = *playerRaw fullInfo.Profile = *profileRaw squadMembersWithInformation = append(squadMembersWithInformation, fullInfo) } message := "Количество человек в отряде: " + strconv.Itoa(len(squadMembersWithInformation)) + "\n" summAttack := 0 for i := range squadMembersWithInformation { summAttack += squadMembersWithInformation[i].Profile.Power } message += "Суммарная атака: " + strconv.Itoa(summAttack) + " очков.\n" return message }