private void LeaveChannelCommand(IDictionary<string, object> command) { var channelId = command.Get(Constants.Arguments.Channel); var characterName = command.Get(Constants.Arguments.Character); var channel = ChatModel.CurrentChannels.FirstByIdOrNull(channelId); if (ChatModel.CurrentCharacter.NameEquals(characterName)) { if (channel != null) channels.RemoveChannel(channelId, false, true); return; } if (channel == null) return; var ignoreUpdate = false; if (command.ContainsKey("ignoreUpdate")) ignoreUpdate = (bool) command["ignoreUpdate"]; if (!channel.CharacterManager.SignOff(characterName) || ignoreUpdate) return; var updateArgs = new JoinLeaveEventArgs { Joined = false, TargetChannel = channel.Title, TargetChannelId = channel.Id }; Events.NewCharacterUpdate(CharacterManager.Find(characterName), updateArgs); }
private void OnLeaveChannel(object sender, JoinLeaveEventArgs e) { var channels = e.GetChannelList(); foreach (var channel in channels) { GetChannel(channel).RemoveUser(e.Identity.Nickname); } }
private void LeaveChannelCommand(IDictionary <string, object> command) { var channelId = command.Get(Constants.Arguments.Channel); var characterName = command.Get(Constants.Arguments.Character); var channel = ChatModel.CurrentChannels.FirstByIdOrNull(channelId); if (ChatModel.CurrentCharacter.NameEquals(characterName)) { if (channel == null) { return; } lock (chatStateLocker) { channels.RemoveChannel(channelId, false, true); } return; } if (channel == null) { return; } var ignoreUpdate = false; if (command.ContainsKey("ignoreUpdate")) { ignoreUpdate = (bool)command["ignoreUpdate"]; } lock (chatStateLocker) { if (!channel.CharacterManager.SignOff(characterName) || ignoreUpdate) { return; } } var updateArgs = new JoinLeaveEventArgs { Joined = false, TargetChannel = channel.Title, TargetChannelId = channel.Id }; Events.NewCharacterUpdate(CharacterManager.Find(characterName), updateArgs); }
private void OnLeaveChannel(object sender, JoinLeaveEventArgs e) { var channels = e.GetChannelList(); foreach (var channel in channels) { if (!Channels.ContainsKey(channel) || IsWhitelisted(e.Identity, channel)) { continue; } ProcessQuit(e.Identity, channel, Channels[channel]); } }
private void _ircClient_GotLeaveChannel(object sender, JoinLeaveEventArgs e) { ircUserList.Items.Remove(e.Identity.Nickname); }
private void _ircClient_GotJoinChannel(object sender, JoinLeaveEventArgs e) { if (ircTabControl.SelectedTab.TabIndex != 1) { statusBox.Items.Add("Channel joined"); ircMessageBox.AppendText("Welcome to the chat."); ircTabControl.SelectTab(1); } else ircUserList.Items.Add(Encoding.UTF8.GetString(e.Identity.Nickname)); }
private static void OnLeaveChannel(object sender, JoinLeaveEventArgs joinLeaveEventArgs) { var information = MethodBase.GetCurrentMethod().Name; try { var serverUser = GetServerUser(sender); serverUser.OnLeaveJoinChannels(false, joinLeaveEventArgs); } catch (Exception ex) { Console.WriteLine("{0} exception {1}", information, ex.Message); } }
/// <summary> /// The on leave join channels. /// </summary> /// <param name="isJoin"> /// The is join. /// </param> /// <param name="joinLeaveEventArgs"> /// The join leave event args. /// </param> internal void OnLeaveJoinChannels(bool isJoin, JoinLeaveEventArgs joinLeaveEventArgs) { foreach (IrcString channelName in joinLeaveEventArgs.GetChannelList()) { Channel channel = this.GetChannel(channelName); channel.OnLeaveJoin(isJoin, joinLeaveEventArgs.Identity); } }
protected void RaiseGotLeaveChannel(JoinLeaveEventArgs e) { Dispatch(GotLeaveChannel, e); }
protected virtual void OnGotLeaveChannel(JoinLeaveEventArgs e) { RaiseGotLeaveChannel(e); }