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); } } } }