59 lines
2.2 KiB
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);
|
|
}
|
|
}
|