Esempio n. 1
0
        /// <summary>
        /// Callback for Twitch registered event
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="eventArgs"></param>
        private void TwitchOnRegistered(object sender, EventArgs eventArgs)
        {
            _log.Debug("Registered successfully.");

            RegisterTimeout?.Dispose();
            RegisterTimeout = null;

            _stateMachine.Fire(Trigger.SignedIn);

            Client.LocalUser.NoticeReceived  += OnNoticeReceived;
            Client.LocalUser.MessageReceived += (o, args) => OnMessageReceived(o, args);
            Client.LocalUser.MessageReceived += (o, args) => MessageReceived?.Invoke(this, args);
            Client.LocalUser.JoinedChannel   += OnJoinedChannel;
            Client.LocalUser.LeftChannel     += OnLeftChannel;

            _log.Debug("Initializing twitch membership capability...");
            Client.SendRawMessage("CAP REQ :twitch.tv/membership");
            Client.SendRawMessage("CAP REQ :twitch.tv/commands");

            if (!WhisperClient)
            {
                Client.SendRawMessage("JOIN #quantumdota");
            }
            else
            {
                JoinGroupChannel();
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Shutdown / release it.
        /// </summary>
        private void ReleaseTwitchConnection()
        {
            RegisterTimeout?.Dispose();
            RegisterTimeout = null;

            Client?.Disconnect();
            Client?.Dispose();
            Client = null;

            _joinedChannels.Clear();
        }