1 20 21 package freecs.commands; 22 import freecs.interfaces.ICommand; 23 import freecs.content.MessageState; 24 import freecs.core.UserManager; 25 26 31 public class CmdPrivateMessage extends AbstractCommand { 32 public final String cmd= "/m"; 33 private static final ICommand selve=new CmdPrivateMessage(); 34 35 private CmdPrivateMessage () { } 36 37 public static ICommand getInstance () { 38 return selve; 39 } 40 41 public boolean execute (MessageState msgState, String param) { 42 if (param.length () < 1) { 43 msgState.msgTemplate = "error.m.noArg"; 44 msgState.sender.sendMessage (msgState.mp); 45 return false; 46 } 47 int pos = param.indexOf (" "); 48 if (pos == -1) { 49 msgState.usercontext = UserManager.mgr.getUserByName (param); 50 if (msgState.usercontext != null) { 51 msgState.msgTemplate = "error.m.noMessage"; 52 msgState.sender.sendMessage (msgState.mp); 53 } else { 54 msgState.param = param; 55 msgState.msgTemplate = "error.user.notOnServer.singular"; 56 msgState.sender.sendMessage(msgState.mp); 57 } 58 return false; 59 } 60 msgState.usercontext = getUser (msgState, param.substring (0, pos)); 61 if (msgState.usercontext == null) 62 return false; 63 if (!msgState.usercontext.usrMayWhisper(msgState.sender)) { 64 msgState.msgTemplate = "error.m.cantHearYou"; 65 msgState.sender.sendMessage(msgState.mp); 66 return false; 67 } 68 msgState.message = param.substring (pos).trim (); 69 sendPrivateMessage (msgState, msgState.usercontext, msgState.message); 70 return true; 71 } 72 } 73 | Popular Tags |