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. }
public static void AddVoice( ChatUser from, Channel channel, string param ) { ChatUser target = ChatSystem.SearchForUser( from, param ); if ( target != null ) channel.AddVoiced( target, from ); }
public static void AddIgnore( ChatUser from, Channel channel, string param ) { ChatUser target = ChatSystem.SearchForUser( from, param ); if ( target == null ) return; from.AddIgnored( target ); }
public static Channel AddChannel( string name ) { Channel channel = FindChannelByName( name ); if ( channel == null ) { channel = new Channel( name ); m_Channels.Add( channel ); } ChatUser.GlobalSendCommand( ChatCommand.AddChannel, name, "0" ); ChatLogging.LogCreateChannel( name ); return channel; }
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.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 }
public static void JoinChannel( ChatUser from, Channel channel, string param ) { string name; string password = null; int start = param.IndexOf( '\"' ); if ( start >= 0 ) { int end = param.IndexOf( '\"', ++start ); if ( end >= 0 ) { name = param.Substring( start, end - start ); password = param.Substring( ++end ); } else { name = param.Substring( start ); } } else { int indexOf = param.IndexOf( ' ' ); if ( indexOf >= 0 ) { name = param.Substring( 0, indexOf++ ); password = param.Substring( indexOf ); } else { name = param; } } CreateAndJoin( from, name ); }
public static void HideCharacterName( ChatUser from, Channel channel, string param ) { from.Anonymous = true; from.SendMessage( 40 ); // You are no longer showing your character name to any players who inquire with the whois command. }
public static Channel AddChannel( string name, string password ) { Channel channel = FindChannelByName( name ); if ( channel == null ) { channel = new Channel( name, password ); m_Channels.Add( channel ); } ChatUser.GlobalSendCommand( ChatCommand.AddChannel, name, "0" ) ; return channel; }
public static void DisableDefaultVoice( ChatUser from, Channel channel, string param ) { channel.VoiceRestricted = true; }
public static void RenameChannel( ChatUser from, Channel channel, string param ) { channel.Name = param; }
public static void RemoveModerator( ChatUser from, Channel channel, string param ) { ChatUser target = ChatSystem.SearchForUser( from, param ); if ( target != null ) channel.RemoveModerator( target, from ); }
public static void JoinNewChannel( ChatUser from, Channel channel, string param ) { if ( (param = param.Trim()).Length == 0 ) return; string name; string password = null; int start = param.IndexOf( '{' ); if ( start >= 0 ) { name = param.Substring( 0, start++ ); int end = param.IndexOf( '}', start ); if ( end >= start ) password = param.Substring( start, end - start ); } else { name = param; } if ( password != null ) password = password.Trim(); if ( password != null && password.Length == 0 ) password = null; Channel.AddChannel( name, password ).AddUser( from, password ); }
public static void RemoveChannel( Channel channel ) { if ( channel == null ) return; if ( m_Channels.Contains( channel ) && channel.m_Users.Count == 0 ) { ChatUser.GlobalSendCommand( ChatCommand.RemoveChannel, channel.Name ); m_Channels.Remove( channel ); ChatLogging.LogRemoveChannel( channel.Name ); } }
public static void CreateChannel( ChatUser from, Channel channel, string param ) { CreateAndJoin( from, param ); }
public static void ToggleCharacterName( ChatUser from, Channel channel, string param ) { from.Anonymous = !from.Anonymous; from.SendMessage( from.Anonymous ? 40 : 39 ); // See above for messages }
public static void LeaveChat( ChatUser from, Channel channel, string param ) { ChatUser.RemoveChatUser( from ); }
public static void JoinChannel( ChatUser from, Channel channel, string param ) { string name; string password = null; int start = param.IndexOf( '\"' ); if ( start >= 0 ) { int end = param.IndexOf( '\"', ++start ); if ( end >= 0 ) { name = param.Substring( start, end - start ); password = param.Substring( ++end ); } else { name = param.Substring( start ); } } else { int indexOf = param.IndexOf( ' ' ); if ( indexOf >= 0 ) { name = param.Substring( 0, indexOf++ ); password = param.Substring( indexOf ); } else { name = param; } } if ( password != null ) password = password.Trim(); if ( password != null && password.Length == 0 ) password = null; Channel joined = Channel.FindChannelByName( name ); if ( joined == null ) from.SendMessage( 33, name ); // There is no conference named '%1'. else joined.AddUser( from, password ); }
public static void ChangeChannelPassword( ChatUser from, Channel channel, string param ) { channel.Password = param; from.SendMessage( 60 ); // The password to the conference has been changed. }
public static void ToggleIgnore( ChatUser from, Channel channel, string param ) { ChatUser target = ChatSystem.SearchForUser( from, param ); if ( target == null ) return; if ( from.IsIgnored( target ) ) from.RemoveIgnored( target ); else from.AddIgnored( target ); }
public static void AllowPrivateMessages( ChatUser from, Channel channel, string param ) { from.IgnorePrivateMessage = false; from.SendMessage( 37 ); // You can now receive private messages. }
public static void ToggleModerator( ChatUser from, Channel channel, string param ) { ChatUser target = ChatSystem.SearchForUser( from, param ); if ( target == null ) return; if ( channel.IsModerator( target ) ) channel.RemoveModerator( target, from ); else channel.AddModerator( target, from ); }
public static void DisallowPrivateMessages( ChatUser from, Channel channel, string param ) { from.IgnorePrivateMessage = true; from.SendMessage( 38 ); /* You will no longer receive private messages. * Those who send you a message will be notified that you are blocking incoming messages. */ }
public static void QueryWhoIs( ChatUser from, Channel channel, string param ) { ChatUser target = ChatSystem.SearchForUser( from, param ); if ( target == null ) return; if ( target.Anonymous ) from.SendMessage( 41, target.Username ); // %1 is remaining anonymous. else from.SendMessage( 43, target.Username, target.Mobile.Name ); // %2 is known in the lands of Britannia as %2. }
public static void TogglePrivateMessages( ChatUser from, Channel channel, string param ) { from.IgnorePrivateMessage = !from.IgnorePrivateMessage; from.SendMessage( from.IgnorePrivateMessage ? 38 : 37 ); // See above for messages }
public static void ToggleDefaultVoice( ChatUser from, Channel channel, string param ) { channel.VoiceRestricted = !channel.VoiceRestricted; }
public static void ShowCharacterName( ChatUser from, Channel channel, string param ) { from.Anonymous = false; from.SendMessage( 39 ); // You are now showing your character name to any players who inquire with the whois command. }
public static void RemoveChannel( Channel channel ) { if ( channel == null ) return; if ( m_Channels.Contains( channel ) && channel.m_Users.Count == 0 ) { ChatUser.GlobalSendCommand( ChatCommand.RemoveChannel, channel.Name ) ; channel.m_Moderators.Clear(); channel.m_Voices.Clear(); m_Channels.Remove( channel ); } }
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 ); }