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);