2023-06-20 17:48:04 +08:00

94 lines
2.5 KiB
Java

package com.yutou.qqbot.models.Commands;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.yutou.qqbot.Annotations.UseModel;
import com.yutou.qqbot.QQBotManager;
import com.yutou.qqbot.interfaces.DownloadInterface;
import com.yutou.qqbot.models.Model;
import com.yutou.qqbot.utlis.AppTools;
import com.yutou.qqbot.utlis.HttpTools;
import com.yutou.qqbot.utlis.Log;
import net.mamoe.mirai.event.events.MessageEvent;
import java.io.File;
@UseModel
public class Moyu extends Model {
@Override
public boolean isUserPublic() {
return true;
}
@Override
public String[] getUsePowers() {
return new String[0];
}
@Override
public String getModelName() {
return "摸鱼提醒";
}
@Override
public void onMessage(Long qq, MessageEvent event, boolean isGroup) {
super.onMessage(qq, event, isGroup);
if (msg.equals(QQGroupCommands.QQ_MOYU)) {
send(qq);
}
}
@Override
public synchronized void onTime(Long qq, String time) {
super.onTime(qq, time);
if ("07:00:00".equals(time)) {
downloadImage(false, qq);
}
if ("10:00:00".equals(time)) {
send(qq);
}
}
private void downloadImage(boolean isSend, Long qq) {
Log.i(this, "下载图片");
String ret = HttpTools.get("https://api.vvhan.com/api/moyu?type=json");
JSONObject json = JSON.parseObject(ret);
HttpTools.download(json.getString("url"), AppTools.getToDayTime() + "_moyu.jpg", new DownloadInterface() {
int count = 3;
@Override
public void onDownload(File file) {
super.onDownload(file);
if (isSend) {
send(qq);
}
}
@Override
public void onError(Exception e) {
super.onError(e);
e.printStackTrace();
if (count == 0) {
return;
}
downloadImage(isSend, qq);
count--;
}
});
}
private void send(Long qq) {
File file = new File(HttpTools.downloadPath + AppTools.getToDayTime() + "_moyu.jpg");
Log.i(this, "发送图片 : file.exists = " + file.exists() + " qq = " + qq);
if (file.exists()) {
QQBotManager.getInstance().sendMessage(file, qq, "");
} else {
downloadImage(true, qq);
}
}
public static void main(String[] args) {
}
}