mirror of
https://github.com/lkeme/BiliHelper-personal.git
synced 2025-12-19 01:20:08 +08:00
[fix] MainSite & Silver2Coin fixed #90
This commit is contained in:
parent
459ee15a3c
commit
7695c88817
22
CHANGELOG.md
22
CHANGELOG.md
@ -2,6 +2,28 @@
|
||||
|
||||
# 本项目Log
|
||||
|
||||
## v0.9.4.210623 alpha (2021-06-23)
|
||||
|
||||
### Added
|
||||
|
||||
-
|
||||
|
||||
### Changed
|
||||
|
||||
- 更新部分仓库文件
|
||||
-
|
||||
|
||||
### Fixed
|
||||
|
||||
- 修复PC端银瓜子兑换硬币
|
||||
- 修复主站投币任务
|
||||
- 修复点亮勋章特殊情况
|
||||
-
|
||||
|
||||
### Remarks
|
||||
|
||||
-
|
||||
|
||||
## v0.9.3.210616 alpha (2021-06-16)
|
||||
|
||||
### Added
|
||||
|
||||
70
README.md
70
README.md
@ -15,7 +15,7 @@
|
||||
|
||||
<p align="center">
|
||||
|
||||
<img src="https://img.shields.io/badge/Version-0.9.3.210616-orange.svg?longCache=true&style=for-the-badge">
|
||||
<img src="https://img.shields.io/badge/Version-0.9.4.210623-orange.svg?longCache=true&style=for-the-badge">
|
||||
<img src="https://img.shields.io/badge/PHP-7.3+-green.svg?longCache=true&style=for-the-badge">
|
||||
<img src="https://img.shields.io/badge/Composer-latest-blueviolet.svg?longCache=true&style=for-the-badge">
|
||||
<img src="https://img.shields.io/badge/License-mit-blue.svg?longCache=true&style=for-the-badge">
|
||||
@ -37,40 +37,40 @@
|
||||
|
||||
| plugin | status | version | description |
|
||||
|-----------------|--------|----------|---------------------------------------------|
|
||||
| CheckUpdate | true | 21.06.16 | 程序检查更新 |
|
||||
| Login | true | 21.06.16 | 账号登录、刷新、维持 |
|
||||
| Schedule | true | 21.06.16 | 控制插件运行周期 |
|
||||
| MainSite | true | 21.06.16 | 投币、观看、分享视频 (速升6级不是梦) |
|
||||
| DailyBag | true | 21.06.16 | 双端领取日常/周常礼包 |
|
||||
| ManGa | true | 21.06.16 | 漫画签到、分享 |
|
||||
| ActivityLottery | true | 21.06.16 | 主站活动九宫格抽奖 |
|
||||
| Competition | true | 21.06.16 | 游戏赛事竞猜 |
|
||||
| DoubleHeart | true | 21.06.16 | 双端心跳 (姥爷直播经验) |
|
||||
| DailyTask | true | 21.06.16 | 直播每日任务(签到、观看) |
|
||||
| Barrage | true | 21.06.16 | 保持活跃弹幕 |
|
||||
| Silver2Coin | true | 21.06.16 | 银瓜子兑换硬币 |
|
||||
| Judge | true | 21.06.16 | 风纪委员投票 |
|
||||
| GiftSend | true | 21.06.16 | 礼物赠送、维持每日勋章亲密度 |
|
||||
| GroupSignIn | true | 21.06.16 | 友爱社签到 |
|
||||
| GiftHeart | true | 21.06.16 | 日常心跳每日礼包礼物 |
|
||||
| SmallHeart | true | 21.06.16 | 直播挂机,每日24个小心心 |
|
||||
| MaterialObject | true | 21.06.16 | 直播金色宝箱实物抽奖 |
|
||||
| AloneTcpClient | true | 21.06.16 | 作者的独立直播监控(可支持本项目哦) |
|
||||
| ZoneTcpClient | true | 21.06.16 | 官方的分区直播监控 |
|
||||
| StormRaffle | true | 21.06.16 | 直播节奏风暴抽奖、亿元 |
|
||||
| GiftRaffle | true | 21.06.16 | 直播礼物抽奖 |
|
||||
| PkRaffle | true | 21.06.16 | 直播大乱斗抽奖 |
|
||||
| GuardRaffle | true | 21.06.16 | 直播大航海抽奖 |
|
||||
| AnchorRaffle | true | 21.06.16 | 直播天选时刻抽奖 |
|
||||
| GiftRaffle | true | 21.06.16 | 直播礼物抽奖 |
|
||||
| AwardRecord | true | 21.06.16 | 最新的中奖纪录通知 |
|
||||
| Forward | true | 21.06.16 | 主站动态抽奖转发 |
|
||||
| CapsuleLottery | true | 21.06.16 | 直播扭蛋活动抽奖 |
|
||||
| PolishTheMedal | true | 21.06.16 | 每日自动点亮灰色勋章 |
|
||||
| CapsuleLottery | true | 21.06.16 | 直播扭蛋活动抽奖 |
|
||||
| VipPrivilege | true | 21.06.16 | 每月领取年度大会员特权(B币券、会员购优惠券) |
|
||||
| BpConsumption | true | 21.06.16 | 每月消费使用年度大会员特权的B币券 |
|
||||
| Statistics | true | 21.06.16 | 全局抽奖结果统计 |
|
||||
| CheckUpdate | true | 21.06.23 | 程序检查更新 |
|
||||
| Login | true | 21.06.23 | 账号登录、刷新、维持 |
|
||||
| Schedule | true | 21.06.23 | 控制插件运行周期 |
|
||||
| MainSite | true | 21.06.23 | 投币、观看、分享视频 (速升6级不是梦) |
|
||||
| DailyBag | true | 21.06.23 | 双端领取日常/周常礼包 |
|
||||
| ManGa | true | 21.06.23 | 漫画签到、分享 |
|
||||
| ActivityLottery | true | 21.06.23 | 主站活动九宫格抽奖 |
|
||||
| Competition | true | 21.06.23 | 游戏赛事竞猜 |
|
||||
| DoubleHeart | true | 21.06.23 | 双端心跳 (姥爷直播经验) |
|
||||
| DailyTask | true | 21.06.23 | 直播每日任务(签到、观看) |
|
||||
| Barrage | true | 21.06.23 | 保持活跃弹幕 |
|
||||
| Silver2Coin | true | 21.06.23 | 银瓜子兑换硬币 |
|
||||
| Judge | true | 21.06.23 | 风纪委员投票 |
|
||||
| GiftSend | true | 21.06.23 | 礼物赠送、维持每日勋章亲密度 |
|
||||
| GroupSignIn | true | 21.06.23 | 友爱社签到 |
|
||||
| GiftHeart | true | 21.06.23 | 日常心跳每日礼包礼物 |
|
||||
| SmallHeart | true | 21.06.23 | 直播挂机,每日24个小心心 |
|
||||
| MaterialObject | true | 21.06.23 | 直播金色宝箱实物抽奖 |
|
||||
| AloneTcpClient | true | 21.06.23 | 作者的独立直播监控(可支持本项目哦) |
|
||||
| ZoneTcpClient | true | 21.06.23 | 官方的分区直播监控 |
|
||||
| StormRaffle | true | 21.06.23 | 直播节奏风暴抽奖、亿元 |
|
||||
| GiftRaffle | true | 21.06.23 | 直播礼物抽奖 |
|
||||
| PkRaffle | true | 21.06.23 | 直播大乱斗抽奖 |
|
||||
| GuardRaffle | true | 21.06.23 | 直播大航海抽奖 |
|
||||
| AnchorRaffle | true | 21.06.23 | 直播天选时刻抽奖 |
|
||||
| GiftRaffle | true | 21.06.23 | 直播礼物抽奖 |
|
||||
| AwardRecord | true | 21.06.23 | 最新的中奖纪录通知 |
|
||||
| Forward | true | 21.06.23 | 主站动态抽奖转发 |
|
||||
| CapsuleLottery | true | 21.06.23 | 直播扭蛋活动抽奖 |
|
||||
| PolishTheMedal | true | 21.06.23 | 每日自动点亮灰色勋章 |
|
||||
| CapsuleLottery | true | 21.06.23 | 直播扭蛋活动抽奖 |
|
||||
| VipPrivilege | true | 21.06.23 | 每月领取年度大会员特权(B币券、会员购优惠券) |
|
||||
| BpConsumption | true | 21.06.23 | 每月消费使用年度大会员特权的B币券 |
|
||||
| Statistics | true | 21.06.23 | 全局抽奖结果统计 |
|
||||
| Silver | false | 21.03.27 | 直播银瓜子自动开启宝箱 |
|
||||
|
||||
## 交流反馈
|
||||
|
||||
@ -31,62 +31,6 @@
|
||||
"share": "true",
|
||||
"draw_times": 1,
|
||||
"expire_at": "2021-07-15 11:59:59"
|
||||
},
|
||||
{
|
||||
"url": "https://www.bilibili.com/blackboard/activity-aT7zphkwF1.html",
|
||||
"title": "初夏逛吃大会",
|
||||
"description": "活动期间每天分享页面,新增一次机会。",
|
||||
"sid": "01aff78a-9e1a-11eb-8597-246e966235d8",
|
||||
"login": "true",
|
||||
"follow": "false",
|
||||
"share": "true",
|
||||
"draw_times": 1,
|
||||
"expire_at": "2021-06-10 23:59:59"
|
||||
},
|
||||
{
|
||||
"url": "https://www.bilibili.com/blackboard/activity-Tpo81ydpiW.html",
|
||||
"title": "和平精英周年庆嘉年华1次",
|
||||
"description": "活动期间每天分享页面,新增一次机会。",
|
||||
"sid": "e2d93baa-96b9-11eb-8597-246e966235d8",
|
||||
"login": "true",
|
||||
"follow": "false",
|
||||
"share": "true",
|
||||
"draw_times": 1,
|
||||
"expire_at": "2021-06-15 23:59:59"
|
||||
},
|
||||
{
|
||||
"url": "https://www.bilibili.com/blackboard/activity-Tpo81ydpiW.html",
|
||||
"title": "和平精英周年庆嘉年华2次",
|
||||
"description": "活动期间每天分享页面,新增一次机会。",
|
||||
"sid": "e2d93baa-96b9-11eb-8597-246e966235d8",
|
||||
"login": "true",
|
||||
"follow": "false",
|
||||
"share": "true",
|
||||
"draw_times": 1,
|
||||
"expire_at": "2021-06-15 23:59:59"
|
||||
},
|
||||
{
|
||||
"url": "https://www.bilibili.com/blackboard/activity-Tpo81ydpiW.html",
|
||||
"title": "和平精英周年庆嘉年华3次",
|
||||
"description": "活动期间每天分享页面,新增一次机会。",
|
||||
"sid": "e2d93baa-96b9-11eb-8597-246e966235d8",
|
||||
"login": "true",
|
||||
"follow": "false",
|
||||
"share": "true",
|
||||
"draw_times": 1,
|
||||
"expire_at": "2021-06-15 23:59:59"
|
||||
}
|
||||
,
|
||||
{
|
||||
"url": "https://www.bilibili.com/blackboard/topic/activity-natsume.html",
|
||||
"title": "夏目友人帐新作动画有奖预约页",
|
||||
"description": "活动期间每天分享页面,新增一次机会。",
|
||||
"sid": "a213c0b5-b6d4-11eb-8597-246e966235d8",
|
||||
"login": "true",
|
||||
"follow": "false",
|
||||
"share": "true",
|
||||
"draw_times": 1,
|
||||
"expire_at": "2021-06-15 23:59:59"
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -5,9 +5,9 @@
|
||||
"data": [
|
||||
{
|
||||
"_url": "注释: 活动地址",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-raop07Ymhm.html",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-kiOl0D1nF8.html",
|
||||
"_title": "注释: 活动标题",
|
||||
"title": "原神1.5版本UP主激励计划",
|
||||
"title": "原神1.6版本UP主激励计划",
|
||||
"_description": "注释: 活动描述",
|
||||
"description": "每日在原神分区任意直播间观看,20分钟1张、1小时2张、2小时3张,每日最高6张。",
|
||||
"_room_id": "注释: 活动直播间,如果为0,则取分区随机一个",
|
||||
@ -17,13 +17,15 @@
|
||||
"_parent_area_id": "注释: 主分区id",
|
||||
"parent_area_id": 3,
|
||||
"_coin_id": "注释: 抽奖id",
|
||||
"coin_id": 135,
|
||||
"coin_id": 165,
|
||||
"_pool_id": "注释: 抽奖id",
|
||||
"pool_id": 179,
|
||||
"_watch_time": "注释: 观看时长 单位秒",
|
||||
"watch_time": 7320,
|
||||
"_draw_times": "注释: 抽奖次数",
|
||||
"draw_times": 1,
|
||||
"draw_times": 6,
|
||||
"_expire_at": "注释: 活动有效时间",
|
||||
"expire_at": "2021-06-08 23:59:59"
|
||||
"expire_at": "2021-07-20 23:59:59"
|
||||
},
|
||||
{
|
||||
"url": "https://live.bilibili.com/11218604",
|
||||
@ -32,10 +34,11 @@
|
||||
"room_id": 11218604,
|
||||
"area_id": 0,
|
||||
"parent_area_id": 2,
|
||||
"coin_id": 129,
|
||||
"coin_id": 170,
|
||||
"pool_id": 183,
|
||||
"watch_time": 3720,
|
||||
"draw_times": 3,
|
||||
"expire_at": "2021-05-30 23:59:59"
|
||||
"expire_at": "2021-06-27 23:59:59"
|
||||
},
|
||||
{
|
||||
"url": "https://live.bilibili.com/6",
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
"source": "https://github.com/lkeme/BiliHelper-personal",
|
||||
"raw_url": "https://cdn.jsdelivr.net/gh/lkeme/BiliHelper-personal@master/data/latest_version.json",
|
||||
"purge_url": "https://purge.jsdelivr.net/gh/lkeme/BiliHelper-personal@master/data/latest_version.json",
|
||||
"version": "0.9.2.210602",
|
||||
"version": "0.9.4.210623",
|
||||
"des": "程序有更新,请及时线上查看更新哦~",
|
||||
"time": "2021年6月2日21:40:35"
|
||||
"time": "2021年6月23日21:40:35"
|
||||
}
|
||||
@ -42,7 +42,7 @@ class App
|
||||
* @param string $load_file
|
||||
* @return $this
|
||||
*/
|
||||
public function load($load_file = 'user.ini'): App
|
||||
public function load(string $load_file = 'user.ini'): App
|
||||
{
|
||||
Config::load($load_file);
|
||||
return $this;
|
||||
|
||||
@ -246,7 +246,7 @@ class Live
|
||||
{
|
||||
$room_id = self::getRealRoomID($room_id);
|
||||
if (!$room_id) {
|
||||
return ['code' => 404, 'msg' => '直播间数据异常'];
|
||||
return ['code' => 404, 'message' => '直播间数据异常'];
|
||||
}
|
||||
$url = 'https://api.live.bilibili.com/msg/send';
|
||||
$payload = [
|
||||
@ -279,7 +279,7 @@ class Live
|
||||
{
|
||||
$room_id = self::getRealRoomID($room_id);
|
||||
if (!$room_id) {
|
||||
return ['code' => 404, 'msg' => '直播间数据异常'];
|
||||
return ['code' => 404, 'message' => '直播间数据异常'];
|
||||
}
|
||||
$url = 'https://api.live.bilibili.com/msg/send';
|
||||
$payload = [
|
||||
|
||||
@ -50,13 +50,15 @@ class MainSite
|
||||
'Referer' => "https://www.bilibili.com/video/av{$aid}",
|
||||
'User-Agent' => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36",
|
||||
];
|
||||
// {"code":34005,"message":"超过投币上限啦~","ttl":1,"data":{"like":false}}
|
||||
// {"code":0,"message":"0","ttl":1,"data":{"like":false}}
|
||||
$raw = Curl::post('app', $url, Sign::common($payload), $headers);
|
||||
$de_raw = json_decode($raw, true);
|
||||
if ($de_raw['code'] == 0) {
|
||||
Log::notice("主站任务: av{$aid} 投币成功");
|
||||
Log::notice("主站任务: av{$aid} 投币成功 {$de_raw['code']} MSG -> {$de_raw['message']}");
|
||||
return true;
|
||||
} else {
|
||||
Log::warning("主站任务: av{$aid} 投币失败");
|
||||
Log::warning("主站任务: av{$aid} 投币失败 CODE -> {$de_raw['code']} MSG -> {$de_raw['message']}");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -120,7 +122,7 @@ class MainSite
|
||||
// 稿件列表
|
||||
if (getConf('add_coin_mode', 'main_site') == 'random') {
|
||||
// 随机热门稿件榜单
|
||||
$aids = self::getDayRankingAids($actual_num);
|
||||
$aids = self::getTopRCmdAids($actual_num);
|
||||
} else {
|
||||
// 固定获取关注UP稿件榜单, 不足会随机补全
|
||||
$aids = self::getFollowUpAids($actual_num);
|
||||
@ -181,7 +183,7 @@ class MainSite
|
||||
}
|
||||
// 此处补全缺失
|
||||
if (count($aids) < $num) {
|
||||
$aids = array_merge($aids, self::getDayRankingAids($num - count($aids)));
|
||||
$aids = array_merge($aids, self::getTopRCmdAids($num - count($aids)));
|
||||
}
|
||||
return $aids;
|
||||
}
|
||||
@ -222,6 +224,34 @@ class MainSite
|
||||
return $aids;
|
||||
}
|
||||
|
||||
/**
|
||||
* @use 首页推荐
|
||||
* @param int $num
|
||||
* @param int $ps
|
||||
* @return array
|
||||
*/
|
||||
private static function getTopRCmdAids(int $num, int $ps = 30): array
|
||||
{
|
||||
// 动画1 国创168 音乐3 舞蹈129 游戏4 知识36 科技188 汽车223 生活160 美食211 动物圈127 鬼畜119 时尚155 资讯202 娱乐5 影视181
|
||||
$rids = [1, 168, 3, 129, 4, 36, 188, 223, 160, 211, 127, 119, 155, 202, 5, 181];
|
||||
$aids = [];
|
||||
$url = 'https://api.bilibili.com/x/web-interface/dynamic/region';
|
||||
$payload = [
|
||||
'ps' => $ps,
|
||||
'rid' => $rids[array_rand($rids)],
|
||||
];
|
||||
$raw = Curl::get('other', $url, $payload);
|
||||
$de_raw = json_decode($raw, true);
|
||||
if ($de_raw['code'] == 0) {
|
||||
$temps = array_rand($de_raw['data']['archives'], $num);
|
||||
foreach ($temps as $temp) {
|
||||
array_push($aids, $de_raw['data']['archives'][$temp]['aid']);
|
||||
}
|
||||
return $aids;
|
||||
}
|
||||
return self::getDayRankingAids($num);
|
||||
}
|
||||
|
||||
/**
|
||||
* @use 分享视频
|
||||
* @return bool
|
||||
|
||||
@ -43,7 +43,7 @@ class Silver2Coin
|
||||
$raw = Curl::get('app', $url, Sign::common($payload));
|
||||
$de_raw = json_decode($raw, true);
|
||||
|
||||
return self::handle('APP', $de_raw);
|
||||
return self::appHandle('APP', $de_raw);
|
||||
|
||||
}
|
||||
|
||||
@ -54,13 +54,18 @@ class Silver2Coin
|
||||
protected static function pcSilver2coin(): bool
|
||||
{
|
||||
sleep(0.5);
|
||||
$payload = [];
|
||||
$payload = [
|
||||
'csrf_token' => getCsrf(),
|
||||
'csrf' => getCsrf(),
|
||||
'visit_id' => ''
|
||||
];
|
||||
$url = "https://api.live.bilibili.com/exchange/silver2coin";
|
||||
$url = "https://api.live.bilibili.com/pay/v1/Exchange/silver2coin";
|
||||
$raw = Curl::get('pc', $url, $payload);
|
||||
$url = "https://api.live.bilibili.com/xlive/revenue/v1/wallet/silver2coin";
|
||||
$raw = Curl::post('pc', $url, $payload);
|
||||
$de_raw = json_decode($raw, true);
|
||||
|
||||
return self::handle('PC', $de_raw);
|
||||
return self::pcHandle('PC', $de_raw);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -69,7 +74,7 @@ class Silver2Coin
|
||||
* @param array $data
|
||||
* @return bool
|
||||
*/
|
||||
private static function handle(string $type, array $data): bool
|
||||
private static function appHandle(string $type, array $data): bool
|
||||
{
|
||||
// {"code":403,"msg":"每天最多能兑换 1 个","message":"每天最多能兑换 1 个","data":[]}
|
||||
// {"code":403,"msg":"仅主站正式会员以上的用户可以兑换","message":"仅主站正式会员以上的用户可以兑换","data":[]}
|
||||
@ -86,4 +91,28 @@ class Silver2Coin
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @use 处理结果
|
||||
* @param string $type
|
||||
* @param array $data
|
||||
* @return bool
|
||||
*/
|
||||
private static function pcHandle(string $type, array $data): bool
|
||||
{
|
||||
// {"code":403,"msg":"每天最多能兑换 1 个","message":"每天最多能兑换 1 个","data":[]}
|
||||
// {"code":403,"msg":"仅主站正式会员以上的用户可以兑换","message":"仅主站正式会员以上的用户可以兑换","data":[]}
|
||||
// {"code":0,"msg":"兑换成功","message":"兑换成功","data":{"gold":"5074","silver":"36734","tid":"727ab65376a15a6b117cf560a20a21122334","coin":1}}
|
||||
switch ($data['code']) {
|
||||
case 0:
|
||||
Log::notice("[{$type}] 银瓜子兑换硬币: {$data['message']}");
|
||||
return true;
|
||||
case 403:
|
||||
Log::warning("[{$type}] 银瓜子兑换硬币: {$data['message']}");
|
||||
return true;
|
||||
default:
|
||||
Log::warning("[{$type}] 银瓜子兑换硬币: CODE -> {$data['code']} MSG -> {$data['message']} ");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user