private static bool TrySetSteamID(string input, out SteamID steamID) { steamID = new SteamID(); if (steamID.SetFromString(input, EUniverse.Public) || steamID.SetFromSteam3String(input)) { return(true); } ulong numericInput; if (ulong.TryParse(input, out numericInput)) { steamID.SetFromUInt64(numericInput); return(true); } return(false); }
private async void Button_Click(object sender, RoutedEventArgs e) { var steam = new SteamID(); string url; if (!SteamID.CommunityURLRegex.IsMatch(TxtSteam.Text)) { if (!steam.SetFromString(TxtSteam.Text) && !steam.SetFromSteam3String(TxtSteam.Text)) { ToastManager.ShowToastAsync("Could not add cheater", $"Steam ID '{TxtSteam.Text}' is not valid.", Notifications.Wpf.Core.NotificationType.Warning); return; } url = $"https://steamcommunity.com/profiles/{steam.ConvertToUInt64()}/?xml=1"; } else { url = $"{SteamID.CommunityURLRegex.Match(TxtSteam.Text).Value}/?xml=1"; } var data = await Steam.GetProfileDataAsync(url); int.TryParse(TxtThreat.Text, out int threat); Cheater cheater = new() { AccountID = Convert.ToUInt64(data.steamID64), CheatList = TxtCheats.Text, LastKnownName = data.steamID, Submitter = TxtSubmitter.Text, ThreatLevel = threat, Notes = TxtNotes.Text }; Cheaters.Add(cheater); ToastManager.ShowToastAsync("Successfully added cheater", $"Hacker '{data.steamID}' has been added to the list.", Notifications.Wpf.Core.NotificationType.Success); }