QQBot/src/main/java/com/yutou/qqbot/utlis/ApplicationInit.java

59 lines
2.2 KiB
Java

package com.yutou.qqbot.utlis;
import com.yutou.qqbot.Annotations.UseModel;
import com.yutou.qqbot.QQBotManager;
import com.yutou.qqbot.QQNumberManager;
import com.yutou.qqbot.models.Model;
import net.mamoe.mirai.Bot;
import net.mamoe.mirai.contact.Group;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
@Component
public class ApplicationInit implements ApplicationRunner {
@Override
public void run(ApplicationArguments args) throws Exception {
Model.classList.addAll(AppTools.scanClass("com.yutou.qqbot.models", UseModel.class));
new Timer().schedule(new TimerTask() {
private String oldTime = "";
@Override
public void run() {
try {
String time = new SimpleDateFormat("HH:mm:ss").format(new Date());
if (time.equals(oldTime)) {
return;
}
oldTime = time;
for (Class<?> model : Model.classList) {
new Thread(() -> {
try {
Bot bot = QQBotManager.getInstance().getBot();
if(bot==null){
return;
}
Model useModel = (Model) model.getDeclaredConstructor().newInstance();
for (Group group : bot.getGroups()) {
if (QQNumberManager.getManager().isUseModel(group.getId(), model)) {
useModel.onTime(group.getId(), time);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}).start();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}, 0, 300);
}
}