107 lines
3.4 KiB
Java
Raw Normal View History

package com.yutou.qqbot.models.WebSign;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
2022-07-16 12:34:14 +08:00
import com.yutou.qqbot.Annotations.UseModel;
import com.yutou.qqbot.QQBotManager;
import com.yutou.qqbot.models.Model;
2021-12-14 08:46:57 +08:00
import com.yutou.qqbot.utlis.*;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import java.io.File;
import java.util.concurrent.TimeUnit;
2022-07-16 12:34:14 +08:00
@UseModel
public class BaiHeHui extends Model {
@Override
public boolean isUserPublic() {
return true;
}
@Override
public String[] getUsePowers() {
return new String[0];
}
@Override
public String getModelName() {
return "百合会签到";
}
@Override
2022-04-28 08:34:14 +08:00
public void onTime(Long qq, String time) {
super.onTime(qq, time);
if ("08:10:00".equals(time)) {
2021-12-14 08:46:57 +08:00
Log.i("开始百合会签到");
try {
2022-04-28 08:34:14 +08:00
if (sign()) {
QQBotManager.getInstance().sendMessage(QQBotManager.defGroup, "百合会签到成功");
} else {
2022-04-28 08:34:14 +08:00
QQBotManager.getInstance().sendMessage(QQBotManager.defGroup, "百合会签到失败");
}
} catch (Exception e) {
e.printStackTrace();
2022-04-28 08:34:14 +08:00
QQBotManager.getInstance().sendMessage(QQBotManager.defGroup, "百合会签到失败:" + AppTools.getExceptionString(e));
}
}
}
2022-04-28 08:34:14 +08:00
public boolean sign() {
String cookie = ConfigTools.readFile(new File("baihehui.json"));
if (StringUtils.isEmpty(cookie)) {
2022-04-28 08:34:14 +08:00
return false;
}
WebDriver driver = WebClient.getInstance().getWebDriver();
try {
JSONArray array = JSON.parseArray(cookie);
2022-04-28 08:34:14 +08:00
driver.manage().timeouts().implicitlyWait(10000, TimeUnit.SECONDS);
driver.get("https://bbs.yamibo.com/forum.php");
login(driver);
// driver.manage().deleteAllCookies();
/* Thread.sleep(1000);
2022-04-28 08:34:14 +08:00
for (Cookie _cookie : WebClient.loadCookie(array)) {
System.err.println(_cookie);
2022-04-28 08:34:14 +08:00
driver.manage().addCookie(_cookie);
Thread.sleep(100);
}*/
2022-04-28 08:34:14 +08:00
try {
Thread.sleep(1000);
2022-04-28 08:34:14 +08:00
} catch (InterruptedException e) {
e.printStackTrace();
}
2022-04-28 08:34:14 +08:00
driver.navigate().refresh();
driver.get("https://bbs.yamibo.com/forum.php");
2022-04-28 08:34:14 +08:00
for (WebElement element : driver.findElements(By.xpath("//a"))) {
if ("打卡签到".equals(element.getText())) {
element.click();
2022-04-28 08:34:14 +08:00
break;
}
}
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
} finally {
driver.close();
driver.quit();
}
}
private void login(WebDriver driver) {
driver.get("https://bbs.yamibo.com/member.php?mod=logging&action=login");
driver.findElement(By.name("username")).sendKeys("z583819556");
driver.findElement(By.name("password")).sendKeys("u8fi4Qfr.5D2wZ5");
driver.findElement(By.name("loginsubmit")).submit();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
public static void main(String[] args) {
new BaiHeHui().sign();
}
}