public async Task SetStats(string name) { try { using (var db = new NinjaBotEntities()) { string channel = Context.Channel.Name; string userName = Context.User.Username; StringBuilder sb = new StringBuilder(); string rlUserName = name; if (Uri.IsWellFormedUriString(rlUserName, UriKind.RelativeOrAbsolute)) { rlUserName = rlUserName.TrimEnd('/'); rlUserName = rlUserName.Substring(rlUserName.LastIndexOf('/') + 1); } SteamModel.Player fromSteam = _steam.GetSteamPlayerInfo(rlUserName); if (string.IsNullOrEmpty(fromSteam.steamid)) { sb.AppendLine($"{Context.User.Mention}, Please specify a steam username/full profile URL to link with your Discord username!"); await _cc.Reply(Context, sb.ToString()); return; } try { var addUser = new RlStat(); var rlUser = db.RlStats.Where(r => r.DiscordUserName == userName).FirstOrDefault(); if (rlUser == null) { addUser.DiscordUserName = userName; addUser.SteamID = long.Parse(fromSteam.steamid); addUser.DiscordUserID = (long)Context.User.Id; db.RlStats.Add(addUser); } else { rlUser.SteamID = long.Parse(fromSteam.steamid); rlUser.DiscordUserID = (long)Context.User.Id; //rl.setUserName(userName, fromSteam.steamid); } db.SaveChanges(); sb.AppendLine($"{Context.User.Mention}, you've associated [**{fromSteam.personaname}**] with your Discord name!"); await _cc.Reply(Context, sb.ToString()); } catch (Exception ex) { Console.WriteLine($"RL Stats: Error setting name -> {ex.Message}"); sb.AppendLine($"{Context.User.Mention}, something went wrong, sorry :("); await _cc.Reply(Context, sb.ToString()); } } } catch (Exception ex) { Console.WriteLine($"{ex.Message}"); } }