Beispiel #1
0
        public static void PrivateMessage(ChatUser from, Channel channel, string param)
        {
            var indexOf = param.IndexOf(' ', StringComparison.Ordinal);

            var name = param.Substring(0, indexOf);
            var text = param.Substring(indexOf + 1);

            var target = ChatSystem.SearchForUser(from, name);

            if (target == null)
            {
                return;
            }

            if (target.IsIgnored(from))
            {
                // %1 has chosen to ignore you. None of your messages to them will get through.
                from.SendMessage(35, target.Username);
            }
            else if (target.IgnorePrivateMessage)
            {
                from.SendMessage(42, target.Username); // %1 has chosen to not receive private messages at the moment.
            }
            else
            {
                // [%1]: %2
                target.SendMessage(59, from.Mobile, $"{from.GetColorCharacter()}{from.Username}", text);
            }
        }
Beispiel #2
0
		public static void EmoteMessage( ChatUser from, Channel channel, string param )
		{
			if ( channel.CanTalk( from ) )
				channel.SendIgnorableMessage( 58, from, from.GetColorCharacter() + from.Username, param ); // %1 %2
			else
				from.SendMessage( 36 ); // The moderator of this conference has not given you speaking priviledges.
		}
Beispiel #3
0
        public static void PrivateMessage(ChatUser from, Channel channel, string param)
        {
            int indexOf = param.IndexOf(' ');

            string name = param.Substring(0, indexOf);
            string text = param.Substring(indexOf + 1);

            ChatUser target = ChatSystem.SearchForUser(from, name);

            if (target == null)
            {
                return;
            }

            if (target.IsIgnored(from))
            {
                from.SendAsciiMessage(35, target.Username);                   // %1 has chosen to ignore you. None of your messages to them will get through.
            }
            else if (target.IgnorePrivateMessage)
            {
                from.SendAsciiMessage(42, target.Username);                   // %1 has chosen to not receive private messages at the moment.
            }
            else
            {
                target.SendAsciiMessage(59, from.Mobile, from.GetColorCharacter() + from.Username, text);                   // [%1]: %2
            }
        }
Beispiel #4
0
        public void Kick(ChatUser user, ChatUser moderator, bool wasBanned)
        {
            if (!ValidateModerator(moderator) || !ValidateAccess(moderator, user))
            {
                return;
            }

            if (Contains(user))
            {
                if (moderator != null)
                {
                    if (wasBanned)
                    {
                        user.SendMessage(63, moderator.Username);                           // %1, a conference moderator, has banned you from the conference.
                    }
                    else
                    {
                        user.SendMessage(45, moderator.Username);                           // %1, a conference moderator, has kicked you out of the conference.
                    }
                }

                RemoveUser(user);
                ChatSystem.SendCommandTo(user.Mobile, ChatCommand.AddUserToChannel, user.GetColorCharacter() + user.Username);

                SendMessage(44, user.Username);                    // %1 has been kicked out of the conference.
            }

            if (wasBanned && moderator != null)
            {
                moderator.SendMessage(62, user.Username);                   // You are banning %1 from this conference.
            }
        }
Beispiel #5
0
        public void AddModerator(ChatUser user, ChatUser moderator)
        {
            if (!ValidateModerator(moderator))
            {
                return;
            }

            if (IsBanned(user) || IsModerator(user))
            {
                return;
            }

            if (IsVoiced(user))
            {
                m_Voices.Remove(user);
            }

            m_Moderators.Add(user);

            if (moderator != null)
            {
                user.SendMessage(50, moderator.Username);       // %1 has made you a conference moderator.
            }
            SendMessage(48, user, user.Username);               // %1 is now a conference moderator.
            SendCommand(ChatCommand.AddUserToChannel, user.GetColorCharacter() + user.Username);
        }
Beispiel #6
0
        public void SendUsersTo(ChatUser to)
        {
            for (int i = 0; i < m_Users.Count; ++i)
            {
                ChatUser user = (ChatUser)m_Users[i];

                ChatSystem.SendCommandTo(to.Mobile, ChatCommand.AddUserToChannel, user.GetColorCharacter() + user.Username);
            }
        }
Beispiel #7
0
 public static void EmoteMessage(ChatUser from, Channel channel, string param)
 {
     if (channel.CanTalk(from))
     {
         channel.SendIgnorableMessage(58, from, from.GetColorCharacter() + from.Username, param);                   // %1 %2
     }
     else
     {
         from.SendAsciiMessage(36);                   // The moderator of this conference has not given you speaking priviledges.
     }
 }
 public static void ChannelMessage(ChatUser from, Channel channel, string param)
 {
     if (channel.CanTalk(from))
     {
         // %1: %2
         channel.SendIgnorableMessage(57, from, from.GetColorCharacter() + from.Username, param);
     }
     else
     {
         // The moderator of this conference has not given you speaking priviledges.
         from.SendMessage(36);
     }
 }
Beispiel #9
0
        public void RemoveModerator(ChatUser user, ChatUser moderator)
        {
            if (!ValidateModerator(moderator) || !ValidateAccess(moderator, user))
            {
                return;
            }

            if (IsModerator(user))
            {
                m_Moderators.Remove(user);

                if (moderator != null)
                {
                    user.SendMessage(49, moderator.Username);           // %1 has removed you from the list of conference moderators.
                }
                SendMessage(47, user, user.Username);                   // %1 is no longer a conference moderator.
                SendCommand(ChatCommand.AddUserToChannel, user.GetColorCharacter() + user.Username);
            }
        }
Beispiel #10
0
        public void RemoveVoiced(ChatUser user, ChatUser moderator)
        {
            if (!ValidateModerator(moderator) || !ValidateAccess(moderator, user))
            {
                return;
            }

            if (!IsModerator(user) && IsVoiced(user))
            {
                m_Voices.Remove(user);

                if (moderator != null)
                {
                    user.SendMessage(53, moderator.Username);           // %1, a conference moderator, has removed your speaking priviledges for this conference.
                }
                SendMessage(51, user, user.Username);                   // %1 no longer has speaking privileges in this conference.
                SendCommand(ChatCommand.AddUserToChannel, user, user.GetColorCharacter() + user.Username);
            }
        }
Beispiel #11
0
        public void AddVoiced(ChatUser user, ChatUser moderator)
        {
            if (!ValidateModerator(moderator))
            {
                return;
            }

            if (!IsBanned(user) && !IsModerator(user) && !IsVoiced(user))
            {
                m_Voices.Add(user);

                if (moderator != null)
                {
                    user.SendMessage(54, moderator.Username);           // %1, a conference moderator, has granted you speaking priviledges in this conference.
                }
                SendMessage(52, user, user.Username);                   // %1 now has speaking privileges in this conference.
                SendCommand(ChatCommand.AddUserToChannel, user, user.GetColorCharacter() + user.Username);
            }
        }
Beispiel #12
0
        public bool AddUser(ChatUser user, string password)
        {
            if (Contains(user))
            {
                user.SendMessage(46, m_Name);                   // You are already in the conference '%1'.
                return(true);
            }

            else if (IsBanned(user))
            {
                user.SendMessage(64);                   // You have been banned from this conference.
                return(false);
            }

            else if (!ValidatePassword(password))
            {
                user.SendMessage(34);                   // That is not the correct password.
                return(false);
            }

            else
            {
                if (user.CurrentChannel != null)
                {
                    user.CurrentChannel.RemoveUser(user);                       // Remove them from their current channel first
                }
                //ChatSystem.SendCommandTo( user.Mobile, ChatCommand.JoinedChannel, m_Name );
                SendCommand(ChatCommand.AddUserToChannel, user.GetColorCharacter() + user.Username);

                m_Users.Add(user);
                user.CurrentChannel = this;

                if (user.Mobile.AccessLevel >= AccessLevel.GameMaster || (!m_AlwaysAvailable && m_Users.Count == 1))
                {
                    AddModerator(user);
                }

                SendUsersTo(user);

                return(true);
            }
        }
		public void AddUser( ChatUser user )
		{
			if ( Contains( user ) )
			{
				user.SendMessage( 46, m_Name ); // You are already in the conference '%1'.
			}
			else
			{
				if ( user.CurrentChannel != null )
					user.CurrentChannel.RemoveUser( user ); // Remove them from their current channel first

				ChatSystem.SendCommandTo( user.Mobile, ChatCommand.JoinedChannel, m_Name );

				SendCommand( ChatCommand.AddUserToChannel, user.GetColorCharacter() + user.Username );

				m_Users.Add( user );
				user.CurrentChannel = this;

				SendUsersTo( user );

				ChatLogging.LogJoin( this.Name, user.Username );
			}
		}
Beispiel #14
0
        public void AddUser(ChatUser user)
        {
            if (Contains(user))
            {
                user.SendMessage(46, m_Name); // You are already in the conference '%1'.
            }
            else
            {
                if (user.CurrentChannel != null)
                {
                    user.CurrentChannel.RemoveUser(user); // Remove them from their current channel first
                }
                ChatSystem.SendCommandTo(user.Mobile, ChatCommand.JoinedChannel, m_Name);

                SendCommand(ChatCommand.AddUserToChannel, ChatUser.GetColorCharacter() + user.Username);

                m_Users.Add(user);
                user.CurrentChannel = this;

                SendUsersTo(user);

                ChatLogging.LogJoin(Name, user.Username);
            }
        }
		public void RemoveModerator( ChatUser user, ChatUser moderator )
		{
			if ( !ValidateModerator( moderator ) || !ValidateAccess( moderator, user ) )
				return;

			if ( IsModerator( user ) )
			{
				m_Moderators.Remove( user );

				if ( moderator != null )
					user.SendMessage( 49, moderator.Username ); // %1 has removed you from the list of conference moderators.

				SendMessage( 47, user, user.Username ); // %1 is no longer a conference moderator.
				SendCommand( ChatCommand.AddUserToChannel, user.GetColorCharacter() + user.Username );
			}
		}
		public void AddModerator( ChatUser user, ChatUser moderator )
		{
			if ( !ValidateModerator( moderator ) )
				return;

			if ( IsBanned( user ) || IsModerator( user ) )
				return;

			if ( IsVoiced( user ) )
				m_Voices.Remove( user );

			m_Moderators.Add( user );

			if ( moderator != null )
				user.SendMessage( 50, moderator.Username ); // %1 has made you a conference moderator.

			SendMessage( 48, user, user.Username ); // %1 is now a conference moderator.
			SendCommand( ChatCommand.AddUserToChannel, user.GetColorCharacter() + user.Username );
		}
		public void RemoveVoiced( ChatUser user, ChatUser moderator )
		{
			if ( !ValidateModerator( moderator ) || !ValidateAccess( moderator, user ) )
				return;

			if ( !IsModerator( user ) && IsVoiced( user ) )
			{
				m_Voices.Remove( user );

				if ( moderator != null )
					user.SendMessage( 53, moderator.Username ); // %1, a conference moderator, has removed your speaking priviledges for this conference.

				SendMessage( 51, user, user.Username ); // %1 no longer has speaking privileges in this conference.
				SendCommand( ChatCommand.AddUserToChannel, user, user.GetColorCharacter() + user.Username );
			}
		}
		public void AddVoiced( ChatUser user, ChatUser moderator )
		{
			if ( !ValidateModerator( moderator ) )
				return;

			if ( !IsBanned( user ) && !IsModerator( user ) && !IsVoiced( user ) )
			{
				m_Voices.Add( user );

				if ( moderator != null )
					user.SendMessage( 54, moderator.Username ); // %1, a conference moderator, has granted you speaking priviledges in this conference.

				SendMessage( 52, user, user.Username ); // %1 now has speaking privileges in this conference.
				SendCommand( ChatCommand.AddUserToChannel, user, user.GetColorCharacter() + user.Username );
			}
		}
		public void Kick( ChatUser user, ChatUser moderator, bool wasBanned )
		{
			if ( !ValidateModerator( moderator ) || !ValidateAccess( moderator, user ) )
				return;

			if ( Contains( user ) )
			{
				if ( moderator != null )
				{
					if ( wasBanned )
						user.SendMessage( 63, moderator.Username ); // %1, a conference moderator, has banned you from the conference.
					else
						user.SendMessage( 45, moderator.Username ); // %1, a conference moderator, has kicked you out of the conference.
				}

				RemoveUser( user );
				ChatSystem.SendCommandTo( user.Mobile, ChatCommand.AddUserToChannel, user.GetColorCharacter() + user.Username );

				SendMessage( 44, user.Username ) ; // %1 has been kicked out of the conference.
			}

			if ( wasBanned && moderator != null )
				moderator.SendMessage( 62, user.Username ); // You are banning %1 from this conference.
		}
		public bool AddUser( ChatUser user, string password )
		{
			if ( Contains( user ) )
			{
				user.SendMessage( 46, m_Name ); // You are already in the conference '%1'.
				return true;
			}
			else if ( IsBanned( user ) )
			{
				user.SendMessage( 64 ); // You have been banned from this conference.
				return false;
			}
			else if ( !ValidatePassword( password ) )
			{
				user.SendMessage( 34 ); // That is not the correct password.
				return false;
			}
			else
			{
				if ( user.CurrentChannel != null )
					user.CurrentChannel.RemoveUser( user ); // Remove them from their current channel first

				ChatSystem.SendCommandTo( user.Mobile, ChatCommand.JoinedChannel, m_Name );

				SendCommand( ChatCommand.AddUserToChannel, user.GetColorCharacter() + user.Username );

				m_Users.Add( user );
				user.CurrentChannel = this;

				if ( user.Mobile.AccessLevel >= AccessLevel.GameMaster || (!m_AlwaysAvailable && m_Users.Count == 1) )
					AddModerator( user );

				SendUsersTo( user );

				return true;
			}
		}
Beispiel #21
0
 public static void ChannelMessage(ChatUser from, Channel channel, string param)
 {
     channel.SendMessage(57, from, from.GetColorCharacter() + from.Username, String.Format("{{{0}}} {1}", channel.Name, param));                 // %1: %2
     ChatLogging.LogMessage(channel.Name, from.Username, param);
 }
		public static void ChannelMessage( ChatUser from, Channel channel, string param )
		{
			channel.SendMessage( 57, from, from.GetColorCharacter() + from.Username, String.Format( "{{{0}}} {1}", channel.Name, param ) ); // %1: %2
			ChatLogging.LogMessage( channel.Name, from.Username, param );
		}
		public static void PrivateMessage( ChatUser from, Channel channel, string param )
		{	// stop crash by ensuring we don't continue processing if indexOf == -1
			param = param.Trim();
			int indexOf = param.IndexOf( ' ' );
			if (indexOf >= 0)
			{
				string name = param.Substring(0, indexOf);
				string text = param.Substring(indexOf + 1);

				ChatUser target = ChatSystem.SearchForUser(from, name);

				if (target == null)
					return;

				if (target.IsIgnored(from))
					from.SendMessage(35, target.Username); // %1 has chosen to ignore you. None of your messages to them will get through.
				else if (target.IgnorePrivateMessage)
					from.SendMessage(42, target.Username); // %1 has chosen to not receive private messages at the moment.
				else
					target.SendMessage(59, from.Mobile, from.GetColorCharacter() + from.Username, text); // [%1]: %2
			}
		}