mirror of
https://github.com/shanmiteko/LotteryAutoScript.git
synced 2026-07-22 21:13:47 +08:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1b80f853ed | ||
|
|
b1f478cb8e | ||
|
|
39d69e0448 | ||
|
|
45ac58e312 | ||
|
|
a0d910632a | ||
|
|
41b954081a | ||
|
|
2723048bb3 | ||
|
|
3f59076d83 | ||
|
|
b80c65558d | ||
|
|
f569207dc5 |
@@ -1,5 +1,31 @@
|
||||
<!-- markdownlint-disable MD036 MD024-->
|
||||
# CHANGELOG
|
||||
## 主要变化(2.5.2)
|
||||
* b1f478c feat: 可选通知现阶段运行到哪个账号(#132)
|
||||
* 新增设置`notice_running_state`
|
||||
|
||||
_如果之前版本小于上一版本,请查看[CHANGELOG](CHANGELOG.md)变更说明_
|
||||
|
||||
## 主要变化(2.5.1)
|
||||
* 45ac58e fix: 评论与转发相同时去掉动态原文(#128)
|
||||
|
||||
_如果之前版本小于上一版本,请查看[CHANGELOG](CHANGELOG.md)变更说明_
|
||||
|
||||
## 主要变化(2.5.0)
|
||||
* 41b9540 fix: 未知错误退出
|
||||
|
||||
_如果之前版本小于上一版本,请查看[CHANGELOG](CHANGELOG.md)变更说明_
|
||||
|
||||
## 主要变化(2.4.11)
|
||||
* 3f59076 feat: 推送中奖检测可添加账号备注(#121)
|
||||
|
||||
_如果之前版本小于上一版本,请查看[CHANGELOG](CHANGELOG.md)变更说明_
|
||||
|
||||
## 主要变化(2.4.10)
|
||||
* f569207 fix: 低版本node(< v15)不支持replaceAll
|
||||
|
||||
_如果之前版本小于上一版本,请查看[CHANGELOG](CHANGELOG.md)变更说明_
|
||||
|
||||
## 主要变化(2.4.9)
|
||||
* 2fbd292 feat: 自动评语中可用up主昵称`${uname}`变量(#118)
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ module.exports = Object.freeze({
|
||||
/**
|
||||
* ## 账号相关
|
||||
* - `COOKIE` 是必填项
|
||||
* - `NOTE` 帐号备注
|
||||
* - `NUMBER` 表示是第几个账号
|
||||
* - `CLEAR` 是否启用清理功能
|
||||
* - `ENABLE_MULTIPLE_ACCOUNT` 是否启用多账号
|
||||
@@ -18,6 +19,7 @@ module.exports = Object.freeze({
|
||||
*/
|
||||
account_parm: {
|
||||
COOKIE: "",
|
||||
NOTE: "",
|
||||
NUMBER: 1,
|
||||
CLEAR: true,
|
||||
|
||||
@@ -31,10 +33,17 @@ module.exports = Object.freeze({
|
||||
/**
|
||||
* 为防止环境变量过长, 请将多账号填在此处
|
||||
* 以大括号内容为模板依次复制(包含大括号),逗号分割
|
||||
* ```
|
||||
* ...
|
||||
* NUMBER: 1
|
||||
* ...
|
||||
* NUMBER: 2
|
||||
* ```
|
||||
*/
|
||||
multiple_account_parm: [
|
||||
{
|
||||
COOKIE: "",
|
||||
NOTE: "",
|
||||
NUMBER: 1,
|
||||
CLEAR: true,
|
||||
WAIT: 60 * 1000
|
||||
|
||||
+4
-2
@@ -7,8 +7,9 @@ const bili = require('./net/bili')
|
||||
/**
|
||||
* 是否中奖
|
||||
* @param {number} num
|
||||
* @param {string} [note]
|
||||
*/
|
||||
async function isMe(num) {
|
||||
async function isMe(num, note = "无") {
|
||||
let desp = '';
|
||||
const
|
||||
{ notice_key_words, update_session_wait, get_session_wait, check_session_pages } = config,
|
||||
@@ -93,7 +94,8 @@ async function isMe(num) {
|
||||
log.info('中奖检测', '--> OK');
|
||||
}
|
||||
if (desp) {
|
||||
desp += '中奖了别忘给脚本(https://github.com/shanmiteko/LotteryAutoScript)点一个Star哦, 赞助一两块也不是不可以_(:з」∠)_\n\n'
|
||||
desp += `帐号备注: ${note}\n\n`;
|
||||
desp += '中奖了别忘给脚本(https://github.com/shanmiteko/LotteryAutoScript)点一个Star哦, 赞助一两块也不是不可以_(:з」∠)_\n\n'
|
||||
log.info('可能中奖了', desp);
|
||||
await sendNotify(`帐号${num}可能中奖了`, desp);
|
||||
} else {
|
||||
|
||||
+4
-3
@@ -184,6 +184,7 @@ class Monitor extends Searcher {
|
||||
case 5002:
|
||||
case 5003:
|
||||
case 5004:
|
||||
status = 0
|
||||
break;
|
||||
case 2004:
|
||||
is_exception = 2004
|
||||
@@ -421,7 +422,7 @@ class Monitor extends Searcher {
|
||||
let
|
||||
/**转发评语 */
|
||||
RandomStr = getRandomOne(relays)
|
||||
.replaceAll('${uname}', uname_map[real_uid] || uname),
|
||||
.replace(/\$\{uname\}/g, uname_map[real_uid] || uname),
|
||||
/**控制字段 */
|
||||
new_ctrl = [];
|
||||
|
||||
@@ -481,7 +482,7 @@ class Monitor extends Searcher {
|
||||
if (isSendChat) {
|
||||
onelotteryinfo.rid = rid
|
||||
onelotteryinfo.chat = getRandomOne(chats)
|
||||
.replaceAll('${uname}', uname_map[real_uid] || uname)
|
||||
.replace(/\$\{uname\}/g, uname_map[real_uid] || uname)
|
||||
}
|
||||
|
||||
alllotteryinfo.push(onelotteryinfo);
|
||||
@@ -538,7 +539,7 @@ class Monitor extends Searcher {
|
||||
[1, 4],
|
||||
() => bili.sendChat(
|
||||
rid,
|
||||
is_repost_then_chat ? relay_chat : chat,
|
||||
is_repost_then_chat ? relay_chat.split('//')[0] : chat,
|
||||
chat_type
|
||||
)
|
||||
)
|
||||
|
||||
@@ -317,6 +317,11 @@ const config = {
|
||||
"~你预约的直播已开始"
|
||||
],
|
||||
|
||||
/**
|
||||
* 是否发送运行状态通知
|
||||
*/
|
||||
notice_running_state: false,
|
||||
|
||||
/**
|
||||
* - 获取私信页数
|
||||
*/
|
||||
|
||||
+9
-2
@@ -5,6 +5,7 @@ const { Searcher } = require('./core/searcher');
|
||||
const { Monitor } = require('./core/monitor');
|
||||
const config = require('./data/config');
|
||||
const { randomDynamic } = require('./helper/randomDynamic');
|
||||
const { sendNotify } = require('./helper/notify');
|
||||
const { log } = utils;
|
||||
|
||||
async function createRandomDynamic(num) {
|
||||
@@ -23,12 +24,15 @@ async function createRandomDynamic(num) {
|
||||
|
||||
/**
|
||||
* 抽奖主函数
|
||||
* @param {string} cookie
|
||||
* @param {string} num
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
function start() {
|
||||
function start(num) {
|
||||
return new Promise(resolve => {
|
||||
let times = utils.counter();
|
||||
if (config.notice_running_state) {
|
||||
sendNotify(`动态抽奖-帐号${num}开始抽奖`, "运行正常")
|
||||
}
|
||||
/* 注册事件 */
|
||||
event_bus.on('Turn_on_the_Monitor', async () => {
|
||||
const lotterys = global_var.get("Lottery");
|
||||
@@ -48,6 +52,9 @@ function start() {
|
||||
await (new Monitor(lottery)).init();
|
||||
});
|
||||
event_bus.on('Turn_off_the_Monitor', async (msg) => {
|
||||
if (config.notice_running_state) {
|
||||
sendNotify(`动态抽奖-帐号${num}结束抽奖`, msg)
|
||||
}
|
||||
await createRandomDynamic(config.create_dy_num);
|
||||
log.info('结束抽奖', '原因: ' + msg);
|
||||
event_bus.flush();
|
||||
|
||||
@@ -21,7 +21,7 @@ let loop_wait = 0;
|
||||
* @returns {Promise<string>} 错误信息
|
||||
*/
|
||||
async function main() {
|
||||
const { COOKIE, NUMBER, CLEAR, ENABLE_MULTIPLE_ACCOUNT, MULTIPLE_ACCOUNT_PARM } = process.env;
|
||||
const { COOKIE, NOTE, NUMBER, CLEAR, ENABLE_MULTIPLE_ACCOUNT, MULTIPLE_ACCOUNT_PARM } = process.env;
|
||||
if (ENABLE_MULTIPLE_ACCOUNT) {
|
||||
let muti_acco = multiple_account.length
|
||||
? multiple_account
|
||||
@@ -33,6 +33,7 @@ async function main() {
|
||||
process.env.COOKIE = acco.COOKIE;
|
||||
process.env.NUMBER = acco.NUMBER;
|
||||
process.env.CLEAR = acco.CLEAR;
|
||||
process.env.NOTE = acco.NOTE;
|
||||
const err_msg = await main();
|
||||
if (err_msg) {
|
||||
return err_msg
|
||||
@@ -60,12 +61,12 @@ async function main() {
|
||||
case 'start':
|
||||
log.info('抽奖', '开始运行');
|
||||
loop_wait = lottery_loop_wait;
|
||||
await start();
|
||||
await start(NUMBER);
|
||||
break;
|
||||
case 'check':
|
||||
log.info('中奖检测', '检查是否中奖');
|
||||
loop_wait = check_loop_wait;
|
||||
await isMe(NUMBER);
|
||||
await isMe(NUMBER, NOTE);
|
||||
break;
|
||||
case 'clear':
|
||||
if (CLEAR) {
|
||||
|
||||
@@ -336,6 +336,11 @@ module.exports = Object.freeze({
|
||||
"~你预约的直播已开始"
|
||||
],
|
||||
|
||||
/**
|
||||
* 是否发送运行状态通知
|
||||
*/
|
||||
notice_running_state: false,
|
||||
|
||||
/**
|
||||
* - 获取私信页数
|
||||
*/
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "lottery-auto-script",
|
||||
"version": "2.4.9",
|
||||
"version": "2.5.2",
|
||||
"description": "自动参与B站动态抽奖",
|
||||
"main": "main.js",
|
||||
"scripts": {
|
||||
|
||||
Reference in New Issue
Block a user