예제 #1
0
 void RaceChannel_UserKicked(object sender, IrcChannelUserEventArgs e)
 {
     if (e.ChannelUser.User.NickName == Client.LocalUser.NickName)
     {
         Kicked?.Invoke(this, null);
     }
 }
예제 #2
0
 public bool Handle(IrcChannelUserEventArgs args)
 {
     Invoke(Method, GetValues(Method.GetParameters(), (info) => {
         return(Process(info, args));
     }));
     return(true);
 }
예제 #3
0
 private void ChannelOnUserLeft(object sender, IrcChannelUserEventArgs e)
 {
     if (e.ChannelUser.User == ircChannelUser.User)
     {
         channel.UserLeft -= ChannelOnUserLeft;
         ircChannelUser    = null;
     }
 }
예제 #4
0
파일: IRC.cs 프로젝트: Techial/TechBot
        private static void IrcClient_Channel_UserJoined(object sender,
                                                         IrcChannelUserEventArgs e)
        {
            var channel = (IrcChannel)sender;

            Log.Logger.OutputToConsole("[{0}] User {1} joined the channel.",
                                       channel.Name, e.ChannelUser.User.NickName);
        }
예제 #5
0
        private void ChannelOnUserJoined(object sender, IrcChannelUserEventArgs e)
        {
            var ircChannelUser = e.ChannelUser;

            if (mutes.ContainsKey(GetKey(ircChannelUser.Channel, ircChannelUser.User)))
            {
                ircChannelUser.DeVoice();
            }
        }
예제 #6
0
        private void Channel_UserLeft(object sender, IrcChannelUserEventArgs e)
        {
            var info = GetChannelInfoFromClientChannel(sender as IrcChannel);

            mediator.Publish(new IRCUsersChangedEvent()
            {
                Id = info.Channel.Id
            });
        }
예제 #7
0
 private void ChannelOnUserJoined(object sender, IrcChannelUserEventArgs e)
 {
     ExecuteOnUiThread(() =>
     {
         var vm = ConnectedUsers.FirstOrDefault(vmu => vmu.User == e.ChannelUser.User);
         if (vm == null)
         {
             ConnectedUsers.Add(GetUserViewModel(e.ChannelUser.User));
         }
     });
 }
예제 #8
0
 private void ChannelOnUserLeft(object sender, IrcChannelUserEventArgs e)
 {
     ExecuteOnUiThread(() =>
     {
         var vm = ConnectedUsers.FirstOrDefault(vmu => vmu.User == e.ChannelUser.User);
         if (vm != null)
         {
             ConnectedUsers.Remove(vm);
         }
     });
 }
예제 #9
0
 private void channelUserJoined(object sender, IrcChannelUserEventArgs e)
 {
     if (this.Settings.AdvertiseJoins)
     {
         this.Messages.Add(new Message(String.Format("{0} [{1}] has joined {2}",
                                                     e.ChannelUser.User.NickName,
                                                     e.ChannelUser.User.HostName,
                                                     e.ChannelUser.Channel.Name),
                                       DateTime.Now.ToString(this.Settings.TimestampFormat),
                                       "=!=",
                                       MessageLevels.Join));
     }
     this.Users.Add(e.ChannelUser);
     this.Users.Sort(IrcChannelUserComparison.Compare);
 }
예제 #10
0
파일: IRC.cs 프로젝트: Techial/TechBot
        private static void IrcClient_Channel_UserLeft(object sender,
                                                       IrcChannelUserEventArgs e)
        {
            var channel = (IrcChannel)sender;

            TechBot.Objects.Channel Channel =
                FindChannel(e.ChannelUser.Channel.Name.Substring(1));
            TechBot.Objects.User tempUser =
                Channel.FindUser(e.ChannelUser.User.NickName);

            Channel.UserLeft(tempUser);

            Log.Logger.OutputToConsole("[{0}] User {1} left the channel.", channel.Name,
                                       e.ChannelUser.User.NickName);
        }
예제 #11
0
        private void channelUserLeft(object sender, IrcChannelUserEventArgs e)
        {
            if (this.Settings.AdvertiseParts)
            {
                this.Messages.Add(new Message(String.Format("{0} [{1}] has left {2} [{3}]",
                                                            e.ChannelUser.User.NickName,
                                                            e.ChannelUser.User.HostName,
                                                            e.ChannelUser.Channel.Name,
                                                            e.Comment),
                                              DateTime.Now.ToString(this.Settings.TimestampFormat),
                                              "=!=",
                                              MessageLevels.Part));
            }

            this.Users.Remove(e.ChannelUser);
        }
예제 #12
0
        private void Channel_UserJoined(object sender, IrcChannelUserEventArgs e)
        {
            var info = GetChannelInfoFromClientChannel(sender as IrcChannel);

            info.Channel.Messages.Add(new Message()
            {
                From = info.Network.Client.ServerName,
                Text = $"User joined: {e.ChannelUser.User.NickName}",
                Type = MessageType.System
            });
            NotifyChannelChange(info.Channel);
            mediator.Publish(new IRCUsersChangedEvent()
            {
                Id = info.Channel.Id
            });
        }
예제 #13
0
 protected object Process(ParameterInfo info, IrcChannelUserEventArgs args)
 {
     if (info.ParameterType == typeof(IrcChannelUserEventArgs))
     {
         return(args);
     }
     else if (info.ParameterType == typeof(string))
     {
         switch (info.Name.ToLower())
         {
         case "comment":
             return(args.Comment);
         }
     }
     return(Process(info, args.ChannelUser));;
 }
예제 #14
0
        void OnChannelLeft(object sender, IrcChannelUserEventArgs e)
        {
            if (Config.IgnoredIRCNicks.Contains(e.ChannelUser.User.NickName))
            {
                return;
            }

            if (String.Equals(e.ChannelUser.Channel.Name, Config.Channel, StringComparison.OrdinalIgnoreCase))
            {
                IrcUsers.Remove(e.ChannelUser.User);
                if (!String.IsNullOrEmpty(Config.IRCLeaveMessageFormat))
                {
                    TShock.Utils.Broadcast(String.Format(Config.IRCLeaveMessageFormat, e.ChannelUser.User.NickName, e.Comment), Color.Yellow);
                }
            }
        }
예제 #15
0
        void OnChannelJoined(object sender, IrcChannelUserEventArgs e)
        {
            if (Config.IgnoredIRCNicks.Contains(e.ChannelUser.User.NickName))
            {
                return;
            }

            if (String.Equals(e.ChannelUser.Channel.Name, Config.Channel, StringComparison.OrdinalIgnoreCase))
            {
                if (!IrcUsers.ContainsKey(e.ChannelUser.User))
                {
                    IrcUsers.Add(e.ChannelUser.User, TShock.Groups.GetGroupByName(TShock.Config.DefaultGuestGroupName));
                }
                e.ChannelUser.User.Quit += OnUserQuit;

                if (!String.IsNullOrEmpty(Config.IRCJoinMessageFormat))
                {
                    TShock.Utils.Broadcast(String.Format(Config.IRCJoinMessageFormat, e.ChannelUser.User.NickName), Color.Yellow);
                }
            }
        }
예제 #16
0
파일: IrcBot.cs 프로젝트: djeebus/MusicHub
 protected abstract void OnChannelUserLeft(IrcChannel channel, IrcChannelUserEventArgs e);
예제 #17
0
 void m_channel_UserJoined(object sender, IrcChannelUserEventArgs e)
 {
     CheckModeratorStatus(e.ChannelUser);
     e.ChannelUser.ModesChanged += ChannelUser_ModesChanged;
 }
예제 #18
0
파일: IrcBot.cs 프로젝트: djeebus/MusicHub
 protected abstract void OnChannelUserJoined(IrcChannel channel, IrcChannelUserEventArgs e);
예제 #19
0
 /// <summary>
 /// Invoked when a user leaves the IRC channel.
 /// Removes the user from the user registration list.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void OnUserLeft(object sender, IrcChannelUserEventArgs e)
 {
     RemoveUserRegistration(e.ChannelUser.User.NickName);
 }
예제 #20
0
 private static void ircClient2_Channel_UserKicked(object sender, IrcChannelUserEventArgs e)
 {
     if (client2ChannelUserKickedEvent != null)
         client2ChannelUserKickedEvent.Set();
 }
예제 #21
0
 protected abstract void OnChannelUserJoined(IrcChannel channel, IrcChannelUserEventArgs e);
예제 #22
0
        private void IrcClient_Channel_UserJoined(object sender, IrcChannelUserEventArgs e)
        {
            var channel = (IrcChannel)sender;

            OnChannelUserLeft(channel, e);
        }
예제 #23
0
 protected virtual void OnChannelUserJoined(IrcChannel channel, IrcChannelUserEventArgs e)
 {
 }
예제 #24
0
 protected virtual void OnChannelUserLeft(IrcChannel channel, IrcChannelUserEventArgs e)
 {
 }
예제 #25
0
파일: IrcBot.cs 프로젝트: matthid/ircdotnet
 protected virtual void OnChannelUserJoined(IrcChannel channel, IrcChannelUserEventArgs e)
 {
 }
예제 #26
0
파일: IrcBot.cs 프로젝트: matthid/ircdotnet
 protected virtual void OnChannelUserLeft(IrcChannel channel, IrcChannelUserEventArgs e)
 {
 }
        private static void ircClient1_Channel_UserJoined(object sender, IrcChannelUserEventArgs e)
        {
            e.ChannelUser.User.Quit += ircClient2_User_Quit;

            if (client1ChannelUserJoinedEvent != null)
                client1ChannelUserJoinedEvent.Set();
        }
예제 #28
0
 private void Channel_UserKicked(object sender, IrcChannelUserEventArgs e)
 {
     //TODO: Map this message for a format file
     RaiseChannelEvent(e.ChannelUser.User.NickName, "was kicked from the channel.");
 }
예제 #29
0
 /// <summary>
 /// Invoked when a user joins the IRC channel.
 /// Calls a nick registration check on the user.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void OnUserJoined(object sender, IrcChannelUserEventArgs e)
 {
     // Perform WhoIs query to determine registration status on user.
     UserRegCheck(e.ChannelUser.User.NickName);
 }
예제 #30
0
파일: IrcBot.cs 프로젝트: djeebus/MusicHub
        private void IrcClient_Channel_UserLeft(object sender, IrcChannelUserEventArgs e)
        {
            var channel = (IrcChannel)sender;

            OnChannelUserLeft(channel, e);
        }
예제 #31
0
 /// <summary>
 /// Called when a user leaves the channel in which our irc client is currenty located.
 /// </summary>
 /// <param name="channel">The channel.</param>
 /// <param name="e">
 /// The <see cref="IrcChannelUserEventArgs"/> instance containing the event data.
 /// </param>
 protected override void OnChannelUserLeft(IrcChannel channel, IrcChannelUserEventArgs e)
 {
     Log.Write(string.Format("[{0}] User {1} left the channel",
                             channel.Name, e.ChannelUser.User.NickName), _logClassType, _logPrefix);
 }
예제 #32
0
        private static void IrcClient_Channel_UserLeft(object sender, IrcChannelUserEventArgs e)
        {
            var channel = (IrcChannel)sender;

            Console.WriteLine("[{0}] User {1} left the channel.", channel.Name, e.ChannelUser.User.NickName);
        }
예제 #33
0
        private static void ircClient1_Channel_UserLeft(object sender, IrcChannelUserEventArgs e)
        {
            e.ChannelUser.User.Quit -= ircClient1_User_Quit;

            if (client1ChannelUserLeftEvent != null)
                client1ChannelUserLeftEvent.Set();
        }
예제 #34
0
 protected abstract void OnChannelUserLeft(IrcChannel channel, IrcChannelUserEventArgs e);
예제 #35
0
 private static void ircClient2_Channel_UserLeft(object sender, IrcChannelUserEventArgs e)
 {
     //
 }
예제 #36
0
 /// <summary>
 /// </summary>
 /// <param name="channel">
 /// </param>
 /// <param name="e">
 /// </param>
 protected override void OnChannelUserJoined(IrcChannel channel, IrcChannelUserEventArgs e)
 {
     this.SendGreeting(channel.Client.LocalUser, e.ChannelUser.User);
 }
예제 #37
0
 protected override void OnChannelUserJoined(IrcChannel channel, IrcChannelUserEventArgs e)
 {
     //
 }
예제 #38
0
 private void Channel_UserLeft(object sender, IrcChannelUserEventArgs e)
 {
     //TODO: Map this message for a format file
     RaiseChannelEvent(e.ChannelUser.User.NickName, "has left the channel.");
 }
예제 #39
0
 /// <summary>
 /// </summary>
 /// <param name="channel">
 /// </param>
 /// <param name="e">
 /// </param>
 protected override void OnChannelUserLeft(IrcChannel channel, IrcChannelUserEventArgs e)
 {
 }