diff --git a/csgo/demo_parser.go b/csgo/demo_parser.go index 95baf11..14e2756 100644 --- a/csgo/demo_parser.go +++ b/csgo/demo_parser.go @@ -262,18 +262,21 @@ func (dp *DemoParser) parseWorker() { // onChatMessage demoParser.RegisterEventHandler(func(e events.ChatMessage) { - gs := demoParser.GameState() - tAttacker, err := dp.MatchPlayerBySteamID(tStats, e.Sender.SteamID64) - if err != nil { - log.Warningf("[DP] Unable to get player for id %d: %v", e.Sender.SteamID64, err) - return - } + if e.Sender != nil { - tAttacker.Edges.Messages = append(tAttacker.Edges.Messages, &ent.Messages{ - Message: e.Text, - AllChat: e.IsChatAll, - Tick: gs.IngameTick(), - }) + gs := demoParser.GameState() + tAttacker, err := dp.MatchPlayerBySteamID(tStats, e.Sender.SteamID64) + if err != nil { + log.Warningf("[DP] Unable to get player for id %d: %v", e.Sender.SteamID64, err) + return + } + + tAttacker.Edges.Messages = append(tAttacker.Edges.Messages, &ent.Messages{ + Message: e.Text, + AllChat: e.IsChatAll, + Tick: gs.IngameTick(), + }) + } }) // onPlayerSpotted