public void OnJoinedRoom() { if (JoinedRoom != null) { JoinedRoom.Invoke(this); } }
void InitializeCommandProcessors() { var joinProcessor = new JoinCommandProcessor(); joinProcessor.Joined += (channel, username) => Dispatcher.Invoke(() => JoinedRoom?.Invoke(channel, username)); joinProcessor.Joined += (channel, username) => { // Bot successfully connected to the channel. string lowerName = Connection.Username.ToLowerInvariant(); if (channel == Connection.Channel && username == lowerName) { Dispatcher.Invoke(() => Connected?.Invoke()); } }; var messageProcessor = new MessageCommandProcessor(); messageProcessor.MessageReceived += message => Dispatcher.Invoke(() => MessageReceived?.Invoke(message)); var userStateProcessor = new UserStateCommandProcessor(); userStateProcessor.AcquireUserState += user => Dispatcher.Invoke(() => AcquireUserState?.Invoke(user)); // Attach processors. commandProcessors = new Dictionary <string, ITwitchCommandProcessor>(); commandProcessors.Add("JOIN", joinProcessor); commandProcessors.Add("PRIVMSG", messageProcessor); commandProcessors.Add("USERSTATE", userStateProcessor); commandProcessors.Add("PING", new PingCommandProcessor()); }
private void HandleDataForLoggingIn(string packet) { if (packet.Length > 0) { #if DEBUG Console.WriteLine("Got Data from Server:"); Console.WriteLine(packet); #endif if (packet[0] == '<' && !IsLoggedIn) { if (packet.ToLowerInvariant().Contains("cross-domain")) { _countForServerDisconnections++; if (_countForServerDisconnections == 1) { if (_socket != null) { _socket.BeginDisconnect(true, DisconnectCallback, _socket); } } else if (_countForServerDisconnections >= 2) { var _loc3_ = "tsys"; var loc2 = $"<ver v=\'{Version}\' />"; Send(_loc3_, "verChk", 0, loc2); _waitForReconnect?.Abort(); } } else if (packet.ToLowerInvariant().Contains("apiok")) { WasConnected = true; Connected?.Invoke(); LogMessage?.Invoke("Sending authentication to the server...."); Login(Zone, Username, HashPassword); } else if (packet.Contains("rmList")) { AutoJoin(); } else if (packet.Contains("joinOK")) { IsLoggedIn = true; JoinedRoom?.Invoke(); } } else if (packet.Contains("xt") && packet.Contains("l") && packet.Contains("-1")) { SuccessfullyAuthenticated?.Invoke(); GetRoomList(); } } }
private void HandleDataForLoggingIn(string packet) { if (packet.Length > 0) { #if DEBUG Console.WriteLine("Got Data from Server:"); Console.WriteLine(packet); #endif if (packet[0] == '<' && !IsLoggedIn) { if (packet.ToLowerInvariant().Contains("cross-domain")) { _countForServerDisconnections++; if (_countForServerDisconnections == 1) { if (_socket != null) { _socket.BeginDisconnect(true, DisconnectCallback, _socket); } } else if (_countForServerDisconnections >= 2) { var _loc3_ = "tsys"; var loc2 = $"<ver v=\'{Version}\' />"; Send(_loc3_, "verChk", 0, loc2); } } else if (packet.ToLowerInvariant().Contains("apiok")) { WasConnected = true; Connected?.Invoke(); LogMessage?.Invoke("Sending authentication to the server...."); // Auto loggs in... Login(Zone, Username, HashPassword); _checkForLogin = ExecutionPlan.Delay(TimeoutDelay, delegate { if (!_isLoggedIn) { Close(new Exception("Authentication timedout. This happened because either your account is already logged in a browser or either your account got banned.")); } }); } else if (packet.Contains("rmList")) { AutoJoin(); } else if (packet.Contains("joinOK")) { IsLoggedIn = true; JoinedRoom?.Invoke(); } } else if (packet.Contains("xt") && packet.Contains("l") && packet.Contains("-1")) { _isLoggedIn = true; SuccessfullyAuthenticated?.Invoke(); GetRoomList(); } } }
public void OnClientJoinedRoom(Room _room) { JoinedRoom?.Invoke(_room); }
public void OnJoinedRoom(object sender, PersonModel person, RoomModel room) { JoinedRoom?.Invoke(sender, new RoomAttendanceEventArgs(person, room)); }
public void OnJoinedRoom(string roomName) { JoinedRoom?.Invoke(roomName); }