1
1
package main
2
2
3
3
import (
4
- "bufio"
5
4
"fmt"
6
5
"github.com/antchfx/jsonquery"
7
6
"github.com/google/gopacket"
@@ -21,6 +20,7 @@ import (
21
20
var owStartRound int
22
21
var owStartRoundSet bool
23
22
const WarningColor = "\033 [1;33m%s\033 [0m"
23
+ const ErrorColor = "\033 [1;31m%s\033 [0m"
24
24
25
25
var (
26
26
snapshot_len int32 = 1024
@@ -123,13 +123,27 @@ func main() {
123
123
fmt .Printf ("Current Round: %d\n \n " , p .GameState ().TotalRoundsPlayed ()+ 1 )
124
124
for _ , player := range allplayers {
125
125
var profileurl string
126
+ var vacStatus string
127
+ var gameBans int
128
+ var daysSinceLastBan string
126
129
if player .SteamID64 != 0 && steamWebApiKey != "" {
127
130
//https://steamapi.xpaw.me/#ISteamUser/GetPlayerSummaries
128
131
doc , _ := jsonquery .LoadURL ("https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v2/?key=" + steamWebApiKey + "&steamids=" + strconv .FormatUint (player .SteamID64 , 10 ))
129
- //TODO: Implement ban status
130
132
for _ , n := range jsonquery .Find (doc , "response/players/*/profileurl" ) {
131
133
profileurl = n .InnerText ()
132
134
}
135
+ doc , _ = jsonquery .LoadURL ("https://api.steampowered.com/ISteamUser/GetPlayerBans/v1/?key=" + steamWebApiKey + "&steamids=" + strconv .FormatUint (player .SteamID64 , 10 ))
136
+ for _ , n := range jsonquery .Find (doc , "players/*/VACBanned" ) {
137
+ vacStatus = n .InnerText ()
138
+ }
139
+ for _ , n := range jsonquery .Find (doc , "players/*/NumberOfVACBans" ) {
140
+ gameBans , _ = strconv .Atoi (n .InnerText ())
141
+ }
142
+ if vacStatus == "true" || gameBans > 0 {
143
+ for _ , n := range jsonquery .Find (doc , "players/*/DaysSinceLastBan" ) {
144
+ daysSinceLastBan = n .InnerText ()
145
+ }
146
+ }
133
147
}
134
148
var team string
135
149
if player .Team == 2 {
@@ -144,12 +158,25 @@ func main() {
144
158
}else {
145
159
botName = ""
146
160
}
161
+
162
+ var banPrint string
163
+ if vacStatus == "true" {
164
+ banPrint = "VAC "
165
+ }
166
+ if gameBans > 0 {
167
+ banPrint += "GameBans: " + strconv .Itoa (gameBans )
168
+ }
169
+
147
170
fmt .Printf ("Team: %s ,Player: %s, SteamID64: %d, Profile: %s\n " , team , botName + player .Name , player .SteamID64 , profileurl )
171
+ if banPrint != "" {
172
+ fmt .Printf (ErrorColor , banPrint + " Days since last ban: " + daysSinceLastBan + "\n " )
173
+ }
148
174
fmt .Printf ("K: %d, A: %d, D: %d\n \n " , player .Kills (), player .Assists (), player .Deaths ())
149
175
}
150
- fmt .Print ("Advance to next round? [Press ENTER]" )
151
- reader := bufio .NewReader (os .Stdin )
152
- _ , _ = reader .ReadString ('\n' )
176
+ fmt .Print ("Advance to next round? [Press ENTER]" )
177
+ fmt .Scanln ()
178
+ //reader := bufio.NewReader(os.Stdin)
179
+ //_, _ = reader.ReadString('\n')
153
180
}
154
181
})
155
182
p .RegisterEventHandler (func (e events.MatchStart ) {
@@ -158,6 +185,7 @@ func main() {
158
185
159
186
fmt .Println ("In which round did your Overwatch case start?" )
160
187
_ , _ = fmt .Scanf ("%d" , & owStartRound )
188
+ fmt .Scanln ()
161
189
owStartRoundSet = true
162
190
})
163
191
0 commit comments