public async Task Disconnect() { #pragma warning disable 4014 FriendHandler.NotifyFriends(this, false); #pragma warning restore 4014 Connected = false; try { await ClientHandler.Remove(this); ActiveTrade?.Kill(); ActiveBattle?.Kill($"{Username} disconnected"); if (QueuedTier != Tiers.Null) { await RandomBattles.RemoveRandom(this); } await WonderTrade.WonderTradeHandler.DeleteFromClient(this); await SendMessage("<DSC>", true); ActualCient.Close(); } catch (Exception e) { Logger.Logger.Log(e.ToString()); } }
public static async Task TheOtherRandomBattleRequest(Client client, CommandHandler command) { if (command.Data.ContainsKey("tier")) { await RandomBattles.AddRandom(client, (Tiers)Enum.Parse(typeof(Tiers), command.Data["tier"], true), client.TierSelected); } else if (command.Data.ContainsKey("cancel")) { await RandomBattles.RemoveRandom(client); } else if (command.Data.ContainsKey("decline")) { await ClientHandler.GetClient(command.Data["user"]).SendMessage( $"<RANBAT declined user={client.Username}>"); await RandomBattles.RemoveRandom(client); client.TierSelected = Tiers.Null; } }