示例#1
0
 internal void HandleOnBan(object sender, BanEventArgs e)
 {
     if (OnBan != null)
     {
         OnBan(this, e);
     }
 }
示例#2
0
        void ClientBan(BanEventArgs e)
        {
            var channel = Server.Channel(e.Channel);

            if (channel != null)
            {
                if (_iam == e.Who)
                {
                    channel.Connected = false;
                    _log.Warn("banned from " + channel.Name);
                    FireNotificationAdded(Notification.Types.ChannelBanned, channel);
                }
                else
                {
                    var bot = channel.Bot(e.Who);
                    if (bot != null)
                    {
                        bot.Connected   = false;
                        bot.LastMessage = "banned from " + e.Data.Channel;
                        UpdateBot(bot);
                    }
                }
                UpdateChannel(channel);
            }
        }
示例#3
0
 void ClientOnBan(object sender, BanEventArgs e)
 {
     _events.Enqueue(new IrcEvent {
         Type = IrcEvent.EventType.Ban, Event = e
     });
     _waitHandle.Set();
 }
示例#4
0
        public static void OnBanMessage(object sender, BanEventArgs e)
        {
            System.Console.WriteLine("I was banned by !arrrgh " + e.Data.Nick);
            string a = "That was not nice. no good karma. simply because you dont like me, " +
                       "you dont have to ban me!";

            irc.SendMessage(SendType.Message, e.Data.Nick, a);
        }
示例#5
0
 void OnBan(object sender, BanEventArgs e)
 {
     if (e.Data.RawMessageArray[4].Contains(string.Format(botname + "-bot")))
     {
         msgcolours(msglevel.warning, "WARNING");
         Console.WriteLine("{0} was banned from {1} by {2}.", botname, e.Data.Channel, e.Data.Nick);
         part.channelremove(e.Data.Channel, "BANNED", irc);
     }
     else
     {
         msgcolours(msglevel.channel, "CHANNEL");
         Console.WriteLine("{0} was banned from {1} by {2}.", e.Data.RawMessageArray[4], e.Data.Channel, e.Data.Nick);
     }
 }
示例#6
0
        /// <summary>
        /// Called when a user is banned from the channel
        /// </summary>
        /// <param name="ban">BanEventArgs</param>
        public void CheckBan(BanEventArgs ban)
        {
            bool      WeBanned  = false;
            int       ProtLevel = 0;
            string    UserHost  = ban.Hostmask;
            IrcClient irc       = ban.Data.Irc;

            if (ban.Who != irc.Nickname)
            {
                if (UserHost.StartsWith("*!"))
                {
                    /* Hostmask ban */
                    UserHost = UserHost.Remove(0, 2);

                    IrcUser usr = irc.GetIrcUser(irc.Nickname);
                    if (usr != null)
                    {
                        WeBanned = oplist.IsWildcardMatch(UserHost, usr.Ident + "@" + usr.Host);
                    }

                    ProtLevel = ops.GetProtLevel(UserHost);
                }
                else
                {
                    /* Nickname ban */
                    string TargetNick = UserHost.Substring(0, UserHost.IndexOf('!'));
                    WeBanned = oplist.IsWildcardMatch(TargetNick, irc.Nickname);

                    IrcUser usr = irc.GetIrcUser(TargetNick);
                    if (usr != null)
                    {
                        ProtLevel = ops.GetProtLevel(usr.Ident + "@" + usr.Host);
                    }
                }

                if (WeBanned || ProtLevel >= 200)
                {
                    irc.Unban(ban.Channel, ban.Hostmask);
                    irc.RfcKick(ban.Channel, ban.Who, "wTf dO yA ThiNk Ya DoIn pUnK?!");
                }
            }
        }
示例#7
0
 void mClient_OnBan(object sender, BanEventArgs e)
 {
     AddText(string.Format("*** {0} has been banned", e.Who));
 }
示例#8
0
 void irc_OnBan(object sender, BanEventArgs e)
 {
     pub.CheckBan(e);
 }
示例#9
0
 void onIRCBan(object sender, BanEventArgs e)
 {
     messageToVP(true, "", msgBanned, e.Who, e.Hostmask, e.Channel);
 }
 public void PluginsOnBan(object sender, BanEventArgs e)
 {
     OnBan(this, e);
 }