移植之前版本所有功能
This commit is contained in:
180
src/main/java/com/yutou/qqbot/MessageEvent/AdminMessage.java
Normal file
180
src/main/java/com/yutou/qqbot/MessageEvent/AdminMessage.java
Normal file
@@ -0,0 +1,180 @@
|
||||
package com.yutou.qqbot.MessageEvent;
|
||||
|
||||
import com.yutou.qqbot.QQBotManager;
|
||||
import com.yutou.qqbot.QQNumberManager;
|
||||
import com.yutou.qqbot.models.Model;
|
||||
import com.yutou.qqbot.utlis.StringUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class AdminMessage extends Message {
|
||||
|
||||
public static class QQCommands {
|
||||
private static final String POWER_ADD = "!新增权限";
|
||||
private static final String POWER_SHOW = "!查看权限";
|
||||
private static final String POWER_DEL = "!删除权限";
|
||||
private static final String MODEL_ADD = "!新增模块";
|
||||
private static final String MODEL_SHOW = "!查看模块";
|
||||
private static final String MODEL_DEL = "!删除模块";
|
||||
}
|
||||
|
||||
public AdminMessage(Long qq, String msg) {
|
||||
sendQQ = qq;
|
||||
String msgSrc = msg;
|
||||
String[] msgGroup = msg.replace("!", "!").split(" ");
|
||||
|
||||
System.err.println(Model.classList.size());
|
||||
for (Class<?> aClass : Model.classList) {
|
||||
System.err.println(aClass.getName());
|
||||
}
|
||||
String[] commands;
|
||||
switch (msgGroup[0]) {
|
||||
case QQCommands.POWER_ADD -> {
|
||||
if (msgGroup.length == 1) {
|
||||
StringBuilder builder = Model.getCommands(Model.QQGroupCommands.class);
|
||||
builder.append("\n");
|
||||
builder.append(Model.getCommands(Model.QQFromCommands.class));
|
||||
QQBotManager.getInstance().sendMessage(qq, "使用方法:" + QQCommands.POWER_ADD + " [qqnumber] 权限" + "\n" + "可设置以下权限,用&分割");
|
||||
QQBotManager.getInstance().sendMessage(qq, builder.toString());
|
||||
} else {
|
||||
if (msgGroup.length <= 2) {
|
||||
addPower(msgGroup[1], null);
|
||||
} else {
|
||||
addPower(msgGroup[1], msgGroup[2]);
|
||||
}
|
||||
}
|
||||
}
|
||||
case QQCommands.POWER_SHOW -> {
|
||||
if (msgGroup.length == 1) {
|
||||
QQBotManager.getInstance().sendMessage(qq, "使用方法:" + QQCommands.POWER_SHOW + " [qqnumber]");
|
||||
} else {
|
||||
List<String> list = QQNumberManager.getManager().getPower(Long.parseLong(msgGroup[1]));
|
||||
StringBuilder builder = new StringBuilder();
|
||||
for (String power : list) {
|
||||
builder.append(power).append("\n");
|
||||
}
|
||||
QQBotManager.getInstance().sendMessage(qq, Long.parseLong(msgGroup[1]) + " 拥有以下权限:" + builder);
|
||||
}
|
||||
}
|
||||
case QQCommands.POWER_DEL -> {
|
||||
if (msgGroup.length == 1) {
|
||||
QQBotManager.getInstance().sendMessage(qq, "使用方法:" + QQCommands.POWER_DEL + " [qqnumber] 权限 用&分割");
|
||||
} else {
|
||||
if (msgGroup.length <= 2) {
|
||||
delPower(msgGroup[1], null);
|
||||
} else {
|
||||
delPower(msgGroup[1], msgGroup[2]);
|
||||
}
|
||||
}
|
||||
}
|
||||
case QQCommands.MODEL_ADD -> {
|
||||
if (msgGroup.length == 1) {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
for (Class<?> aClass : Model.classList) {
|
||||
builder.append(aClass.getName()).append("\n");
|
||||
}
|
||||
QQBotManager.getInstance().sendMessage(qq, "使用方法:" + QQCommands.MODEL_ADD + " [qqnumber] 模块" + "\n" + "可设置以下模块,用&分割");
|
||||
QQBotManager.getInstance().sendMessage(qq, builder.toString());
|
||||
} else {
|
||||
if (msgGroup.length <= 2) {
|
||||
addModel(msgGroup[1], null);
|
||||
} else {
|
||||
addModel(msgGroup[1], msgGroup[2]);
|
||||
}
|
||||
}
|
||||
}
|
||||
case QQCommands.MODEL_SHOW -> {
|
||||
if (msgGroup.length == 1) {
|
||||
QQBotManager.getInstance().sendMessage(qq, "使用方法:" + QQCommands.MODEL_SHOW + " [qqnumber]");
|
||||
} else {
|
||||
List<String> list = QQNumberManager.getManager().getUseModel(Long.parseLong(msgGroup[1]));
|
||||
StringBuilder builder = new StringBuilder();
|
||||
for (String power : list) {
|
||||
builder.append(power).append("\n");
|
||||
}
|
||||
QQBotManager.getInstance().sendMessage(qq, Long.parseLong(msgGroup[1]) + " 拥有以下模块:" + builder);
|
||||
}
|
||||
}
|
||||
case QQCommands.MODEL_DEL -> {
|
||||
if (msgGroup.length == 1) {
|
||||
QQBotManager.getInstance().sendMessage(qq, "使用方法:" + QQCommands.MODEL_DEL + " [qqnumber] 模块 用&分割");
|
||||
} else {
|
||||
if (msgGroup.length <= 2) {
|
||||
delModel(msgGroup[1], null);
|
||||
} else {
|
||||
delModel(msgGroup[1], msgGroup[2]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void addPower(String qq, String msg) {
|
||||
boolean flag = false;
|
||||
if (msg == null) {
|
||||
StringBuilder builder = Model.getCommands(Model.QQGroupCommands.class);
|
||||
builder.append("\n");
|
||||
builder.append(Model.getCommands(Model.QQFromCommands.class));
|
||||
for (String power : builder.toString().split("\n")) {
|
||||
if (!StringUtils.isEmpty(power)) {
|
||||
flag = QQNumberManager.getManager().addPower(Long.parseLong(qq), power);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (String power : msg.split("&")) {
|
||||
flag = QQNumberManager.getManager().addPower(Long.parseLong(qq), power);
|
||||
}
|
||||
}
|
||||
QQBotManager.getInstance().sendMessage(sendQQ, flag ? "新增成功" : "新增失败");
|
||||
}
|
||||
|
||||
private void delPower(String qq, String msg) {
|
||||
if (msg == null) {
|
||||
List<String> list = QQNumberManager.getManager().getPower(Long.parseLong(qq));
|
||||
for (String power : list) {
|
||||
QQNumberManager.getManager().delPower(Long.parseLong(qq), power);
|
||||
}
|
||||
} else {
|
||||
for (String power : msg.split("&")) {
|
||||
QQNumberManager.getManager().delPower(Long.parseLong(qq), power);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void addModel(String qq, String model) {
|
||||
boolean flag = false;
|
||||
try {
|
||||
if (model == null) {
|
||||
for (Class<?> power : Model.classList) {
|
||||
flag = QQNumberManager.getManager().addUseModel(Long.parseLong(qq), power);
|
||||
}
|
||||
} else {
|
||||
for (String power : model.split("&")) {
|
||||
flag = QQNumberManager.getManager().addUseModel(Long.parseLong(qq), Class.forName(power));
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
QQBotManager.getInstance().sendMessage(sendQQ, flag ? "新增成功" : "新增失败");
|
||||
}
|
||||
|
||||
private void delModel(String qq, String model) {
|
||||
try {
|
||||
if (model == null) {
|
||||
List<String> list = QQNumberManager.getManager().getUseModel(Long.parseLong(qq));
|
||||
for (String power : list) {
|
||||
QQNumberManager.getManager().delUseModel(Long.parseLong(qq), Class.forName(power));
|
||||
}
|
||||
} else {
|
||||
for (String power : model.split("&")) {
|
||||
QQNumberManager.getManager().delUseModel(Long.parseLong(qq), Class.forName(power));
|
||||
}
|
||||
}
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
7
src/main/java/com/yutou/qqbot/MessageEvent/Message.java
Normal file
7
src/main/java/com/yutou/qqbot/MessageEvent/Message.java
Normal file
@@ -0,0 +1,7 @@
|
||||
package com.yutou.qqbot.MessageEvent;
|
||||
|
||||
public class Message {
|
||||
|
||||
|
||||
public long sendQQ=891655174L;
|
||||
}
|
||||
Reference in New Issue
Block a user