From bf626504d5541c06ef2e40036cfcbf4786f81ce5 Mon Sep 17 00:00:00 2001
From: lkeme <1462364497@qq.com>
Date: Tue, 5 May 2020 17:14:13 +0800
Subject: [PATCH] [fix] BaseRaffle
---
CHANGELOG.md | 16 +++++++++++
DOC.md | 52 ++++++++++++++++++------------------
README.md | 2 +-
src/core/Log.php | 3 ++-
src/plugin/BaseRaffle.php | 4 +--
src/plugin/MasterSite.php | 2 +-
src/plugin/Match.php | 15 ++++++-----
src/plugin/StormRaffle.php | 4 +++
src/plugin/ZoneTcpClient.php | 1 +
9 files changed, 61 insertions(+), 38 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e85ee21..15b95bc 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,22 @@
# Release Notes
# 本项目Log
+## v0.4.0.200505 alpha (2020-05-05)
+
+### Added
+-
+
+### Changed
+- 关闭已结束的LPL赛事任务
+-
+
+### Fixed
+- 修复日志回调空格解析异常
+- 修复节奏风暴回显过滤错误
+- 修复活动抽奖重复请求问题
+- 修复主站任务获取AID异常
+-
+
## v0.4.0.200428 alpha (2020-04-28)
### Added
diff --git a/DOC.md b/DOC.md
index c2c6b34..5ec250e 100644
--- a/DOC.md
+++ b/DOC.md
@@ -2,7 +2,7 @@

-
+
@@ -15,31 +15,31 @@ B 站直播实用脚本
|plugin |version |description |
|--------------------|--------------------|--------------------|
-|Login |20.04.26 |账号登录 |
-|Schedule |20.04.26 |休眠控制 |
-|MasterSite |20.04.26 |主站助手 |
-|Daily |20.04.26 |每日礼包 |
-|Heart |20.04.26 |双端心跳 |
-|Task |20.04.26 |每日任务 |
-|Silver |20.04.26 |银瓜子宝箱 |
-|Barrage |20.04.26 |活跃弹幕 |
-|Silver2Coin |20.04.26 |银瓜子换硬币 |
-|GiftSend |20.04.26 |礼物赠送 |
-|Judge |20.04.26 |风纪 |
-|GroupSignIn |20.04.26 |友爱社签到 |
-|ManGa |20.04.26 |漫画签到分享 |
-|Match |20.04.26 |赛事签到分享 |
-|GiftHeart |20.04.26 |心跳礼物 |
-|MaterialObject |20.04.26 |实物抽奖 |
-|AloneTcpClient |20.04.26 |独立监控 |
-|ZoneTcpClient |20.04.26 |分区监控 |
-|StormRaffle |20.04.26 |节奏风暴 |
-|GiftRaffle |20.04.26 |活动礼物 |
-|PkRaffle |20.04.26 |大乱斗 |
-|GuardRaffle |20.04.26 |舰长总督 |
-|AnchorRaffle |20.04.26 |天选时刻 |
-|AwardRecord |20.04.26 |获奖通知 |
-|Statistics |20.04.26 |数据统计 |
+|Login |20.05.05 |账号登录 |
+|Schedule |20.05.05 |休眠控制 |
+|MasterSite |20.05.05 |主站助手 |
+|Daily |20.05.05 |每日礼包 |
+|Heart |20.05.05 |双端心跳 |
+|Task |20.05.05 |每日任务 |
+|Silver |20.05.05 |银瓜子宝箱 |
+|Barrage |20.05.05 |活跃弹幕 |
+|Silver2Coin |20.05.05 |银瓜子换硬币 |
+|GiftSend |20.05.05 |礼物赠送 |
+|Judge |20.05.05 |风纪 |
+|GroupSignIn |20.05.05 |友爱社签到 |
+|ManGa |20.05.05 |漫画签到分享 |
+|Match |20.05.05 |赛事签到分享 |
+|GiftHeart |20.05.05 |心跳礼物 |
+|MaterialObject |20.05.05 |实物抽奖 |
+|AloneTcpClient |20.05.05 |独立监控 |
+|ZoneTcpClient |20.05.05 |分区监控 |
+|StormRaffle |20.05.05 |节奏风暴 |
+|GiftRaffle |20.05.05 |活动礼物 |
+|PkRaffle |20.05.05 |大乱斗 |
+|GuardRaffle |20.05.05 |舰长总督 |
+|AnchorRaffle |20.05.05 |天选时刻 |
+|AwardRecord |20.05.05 |获奖通知 |
+|Statistics |20.05.05 |数据统计 |
## 打赏赞助
diff --git a/README.md b/README.md
index 8e52eb5..d9151ee 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@ Group: [55308141](https://jq.qq.com/?_wv=1027&k=5AIDaJg) | **仅用于BUG提交
## 公告
-> Currently for Personal Edition **0.4.0.200426 alpha**
+> Currently for Personal Edition **0.4.0.200505 alpha**
```notice
---- 免费的东西总是得不到人的珍惜。
diff --git a/src/core/Log.php b/src/core/Log.php
index 67e54e0..9936931 100644
--- a/src/core/Log.php
+++ b/src/core/Log.php
@@ -13,6 +13,7 @@ namespace BiliHelper\Core;
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Bramus\Monolog\Formatter\ColoredLineFormatter;
+use function GuzzleHttp\Psr7\str;
class Log
{
@@ -104,7 +105,7 @@ class Log
$url = str_replace('{account}', self::prefix(), getenv('APP_CALLBACK'));
$url = str_replace('{level}', $level, $url);
$url = str_replace('{message}', urlencode($message), $url);
- Curl::request('get', $url);
+ Curl::request('get', str_replace(' ', '%20', $url));
}
}
}
\ No newline at end of file
diff --git a/src/plugin/BaseRaffle.php b/src/plugin/BaseRaffle.php
index 8a92e59..4010538 100644
--- a/src/plugin/BaseRaffle.php
+++ b/src/plugin/BaseRaffle.php
@@ -155,8 +155,8 @@ abstract class BaseRaffle
if (in_array($lid, static::$all_list)) {
return true;
}
- if (count(static::$all_list) > 1000) {
- static::$all_list = [];
+ if (count(static::$all_list) > 4000) {
+ static::$all_list = array_values(array_splice(static::$all_list, 2000, 2000));
}
if ($filter) {
array_push(static::$all_list, $lid);
diff --git a/src/plugin/MasterSite.php b/src/plugin/MasterSite.php
index 68e6408..c76eb6a 100644
--- a/src/plugin/MasterSite.php
+++ b/src/plugin/MasterSite.php
@@ -183,7 +183,7 @@ class MasterSite
$de_raw = json_decode($raw, true);
for ($i = 0; $i < $num; $i++) {
while (true) {
- $rand_num = mt_rand(1, 100);
+ $rand_num = mt_rand(1, 99);
if (in_array($rand_num, $rand_nums)) {
continue;
} else {
diff --git a/src/plugin/Match.php b/src/plugin/Match.php
index 125b71a..cf87ae7 100644
--- a/src/plugin/Match.php
+++ b/src/plugin/Match.php
@@ -21,13 +21,13 @@ class Match
private static $tasks = ['sign', 'share'];
private static $check_status = false;
private static $room_infos = [
- 'LPL' => [
- 'type_id' => 25,
- 'room_id' => 7734200,
- 'short_room_id' => 6,
- 'lottery_id' => 46,
- 'status' => true
- ],
+// 'LPL' => [
+// 'type_id' => 25,
+// 'room_id' => 7734200,
+// 'short_room_id' => 6,
+// 'lottery_id' => 46,
+// 'status' => true
+// ],
'OW' => [
'type_id' => 26,
'room_id' => 14073662,
@@ -49,6 +49,7 @@ class Match
if (self::getLock() > time() || getenv('USE_MATCH') == 'false') {
return;
}
+ // TODO 赛事访问拒绝
self::initTask();
self::filterTask();
self::workTask();
diff --git a/src/plugin/StormRaffle.php b/src/plugin/StormRaffle.php
index 165dc58..598753e 100644
--- a/src/plugin/StormRaffle.php
+++ b/src/plugin/StormRaffle.php
@@ -122,6 +122,10 @@ class StormRaffle extends BaseRaffle
Log::notice(self::formatInfo($raffle['raffle_id'], $num, $de_raw['data']['mobile_content']));
break;
}
+ if (!isset($de_raw['msg'])) {
+ Log::notice(self::formatInfo($raffle['raffle_id'], $num, $de_raw));
+ break;
+ }
if ($de_raw['msg'] == '节奏风暴不存在' || $de_raw['msg'] == '节奏风暴抽奖过期' || $de_raw['msg'] == '没抢到') {
Log::notice(self::formatInfo($raffle['raffle_id'], $num, '节奏风暴已经结束'));
break;
diff --git a/src/plugin/ZoneTcpClient.php b/src/plugin/ZoneTcpClient.php
index 1cf35d9..b8121b0 100644
--- a/src/plugin/ZoneTcpClient.php
+++ b/src/plugin/ZoneTcpClient.php
@@ -505,6 +505,7 @@ class ZoneTcpClient
if ($ret)
break;
}
+ // TODO unable to read from socket[104]: Connection reset by peer
$ret = socket_recv($socket, $buffer, $length, 0);
if ($ret < 1) {
Log::warning("Socket error: [{$ret}] [{$length}]" . PHP_EOL);