package com.yutou.qqbot.models.Commands;

import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.yutou.napcat.QQDatabase;
import com.yutou.napcat.handle.Image;
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 com.yutou.napcat.event.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 ("09:50: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) {

        String ret = HttpTools.get("https://api.vvhan.com/api/moyu?type=json");
        JSONObject json = JSON.parseObject(ret);
        QQBotManager.getInstance().sendMessage(QQDatabase.checkFriend(qq), qq,
                new Image(json.getString("url"))
        );
    }

    public static void main(String[] args) {

    }
}
