예제 #1
0
        //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;
                }
            }
        }
예제 #2
0
 private void OnQuit(QuitArgs argument)
 {
     argument.EatData = EatData.EatText;
 }