Skip to content

Commit

Permalink
新增使用PushPlus推送执行结果,解决 #1
Browse files Browse the repository at this point in the history
  • Loading branch information
zhuweitung committed Sep 6, 2022
1 parent f2eae2a commit f6b2950
Show file tree
Hide file tree
Showing 8 changed files with 93 additions and 17 deletions.
19 changes: 10 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,20 +51,21 @@

6. 执行结果推送

+ 使用Turbo版Server酱推送说明

+ 前往[sct.ftqq.com](https://sct.ftqq.com/sendkey)点击登入,创建账号。

+ 点击点[SendKey](https://sct.ftqq.com/sendkey),生成一个`Key`。将其增加到`Github Secrets`中,变量名为`SERVERPUSHKEY`


+ [配置消息通道](https://sct.ftqq.com/forward),选择方糖服务号,保存即可。

+ 使用TelegramBot推送

+ 在Telegram中添加BotFather这个账号,然后依次发送/start /newbot 按照提示即可创建一个新的机器人。记下来给你生成的token
+ 在Telegram中搜索userinfobot,并给它发送一条消息,它会返回给你chatid
+ 在Github Secrets中删除`SERVERPUSHKEY`,添加`TELEGRAMBOTTOKEN``TELEGRAMCHATID`
+ 在Github Secrets中添加`TELEGRAMBOTTOKEN``TELEGRAMCHATID`(注:`SERVERPUSHKEY`变量需要删除)
+ 使用PushPlus推送

+ 前往[pushplus官网](https://www.pushplus.plus/)创建账号,获取`token`
+ 在Github Secrets中添加`SERVERPUSHKEY`并将上一步获取的`token`值填入其中
+ 使用Turbo版Server酱推送说明

+ 前往[sct.ftqq.com](https://sct.ftqq.com/sendkey)点击登入,创建账号。

+ 点击点[SendKey](https://sct.ftqq.com/sendkey),生成一个`Key`。将其增加到`Github Secrets`中,变量名为`SERVERPUSHKEY`

7. Fork仓库后,GitHub Actions默认不自动执行任务,需要有commit记录才会激活,最简单就是修改readme.md,在文末添加空行提交,这样自动执行定时任务就激活了

Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>com.zhuweitung</groupId>
<artifactId>banana-helper</artifactId>
<version>0.2.10</version>
<version>0.2.11</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/zhuweitung/ProjectInfo.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
@Log4j2
public class ProjectInfo {

private static String updateDate = "2022-06-25";
private static String updateDate = "2022-09-06";
private static String projectRepo = "https://github.com/zhuweitung/banana-helper.git";
private static String releaseVersion = "0.2.10";
private static String releaseVersion = "0.2.11";
private static String updateInfo = "";
private static String acfunMemberUrl = "https://www.acfun.cn/u/625724";

Expand Down
1 change: 1 addition & 0 deletions src/main/java/com/zhuweitung/api/OtherApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ public enum OtherApi {

SERVERPUSHV2("Turbo版Server酱", "https://sctapi.ftqq.com/"),
ServerPushTelegram("TelegramBot", "https://api.telegram.org/bot"),
PushPlus("PushPlus", "http://www.pushplus.plus/send"),
;


Expand Down
10 changes: 9 additions & 1 deletion src/main/java/com/zhuweitung/push/PushHelper.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.zhuweitung.push;

import com.zhuweitung.push.impl.PushPlusPush;
import com.zhuweitung.push.impl.ServerChanTurboPush;
import com.zhuweitung.push.impl.TelegramPush;
import com.zhuweitung.push.model.PushMetaInfo;
Expand Down Expand Up @@ -29,6 +30,9 @@ public static boolean push(Target target, PushMetaInfo metaInfo, String content)
case TELEGRAM: {
return new TelegramPush().doPush(metaInfo, content).isSuccess();
}
case PUSH_PLUS: {
return new PushPlusPush().doPush(metaInfo, content).isSuccess();
}
default:
return false;
}
Expand All @@ -45,6 +49,10 @@ public enum Target {
/**
* TG
*/
TELEGRAM
TELEGRAM,
/**
* PushPlus
*/
PUSH_PLUS
}
}
62 changes: 62 additions & 0 deletions src/main/java/com/zhuweitung/push/impl/PushPlusPush.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
package com.zhuweitung.push.impl;

import com.google.gson.Gson;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.zhuweitung.api.OtherApi;
import com.zhuweitung.push.AbstractPush;
import com.zhuweitung.push.model.PushMetaInfo;
import lombok.Getter;

/**
* PushPlus推送
*
* @author zhuweitung
* @create 2022/9/6
*/
public class PushPlusPush extends AbstractPush {

/**
* PushPlus 默认TOKEN长度
*/
public static final int TOKEN_LENGTH = 32;

@Override
protected String generatePushUrl(PushMetaInfo metaInfo) {
return OtherApi.PushPlus.getUrl();
}

@Override
protected boolean checkPushStatus(JsonObject jsonObject) {
if (null == jsonObject) {
return false;
}

// See https://www.pushplus.plus/doc/guide/api.html
JsonElement code = jsonObject.get("code");

if (code == null) {
return false;
}

return code.getAsInt() == 200;
}

@Override
protected String generatePushBody(PushMetaInfo metaInfo, String content) {
return new Gson().toJson(new PushModel(metaInfo.getToken(), content));
}

@Getter
static class PushModel {
private final String title = "banana-helper任务简报";
private final String template = "markdown";
private final String token;
private final String content;

public PushModel(String token, String content) {
this.token = token;
this.content = content;
}
}
}
6 changes: 3 additions & 3 deletions src/main/java/com/zhuweitung/task/DailyTask.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
/**
* 每日任务
* @author zhuweitung
* @create 2021/4/18
* @create 2021/4/18
*/
@Log4j2
public class DailyTask {
Expand Down Expand Up @@ -86,7 +86,7 @@ private void printTime() {

/**
* @description 随机暂停
* @param
* @param
* @return void
* @author zhuweitung
* @date 2021/4/18
Expand All @@ -100,7 +100,7 @@ public static void randomSuspend() throws InterruptedException {

/**
* @description 打印陪伴AcFun的时间
* @param
* @param
* @return void
* @author zhuweitung
* @date 2021/4/18
Expand Down
6 changes: 5 additions & 1 deletion src/main/java/com/zhuweitung/task/ServerPush.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.zhuweitung.task;

import com.zhuweitung.push.PushHelper;
import com.zhuweitung.push.impl.PushPlusPush;
import com.zhuweitung.push.model.PushMetaInfo;
import com.zhuweitung.signin.ServerVerify;
import com.zhuweitung.util.ConfigLoadUtil;
Expand All @@ -27,9 +28,12 @@ public static void doServerPush() {
if (ServerVerify.getFtkey().startsWith("SCT")) {
target = PushHelper.Target.SERVER_CHAN_TURBO;
log.info("本次执行推送日志到Server酱Turbo版本");
} else if (ServerVerify.getFtkey().length() == PushPlusPush.TOKEN_LENGTH) {
target = PushHelper.Target.PUSH_PLUS;
log.info("本次执行推送日志到PushPlus");
}
} else {
log.info("未配置server酱,本次执行不推送日志到微信");
log.info("未配置消息发送通道,本次任务执行不推送");
}
if (null != target) {
PushHelper.push(target, builder.build(), ConfigLoadUtil.loadFile("logs/banana.log"));
Expand Down

0 comments on commit f6b2950

Please sign in to comment.