mirror of
https://github.com/smallfawn/QLScriptPublic.git
synced 2025-12-17 15:25:10 +08:00
Update sendNotify.js
This commit is contained in:
@@ -195,6 +195,8 @@ if (process.env.PUSH_PLUS_USER) {
|
||||
|
||||
/**
|
||||
* sendNotify 推送通知功能
|
||||
* 魔改:smallfawn https://github.com/smallfawn 增加黑白名单模式
|
||||
* 变量值 smallfawnPushWhite白名单 smallfawnPushBlack黑名单 不写默认通知 黑白名单二选一
|
||||
* @param text 通知头
|
||||
* @param desp 通知体
|
||||
* @param params 某些推送通知方式点击弹窗可跳转, 例:{ url: 'https://abc.com' }
|
||||
@@ -207,6 +209,71 @@ async function sendNotify(
|
||||
params = {},
|
||||
author = '\n\n本通知 By:https://github.com/whyour/qinglong',
|
||||
) {
|
||||
|
||||
let pushType = ["smallfawnPushWhite", "smallfawnPushBlack", 'default']
|
||||
function checkSmallfawnPushType() {
|
||||
if (process.env.hasOwnProperty(pushType[0]) !== undefined) {
|
||||
return pushType[0];
|
||||
} else if (process.env.hasOwnProperty(pushType[1]) !== undefined) {
|
||||
return pushType[1];
|
||||
} else {
|
||||
return pushType[2];
|
||||
}
|
||||
}
|
||||
function checkSmallfawnPush(variable) {
|
||||
if (typeof variable === 'string') {
|
||||
if (variable.includes('&') || variable.includes('#') || variable.includes('@')) {
|
||||
console.log(variable.split(/[&#@]/))
|
||||
return variable.split(/[&#@]/);
|
||||
} else {
|
||||
return [variable];
|
||||
}
|
||||
} else if (typeof variable === 'number') {
|
||||
return [variable.toString()];
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
let type = checkSmallfawnPushType()
|
||||
if (type !== pushType[2]) {
|
||||
if (checkSmallfawnPush(process.env[type]).length == 0) {
|
||||
console.log(`[${type}]长度为0 默认形式发送`);
|
||||
await push()
|
||||
return
|
||||
} else {
|
||||
if (type == pushType[0]) {
|
||||
console.log(`通知变量为白名单模式`);
|
||||
for (let sm of checkSmallfawnPush(process.env[pushType[0]])) {
|
||||
if (text == sm) {
|
||||
console.log(`根据[${type}]变量来选择通知`);
|
||||
await push()
|
||||
return
|
||||
} else {
|
||||
console.log(`[${type}]未含有该脚本的env名字,不通知`)
|
||||
}
|
||||
}
|
||||
} else if (type == pushType[1]) {
|
||||
console.log(`通知变量为黑名单模式`);
|
||||
for (let sm of checkSmallfawnPush(process.env[pushType[1]])) {
|
||||
if (text == sm) {
|
||||
console.log(`根据[${type}]变量来选择不通知`);
|
||||
} else {
|
||||
console.log(`[${type}]未含有该脚本的env名字,通知`);
|
||||
await push()
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
//不启动黑白名单模式 启动默认形式发送
|
||||
console.log(`不启动黑白名单模式 启动默认形式发送`);
|
||||
await push()
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
async function push() {
|
||||
//提供6种通知
|
||||
desp += author; //增加作者信息,防止被贩卖等
|
||||
await Promise.all([
|
||||
@@ -227,6 +294,13 @@ async function sendNotify(
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
function gotifyNotify(text, desp) {
|
||||
return new Promise((resolve) => {
|
||||
if (GOTIFY_URL && GOTIFY_TOKEN) {
|
||||
@@ -409,8 +483,7 @@ function CoolPush(text, desp) {
|
||||
console.log(`酷推发送${pushMode(QQ_MODE)}通知消息成功🎉\n`);
|
||||
} else if (data.code === 400) {
|
||||
console.log(
|
||||
`QQ酷推(Cool Push)发送${pushMode(QQ_MODE)}推送失败:${
|
||||
data.msg
|
||||
`QQ酷推(Cool Push)发送${pushMode(QQ_MODE)}推送失败:${data.msg
|
||||
}\n`,
|
||||
);
|
||||
} else if (data.code === 503) {
|
||||
@@ -830,8 +903,7 @@ function pushPlusNotify(text, desp) {
|
||||
try {
|
||||
if (err) {
|
||||
console.log(
|
||||
`push+发送${
|
||||
PUSH_PLUS_USER ? '一对多' : '一对一'
|
||||
`push+发送${PUSH_PLUS_USER ? '一对多' : '一对一'
|
||||
}通知消息失败!!\n`,
|
||||
);
|
||||
console.log(err);
|
||||
@@ -839,14 +911,12 @@ function pushPlusNotify(text, desp) {
|
||||
data = JSON.parse(data);
|
||||
if (data.code === 200) {
|
||||
console.log(
|
||||
`push+发送${
|
||||
PUSH_PLUS_USER ? '一对多' : '一对一'
|
||||
`push+发送${PUSH_PLUS_USER ? '一对多' : '一对一'
|
||||
}通知消息完成。\n`,
|
||||
);
|
||||
} else {
|
||||
console.log(
|
||||
`push+发送${
|
||||
PUSH_PLUS_USER ? '一对多' : '一对一'
|
||||
`push+发送${PUSH_PLUS_USER ? '一对多' : '一对一'
|
||||
}通知消息失败:${data.msg}\n`,
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user