示例#1
0
        private void BotDisconnected(SteamBot sender, SteamBotDisconnectReason reason)
        {
            if (reason == SteamBotDisconnectReason.SteamGuard)
            {
                Thread.Sleep(TimeSpan.FromMinutes(2)); // TODO: need a better way of entering steamguard auth
            }
            if (_hasConnected)
            {
                Program.Logger.InfoFormat("Disconnected {0}", reason);
                _hasConnected = false;
            }

            Status = ConnectionStatus.Disconnected;
        }
示例#2
0
        /// <summary>
        /// Disconnect from Steam. Will call OnDisconnected.
        /// </summary>
        public void Disconnect(SteamBotDisconnectReason reason = SteamBotDisconnectReason.Disconnected)
        {
            SteamClient.Disconnect();
            Running = false;

            foreach (var chat in Chats)
            {
                chat.Leave(SteamChatLeaveReason.Disconnected);
            }

            lock (_sync)
                _chats.Clear();

            OnDisconnected?.Invoke(this, reason);
        }