Now finally us admins can /broadcast on dev.

git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4479 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Ray Greenwell
2006-12-09 01:31:01 +00:00
parent 13e5d3093d
commit ba4987e679
2 changed files with 43 additions and 0 deletions
@@ -0,0 +1,42 @@
package com.threerings.crowd.chat.client {
import com.threerings.util.Name;
import com.threerings.util.ResultAdapter;
import com.threerings.util.ResultListener;
import com.threerings.util.StringUtil;
import com.threerings.crowd.data.BodyObject;
import com.threerings.crowd.util.CrowdContext;
import com.threerings.crowd.chat.data.ChatCodes;
public class BroadcastHandler extends CommandHandler
{
override public function handleCommand (
ctx :CrowdContext, speakSvc :SpeakService,
cmd :String, args :String, history :Array) :String
{
if (StringUtil.isBlank(args)) {
return "m.usage_broadcast";
}
// mogrify and verify length
var chatdir :ChatDirector = ctx.getChatDirector();
args = chatdir.mogrifyChat(args);
var err :String = chatdir.checkLength(args);
if (err != null) {
return err;
}
// do the broadcast
chatdir.requestBroadcast(args);
history[0] = cmd + " ";
return ChatCodes.SUCCESS;
}
override public function checkAccess (user :BodyObject) :Boolean
{
return (null == user.checkAccess(ChatCodes.BROADCAST_ACCESS, null));
}
}
}
@@ -101,6 +101,7 @@ public class ChatDirector extends BasicDirector
registerCommandHandler(msg, "emote", new EmoteHandler());
registerCommandHandler(msg, "think", new ThinkHandler());
registerCommandHandler(msg, "tell", new TellHandler());
registerCommandHandler(msg, "broadcast", new BroadcastHandler());
}
/**