移植之前版本所有功能
This commit is contained in:
126
src/main/java/com/yutou/qqbot/models/Commands/Bangumi.java
Normal file
126
src/main/java/com/yutou/qqbot/models/Commands/Bangumi.java
Normal file
@@ -0,0 +1,126 @@
|
||||
package com.yutou.qqbot.models.Commands;
|
||||
|
||||
import com.yutou.qqbot.QQBotManager;
|
||||
import com.yutou.qqbot.interfaces.DownloadInterface;
|
||||
import com.yutou.qqbot.models.Model;
|
||||
import com.yutou.qqbot.utlis.BangumiTools;
|
||||
import com.yutou.qqbot.utlis.HttpTools;
|
||||
import com.yutou.qqbot.utlis.Log;
|
||||
import com.yutou.qqbot.utlis.RedisTools;
|
||||
import net.mamoe.mirai.event.events.MessageEvent;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class Bangumi extends Model {
|
||||
|
||||
|
||||
@Override
|
||||
public void onMessage(Long qq, MessageEvent event, boolean isGroup) {
|
||||
super.onMessage(qq, event, isGroup);
|
||||
|
||||
if(!isGroupPower){
|
||||
System.err.println(qq+" 没有权限");
|
||||
return;
|
||||
}
|
||||
switch (msg){
|
||||
case QQGroupCommands.QQ_BANGUMI_TODAY -> {
|
||||
RedisTools.remove("reportToDayBangumi");
|
||||
QQBotManager.getInstance().sendMessage(qq, BangumiTools.reportToDayBangumi());
|
||||
}
|
||||
case QQGroupCommands.QQ_BANGUMI_LIST -> {
|
||||
QQBotManager.getInstance().sendMessage(qq,"获取中...");
|
||||
QQBotManager.getInstance().sendMessage(qq,BangumiTools.reportBangumiList());
|
||||
}default -> {
|
||||
if(msg.startsWith(QQGroupCommands.QQ_BANGUMI_SUB)){
|
||||
subBanGumi(qq,msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
private void subBanGumi(long qq,String msg){
|
||||
List<String> infos = null;
|
||||
try {
|
||||
int id = Integer.parseInt(msg.replace(QQGroupCommands.QQ_BANGUMI_SUB, "").trim());
|
||||
infos = BangumiTools.reportBangumiInfo(id);
|
||||
} catch (Exception e) {
|
||||
String key = msg.replace(QQGroupCommands.QQ_BANGUMI_SUB, "").trim();
|
||||
infos = BangumiTools.reportSearchBangumi(key);
|
||||
}
|
||||
for (String info : infos) {
|
||||
List<String> imgs = new ArrayList<>();
|
||||
if (info.contains("<img") && info.contains(" /img>")) {
|
||||
imgs = getImages(info);
|
||||
for (String img : imgs) {
|
||||
info = info.replace("<img " + img + " /img>", "");
|
||||
}
|
||||
}
|
||||
sendImagesMsg(imgs,qq, info);
|
||||
}
|
||||
}
|
||||
public static List<String> getImages(String str) {
|
||||
List<String> list = new ArrayList<>();
|
||||
String regex = "<img(.*?)/img>";
|
||||
Pattern pattern = Pattern.compile(regex);
|
||||
Matcher matcher = pattern.matcher(str);
|
||||
while (matcher.find()) {
|
||||
list.add(matcher.group().replace("<img", "")
|
||||
.replace("/img>", "")
|
||||
.trim());
|
||||
}
|
||||
return list;
|
||||
}
|
||||
private List<File> files;
|
||||
private int index = 0;
|
||||
|
||||
private void sendImagesMsg(List<String> imgs,Long qq, String text) {
|
||||
files = new ArrayList<>();
|
||||
index = 0;
|
||||
if (imgs.size() == 0) {
|
||||
QQBotManager.getInstance().sendMessage(qq,text);
|
||||
return;
|
||||
}
|
||||
for (String img : imgs) {
|
||||
HttpTools.download(img,null, new DownloadInterface() {
|
||||
@Override
|
||||
public void onDownload(File file) {
|
||||
super.onDownload(file);
|
||||
files.add(file);
|
||||
send(imgs.size(),qq, text);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Exception e) {
|
||||
super.onError(e);
|
||||
index++;
|
||||
send(imgs.size(),qq, text);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void send(int size,Long qq, String text) {
|
||||
if ((files.size() + index) == size) {
|
||||
String str = QQBotManager.getInstance().sendMessage(files,qq, text);
|
||||
Log.i("str = " + str);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isUserPublic() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getUsePowers() {
|
||||
return new String[]{
|
||||
QQGroupCommands.QQ_BANGUMI_SUB,
|
||||
QQGroupCommands.QQ_BANGUMI_LIST,
|
||||
QQGroupCommands.QQ_BANGUMI_TODAY
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.yutou.qqbot.models.Commands.System;
|
||||
|
||||
import com.yutou.qqbot.models.Model;
|
||||
import com.yutou.qqbot.models.audio.QQAudio;
|
||||
import net.mamoe.mirai.event.events.MessageEvent;
|
||||
|
||||
public class Audio extends Model {
|
||||
|
||||
@Override
|
||||
public boolean isUserPublic() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getUsePowers() {
|
||||
return new String[]{
|
||||
QQGroupCommands.QQ_AUDIO,
|
||||
QQGroupCommands.QQ_AUDIO_OPEN_LAMP,
|
||||
QQGroupCommands.QQ_AUDIO_OPEN_AIR
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMessage(Long qq, MessageEvent event, boolean isGroup) {
|
||||
super.onMessage(qq, event, isGroup);
|
||||
switch (msg){
|
||||
case QQGroupCommands.QQ_AUDIO_OPEN_LAMP -> QQAudio.playText("小爱同学,开灯");
|
||||
case QQGroupCommands.QQ_AUDIO_OPEN_AIR -> QQAudio.playText("小爱同学,开空调");
|
||||
default -> {
|
||||
if(msg.startsWith(QQGroupCommands.QQ_AUDIO)){
|
||||
QQAudio.playText(msg.replace(QQGroupCommands.QQ_AUDIO, ""));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.yutou.qqbot.models.Commands.System;
|
||||
|
||||
import com.yutou.qqbot.QQBotManager;
|
||||
import com.yutou.qqbot.models.Model;
|
||||
import com.yutou.qqbot.utlis.HttpTools;
|
||||
import net.mamoe.mirai.event.events.MessageEvent;
|
||||
|
||||
public class BtFlash extends Model {
|
||||
@Override
|
||||
public boolean isUserPublic() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getUsePowers() {
|
||||
return new String[]{
|
||||
QQGroupCommands.QQ_BT_RELOAD
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMessage(Long qq, MessageEvent event, boolean isGroup) {
|
||||
super.onMessage(qq, event, isGroup);
|
||||
if(msg.equals(QQGroupCommands.QQ_BT_RELOAD)){
|
||||
HttpTools.get("http://192.168.31.88:8000/bt/down.do");
|
||||
QQBotManager.getInstance().sendMessage(qq,"已提交");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.yutou.qqbot.models.Commands.System;
|
||||
|
||||
import com.yutou.qqbot.models.Model;
|
||||
import com.yutou.qqbot.utlis.RedisTools;
|
||||
import net.mamoe.mirai.event.events.MessageEvent;
|
||||
|
||||
public class Cmd extends Model {
|
||||
@Override
|
||||
public boolean isUserPublic() {
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getUsePowers() {
|
||||
return new String[]{
|
||||
QQGroupCommands.QQ_CMD
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMessage(Long qq, MessageEvent event, boolean isGroup) {
|
||||
super.onMessage(qq, event, isGroup);
|
||||
if (msg.startsWith(QQGroupCommands.QQ_CMD)) {
|
||||
RedisTools.Consumer.system("cmd", msg.replace(QQGroupCommands.QQ_CMD, ""));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.yutou.qqbot.models.Commands.System;
|
||||
|
||||
import com.yutou.qqbot.QQBotManager;
|
||||
import com.yutou.qqbot.models.Model;
|
||||
import net.mamoe.mirai.event.events.MessageEvent;
|
||||
|
||||
public class Help extends Model {
|
||||
|
||||
@Override
|
||||
public boolean isUserPublic() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getUsePowers() {
|
||||
return new String[0];
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMessage(Long qq, MessageEvent event, boolean isGroup) {
|
||||
super.onMessage(qq, event, isGroup);
|
||||
if(msg.equals(QQGroupCommands.QQ_HELP)){
|
||||
QQBotManager.getInstance().sendMessage(qq,getCommands(QQGroupCommands.class).toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
27
src/main/java/com/yutou/qqbot/models/Commands/System/IP.java
Normal file
27
src/main/java/com/yutou/qqbot/models/Commands/System/IP.java
Normal file
@@ -0,0 +1,27 @@
|
||||
package com.yutou.qqbot.models.Commands.System;
|
||||
|
||||
import com.yutou.qqbot.models.Model;
|
||||
import com.yutou.qqbot.utlis.RedisTools;
|
||||
import net.mamoe.mirai.event.events.MessageEvent;
|
||||
|
||||
public class IP extends Model {
|
||||
@Override
|
||||
public boolean isUserPublic() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getUsePowers() {
|
||||
return new String[]{
|
||||
QQGroupCommands.QQ_GET_IP
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMessage(Long qq, MessageEvent event, boolean isGroup) {
|
||||
super.onMessage(qq, event, isGroup);
|
||||
if(msg.equals(QQGroupCommands.QQ_GET_IP)){
|
||||
RedisTools.Consumer.bot("getip");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.yutou.qqbot.models.Commands.System;
|
||||
|
||||
import com.yutou.qqbot.models.Model;
|
||||
import com.yutou.qqbot.utlis.RedisTools;
|
||||
import net.mamoe.mirai.event.events.MessageEvent;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
public class OpenPC extends Model {
|
||||
@Override
|
||||
public boolean isUserPublic() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getUsePowers() {
|
||||
return new String[]{
|
||||
QQGroupCommands.QQ_OPEN_PC
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMessage(Long qq, MessageEvent event, boolean isGroup) {
|
||||
super.onMessage(qq, event, isGroup);
|
||||
if(msg.equals(QQGroupCommands.QQ_OPEN_PC)){
|
||||
RedisTools.Consumer.system("openPC", null);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.yutou.qqbot.models.Commands.System;
|
||||
|
||||
import com.yutou.qqbot.QQBotManager;
|
||||
import com.yutou.qqbot.models.Model;
|
||||
import com.yutou.qqbot.utlis.AppTools;
|
||||
import net.mamoe.mirai.event.events.MessageEvent;
|
||||
|
||||
public class Restart extends Model {
|
||||
@Override
|
||||
public boolean isUserPublic() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getUsePowers() {
|
||||
return new String[]{
|
||||
QQGroupCommands.QQ_SYSTEM_RESTART
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMessage(Long qq, MessageEvent event, boolean isGroup) {
|
||||
super.onMessage(qq, event, isGroup);
|
||||
if(msg.equals(QQGroupCommands.QQ_SYSTEM_RESTART)){
|
||||
QQBotManager.getInstance().sendMessage(qq,"正在重启服务");
|
||||
System.out.println("结束进程");
|
||||
AppTools.exec("cd /home/yutou/public/servier/tools && ./start.sh",null,true,false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package com.yutou.qqbot.models.Commands.System;
|
||||
|
||||
import com.yutou.qqbot.QQBotManager;
|
||||
import com.yutou.qqbot.models.Model;
|
||||
import com.yutou.qqbot.utlis.IdeaTools;
|
||||
import com.yutou.qqbot.utlis.RedisTools;
|
||||
import com.yutou.qqbot.utlis.StringUtils;
|
||||
import net.mamoe.mirai.event.events.MessageEvent;
|
||||
|
||||
public class ToolsIdea extends Model {
|
||||
@Override
|
||||
public boolean isUserPublic() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getUsePowers() {
|
||||
return new String[]{
|
||||
QQGroupCommands.QQ_TOOLS_IDEA,
|
||||
QQGroupCommands.QQ_TOOLS_IDEA_FILE,
|
||||
QQGroupCommands.QQ_TOOLS_IDEA
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMessage(Long qq, MessageEvent event, boolean isGroup) {
|
||||
super.onMessage(qq, event, isGroup);
|
||||
if (QQGroupCommands.QQ_TOOLS_IDEA.equals(msg)) {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
if (StringUtils.isEmpty(RedisTools.get("ideaUrl"))) {
|
||||
builder.append("暂未设置IDEA激活码下载地址");
|
||||
} else {
|
||||
for (String name : IdeaTools.getIdeaList(RedisTools.get("ideaUrl"))) {
|
||||
builder.append(QQGroupCommands.QQ_TOOLS_IDEA_FILE).append(name).append("\n");
|
||||
}
|
||||
if (builder.toString().trim().length() == 0) {
|
||||
builder.append("激活码文件中未包含txt文件");
|
||||
}
|
||||
}
|
||||
QQBotManager.getInstance().sendMessage(qq, builder.toString());
|
||||
} else {
|
||||
if (msg.startsWith(QQGroupCommands.QQ_TOOLS_IDEA_URL)) {
|
||||
RedisTools.set("ideaUrl", msg.replace(QQGroupCommands.QQ_TOOLS_IDEA_URL, "").trim());
|
||||
QQBotManager.getInstance().sendMessage(qq, "已设定下载地址:" + RedisTools.get("ideaUrl"));
|
||||
} else if (msg.startsWith(QQGroupCommands.QQ_TOOLS_IDEA_FILE)) {
|
||||
QQBotManager.getInstance().sendMessage(qq, IdeaTools.getIdea(event.getMessage().contentToString().replace(QQGroupCommands.QQ_TOOLS_IDEA_FILE, "")));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.yutou.qqbot.models.Commands.System;
|
||||
|
||||
import com.yutou.qqbot.models.Model;
|
||||
import com.yutou.qqbot.utlis.RedisTools;
|
||||
import net.mamoe.mirai.event.events.MessageEvent;
|
||||
|
||||
public class UpdateIP extends Model {
|
||||
@Override
|
||||
public boolean isUserPublic() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getUsePowers() {
|
||||
return new String[]{
|
||||
QQGroupCommands.QQ_UPDATE_IP
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMessage(Long qq, MessageEvent event, boolean isGroup) {
|
||||
super.onMessage(qq, event, isGroup);
|
||||
if(msg.equals(QQGroupCommands.QQ_UPDATE_IP)){
|
||||
RedisTools.Consumer.system("updateIP", null);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.yutou.qqbot.models.Commands.System;
|
||||
|
||||
import com.yutou.qqbot.QQBotManager;
|
||||
import com.yutou.qqbot.models.Model;
|
||||
import net.mamoe.mirai.event.events.MessageEvent;
|
||||
|
||||
public class Version extends Model {
|
||||
@Override
|
||||
public boolean isUserPublic() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getUsePowers() {
|
||||
return new String[]{
|
||||
QQGroupCommands.QQ_GET_VERSION
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMessage(Long qq, MessageEvent event, boolean isGroup) {
|
||||
super.onMessage(qq, event, isGroup);
|
||||
if(msg.equals(QQGroupCommands.QQ_GET_VERSION)){
|
||||
QQBotManager.getInstance().sendVersion();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user