public static bool SendStaff( [NotNull] Player player, [NotNull] string rawMessage ) {
if ( player == null )
throw new ArgumentNullException( "player" );
if ( rawMessage == null )
throw new ArgumentNullException( "rawMessage" );
var recepientList = Server.Players.Can( Permission.ReadStaffChat )
.NotIgnoring( player )
.Union( player );
string formattedMessage = String.Format( "&P(staff){0}&P: {1}",
player.ClassyName,
rawMessage );
var e = new ChatSendingEventArgs( player,
rawMessage,
formattedMessage,
ChatMessageType.Staff,
recepientList );
if ( !SendInternal( e ) )
return false;
Logger.Log( LogType.GlobalChat,
"(staff){0}: {1}", player.Name, rawMessage );
return true;
}