void ClientNames(NamesEventArgs e) { var channel = Server.Channel(e.Channel); if (channel != null) { foreach (string user in e.UserList) { var bot = channel.Bot(Regex.Replace(user, "^(@|!|%|\\+){1}", "")); if (bot != null) { bot.Connected = true; bot.LastMessage = "joined channel " + channel.Name; if (bot.State != Bot.States.Active) { bot.State = Bot.States.Idle; } bot.Commit(); OnBotJoined(this, new EventArgs <Bot>(bot)); } else { OnUserJoined(this, new EventArgs <Model.Domain.Channel, string>(channel, user)); } } UpdateChannel(channel); } }
private void Listener_OnNames(object sender, NamesEventArgs e) { OnNames?.Invoke(this, new NamesEventArgs(e.Channel, e.Nicks, e.Last)); Channel chan = _channels[e.Channel]; if (!_recievingNames) { _recievingNames = true; } foreach (string nick in e.Nicks) { _tempNames.Add(User.FromNames(nick)); } Trace.WriteLine("Added chunk of " + e.Nicks.Length + " names", "Names"); if (e.Last) { chan.LoadNewNames(_tempNames); _recievingNames = false; _tempNames.Clear(); } }
internal void HandleOnNames(object sender, NamesEventArgs e) { if (OnNames != null) { OnNames(this, e); } }
private void NamesHandler(object sender, NamesEventArgs e) { lock (seenData) { foreach (string name in e.UserList) { var result = seenData.SeenEntries.Where(s => s.Nick == name).FirstOrDefault(); if (result != null) { result.LastSeenTime = DateTime.Now; result.LastAction = "(ON)"; result.OnStatus = true; } else { var seenEntry = new SeenEntry(); seenData.SeenEntries.InsertOnSubmit(seenEntry); seenEntry.Nick = name; seenEntry.LastSeenTime = DateTime.Now; seenEntry.LastAction = "(ON)"; seenEntry.LastMessage = "<no message yet>"; seenEntry.TimesSeen = 0; seenEntry.OnStatus = true; } } SaveDb(); } }
void ClientOnNames(object sender, NamesEventArgs e) { _events.Enqueue(new IrcEvent { Type = IrcEvent.EventType.Names, Event = e }); _waitHandle.Set(); }
void OnNames(object sender, NamesEventArgs e) { if (ChannelUsers.ContainsKey(e.Data.Channel.ToLower())) { ChannelUsers.Remove(e.Data.Channel.ToLower()); } var userlist = new List <string>(); foreach (string s in e.UserList) { if (!String.IsNullOrEmpty(s.Trim())) { userlist.Add(s); } } for (int i = 0; i < userlist.Count; i++) { if (!String.IsNullOrEmpty(userlist[i])) { if (!Player.IsValidIRCNick(userlist[i])) { userlist[i] = Player.ValidIRCNick(userlist[i]); } } } ChannelUsers.Add(e.Data.Channel.ToLower(), userlist); }
private void irc_OnNames(object sender, NamesEventArgs e) { // Sort array and remove empty entries var users = from u in e.UserList orderby u where u.Trim().Length > 0 select u.Trim(); // Add users var action = new Action(() => { // Remember the previously selected username // TODO: Make these colors a resource var selected = this.lstChatUsers.SelectedItem as TextBlock; var adminBrush = new SolidColorBrush(Color.FromRgb(0xFF, 0x00, 0x00)); var userBrush = new SolidColorBrush(Color.FromRgb(0x3E, 0x65, 0x96)); int i = 0; bool admin; // Add usernames this.lstChatUsers.Items.Clear(); foreach (var u in users) { admin = u.StartsWith("@"); this.lstChatUsers.Items.Add(new TextBlock() { Text = !admin ? u : u.Remove(0, 1), FontWeight = !admin ? FontWeights.Normal : FontWeights.Bold, Foreground = !admin ? userBrush : adminBrush }); } // Select username if (selected == null || this.lstChatUsers.Items.Count == 0) { return; } foreach (TextBlock item in this.lstChatUsers.Items) { if (item.Text == selected.Text) { this.lstChatUsers.SelectedIndex = i; return; } i++; } this.lstChatUsers.SelectedIndex = 0; //if (this.lstChatUsers.Items.Contains(selected)) this.lstChatUsers.SelectedItem = selected; //else this.lstChatUsers.SelectedIndex = 0; }); // Do the magic this.lstChatUsers.Dispatcher.Invoke(action, DispatcherPriority.Normal); }
private static void OnNames(object sender, NamesEventArgs e) { Users.TotalUsers += e.UserList.Count(); /*uint user_count = 0; * foreach (string user in new List<string>(e.UserList)) * { * CreateUser(user, false); * user_count++; * } * * Console.WriteLine("We joined, and there are already " + user_count + " users!");*/ }
void ircClient_OnNames(object sender, NamesEventArgs e) { Channel Chan = m_IRCClient.GetChannel(m_IRCChannel); // join the channel m_UserTree.Nodes.Clear(); foreach (DictionaryEntry de in Chan.Users) { ChannelUser channeluser = (ChannelUser)de.Value; // Don't show us on the list if (channeluser.Nick != m_Nick) { TreeNode Tree = new TreeNode(); Tree.Text = channeluser.Nick; m_UserTree.Nodes.Add(Tree); } } BeginInvoke(new ActionDelegateNoParams(UpdateUserList), null); }
public void ProcessNamesReply_IrcMessage() { IrcMessage msg = new IrcMessage(); msg.Command = "PRIVMSG"; msg.From = "hitchcock.freenode.net"; msg.Message = "Ortzinator OrtzIRC @ChanServ"; msg.Target = "#ortzirc"; msg.Tokens = _names.Split(new[] { ' ' }); msg.ReplyCode = ReplyCode.RPL_NAMREPLY; NamesEventArgs givenArgs = null; _listener.OnNames += delegate(object sender, NamesEventArgs args) { givenArgs = args; }; _listener.ProcessNamesReply(msg); Assert.AreEqual(new[] { "Ortzinator", "OrtzIRC", "@ChanServ" }, givenArgs.Nicks); Assert.AreEqual("#ortzirc", givenArgs.Channel); Assert.AreEqual(false, givenArgs.Last); }
/// <summary> /// Event handler for the list of names being received. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void client_OnNames(object sender, NamesEventArgs e) { //------------------------------------------------------------------ // Add all the users. //------------------------------------------------------------------ this.namesListReceived = true; foreach (string user in e.UserList) { this.AddUser(user); } //------------------------------------------------------------------ // Raise the event that the names list has now been loaded. //------------------------------------------------------------------ if (this.OnNameListLoaded != null) { this.OnNameListLoaded(this, EventArgs.Empty); } this.messenger.SendMessage("Names list received.", IrcMessageType.Custom); }
/// <summary> /// Handles the IRC OnNames event. /// </summary> /// <param name="sender">Sender.</param> /// <param name="e">EventArgs.</param> void OnNames(object sender, NamesEventArgs e) { SetStatus("Connected!"); if (OpList != null) { OpList.Clear(); } else { if (OpList == null) { OpList = new Dictionary <string, string>(); } } foreach (string user in e.UserList) { if (user.StartsWith("@") || user.StartsWith("&") || user.StartsWith("~")) { OpList.Add(user.Substring(1), ""); } } }
void client_OnNames(object sender, NamesEventArgs e) { _window.AddUsers(e.UserList, e.Channel); }
public NameListEventArgs([NotNull] NamesEventArgs namesArgs) { NamesArgs = namesArgs; RawMessage = new RawMessageEventArgs(NamesArgs.Data); }
protected virtual void HandleNames(object sender, NamesEventArgs e) { OnNamesInChannel(new NameListEventArgs(e)); }
void OnNames(object sender, NamesEventArgs e) { names = e.UserList; }
void mClient_OnNames(object sender, NamesEventArgs e) { UpdateNames(); }
public void PluginsOnNames(object sender, NamesEventArgs e) { OnNames(this, e); }