QQBot/src/main/java/com/yutou/qqbot/models/WebSign/BiliBiliMangeSign.java

122 lines
4.7 KiB
Java

package com.yutou.qqbot.models.WebSign;
import com.yutou.qqbot.QQBotManager;
import com.yutou.qqbot.bilibili.BiliBiliManga;
import com.yutou.qqbot.bilibili.BiliLogin;
import com.yutou.qqbot.interfaces.ObjectInterface;
import com.yutou.qqbot.models.Model;
import com.yutou.qqbot.utlis.QRCodeUtils;
import net.mamoe.mirai.event.events.MessageEvent;
import java.io.File;
public class BiliBiliMangeSign extends Model {
@Override
public boolean isUserPublic() {
return false;
}
@Override
public String[] getUsePowers() {
return new String[]{
QQFromCommands.BILI_MANGA_SIGN,
QQFromCommands.BILI_MANGA_PAY,
QQFromCommands.BILI_MANGA_PAY_STOP
};
}
@Override
public void onMessage(Long qq, MessageEvent event, boolean isGroup) {
super.onMessage(qq, event, isGroup);
if (msg.equals(QQFromCommands.BILI_MANGA_SIGN)) {
String msg;
if (new BiliLogin().testLogin()) {
if (BiliBiliManga.sign() == null) {
msg = "B站漫画已经签到过了";
} else {
msg = "B站漫画签到完成";
}
QQBotManager.getInstance().sendMessage(qq, msg);
} else {
String url = new BiliLogin().login().getString("url");
File code = QRCodeUtils.createQRCode("bili_login", url);
QQBotManager.getInstance().sendMessage(code, qq, "B站未登录,请扫码登陆后再试");
}
} else if (msg.equals(QQFromCommands.BILI_MANGA_PAY)) {
StringBuilder builder = new StringBuilder();
if (BiliBiliManga.isPayMission()) {
builder.append("当前已有执行任务:").append(BiliBiliManga.getMission());
QQBotManager.getInstance().sendMessage(qq, builder.toString());
return;
}
builder.append("-------商城列表-------").append("\n");
for (BiliBiliManga.Product product : BiliBiliManga.getListProduct()) {
builder.append(product).append("\n");
}
builder.append("-------------------").append("\n");
builder.append("使用方法:")
.append(QQFromCommands.BILI_MANGA_PAY)
.append(" id 数量[num]")
.append("\n");
builder.append("参数说明:")
.append("\n")
.append("id=物品id")
.append("\n")
.append("num=物品数量,缺省或-1为全部")
.append("\n");
QQBotManager.getInstance().sendMessage(qq, builder.toString());
}else if(msg.equals(QQFromCommands.BILI_MANGA_PAY_STOP)){
new BiliBiliManga().stopPayMission();
} else if (msg.startsWith(QQFromCommands.BILI_MANGA_PAY)) {
msg = msg.replace(QQFromCommands.BILI_MANGA_PAY, "");
String[] message = msg.split(" ");
int num = 0;
int id = 0;
System.out.println(message.length);
if (message.length < 2) {
try {
id = Integer.parseInt(message[0]);
} catch (Exception e) {
e.printStackTrace();
QQBotManager.getInstance().sendMessage(qq, "商城id错误");
return;
}
} else {
num = Integer.parseInt(message[1]);
}
if (id == 0) {
QQBotManager.getInstance().sendMessage(qq, "商城id错误");
return;
}
BiliBiliManga manga = new BiliBiliManga();
manga.addInterface(new ObjectInterface() {
@Override
public void out(String data) {
super.out(data);
if(!data.startsWith("[2]")||!data.startsWith("[4]")){
QQBotManager.getInstance().sendMessage(qq,"任务异常:"+data);
manga.stopPayMission();
}
}
});
QQBotManager.getInstance().sendMessage(qq, manga.startPayMission(id, num).getString("msg"));
}
}
@Override
public void onTime(String time) {
super.onTime(time);
if ("00:01:00".equals(time)) {
if (new BiliLogin().testLogin()) {
String msg;
if (BiliBiliManga.sign() == null) {
msg = "B站漫画已经签到过了";
} else {
msg = "B站漫画签到完成";
}
QQBotManager.getInstance().sendMessage(msg);
}
}
}
}