//Hide Quite messages private void OnQuit(QuitArgs argument) { argument.EatData = EatData.EatText; // QUIT messages are server wide not channel specific. // But user Identities are stored on a channel basis. // So iterate through all channels on the server // generating a userkey for them all and checking each individually. foreach (IChannel channel in argument.Server.GetChannels) { var userKey = argument.Server.Network + channel.Name + argument.User.Host; //This key isn't in the data so skip ahead to the next iteration if (!_userDatabase.ContainsKey(userKey)) { continue; } var userData = _userDatabase[userKey]; if (userData.TalkedRecently()) { //The quitting user talked recently in one of the channels we know about, announce they are quitting. argument.EatData = EatData.EatNone; return; } } }
private void OnQuit(QuitArgs argument) { argument.EatData = EatData.EatText; }