2019-06-06 15:58:08 +00:00
|
|
|
package ren.taske.nativebot.bot.command;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
|
|
|
import cc.moecraft.icq.event.events.message.EventMessage;
|
|
|
|
import cc.moecraft.icq.user.User;
|
2019-06-26 15:32:23 +00:00
|
|
|
import cn.glycol.t18n.I18n;
|
2019-06-06 15:58:08 +00:00
|
|
|
import ren.taske.data.util.ParseUtil;
|
2019-06-07 06:41:11 +00:00
|
|
|
import ren.taske.nativebot.bot.permission.PermissionManager;
|
2019-06-06 15:58:08 +00:00
|
|
|
import ren.taske.nativebot.commons.Reference;
|
|
|
|
import ren.taske.nativebot.core.profile.UserTencent;
|
|
|
|
import ren.taske.nativebot.util.MessageUtils;
|
|
|
|
|
|
|
|
public class CommandPermission extends CommandBase {
|
|
|
|
|
|
|
|
public CommandPermission() {
|
|
|
|
super("perm", Reference.NODE_OP, "permission");
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public String execute(EventMessage evt, User user, long userid, String command, ArrayList<String> args) {
|
|
|
|
String message = "";
|
|
|
|
if(args.size() < 2) {
|
2019-06-26 15:32:23 +00:00
|
|
|
message = I18n.format("command.common.argument");
|
2019-06-06 15:58:08 +00:00
|
|
|
}
|
|
|
|
if(args.size() >= 2) {
|
|
|
|
String username = args.get(0);
|
|
|
|
String nodename = args.get(1);
|
|
|
|
|
2019-06-26 15:32:23 +00:00
|
|
|
Long uid;
|
|
|
|
|
|
|
|
if(username.equals("*")) {
|
|
|
|
uid = userid;
|
|
|
|
} else {
|
|
|
|
uid = ParseUtil.parseLong(username);
|
|
|
|
}
|
2019-06-06 15:58:08 +00:00
|
|
|
|
|
|
|
if(uid != null) {
|
|
|
|
|
2019-06-26 15:32:23 +00:00
|
|
|
UserTencent u = UserTencent.of(uid);
|
|
|
|
boolean exists = PermissionManager.has(nodename);
|
2019-06-06 15:58:08 +00:00
|
|
|
|
2019-06-26 15:32:23 +00:00
|
|
|
if(exists) {
|
|
|
|
if(args.size() == 2) {
|
|
|
|
message = I18n.format("command.permission.query", u.getUserId(), nodename, u.hasPermission(nodename));
|
2019-06-07 06:41:11 +00:00
|
|
|
}
|
2019-06-06 15:58:08 +00:00
|
|
|
|
2019-06-26 15:32:23 +00:00
|
|
|
if(args.size() > 2) {
|
|
|
|
boolean value = ParseUtil.parseBoolean(args.get(2));
|
|
|
|
u.setPermission(nodename, value);
|
|
|
|
message = I18n.format("command.permission.set", u.getUserId(), nodename, value);
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
message = I18n.format("command.permission.unregistered");
|
2019-06-06 15:58:08 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
2019-06-26 15:32:23 +00:00
|
|
|
message = I18n.format("command.common.exception.math");
|
2019-06-06 15:58:08 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
return MessageUtils.retAt(userid, message);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|