mirror of
https://github.com/lkeme/BiliHelper-personal.git
synced 2025-12-19 01:20:08 +08:00
[update] Version 2.3.0.230821
This commit is contained in:
parent
259cd5e81c
commit
1dabaa7213
2
.gitignore
vendored
2
.gitignore
vendored
@ -36,3 +36,5 @@ index1.php
|
||||
|
||||
.phpunit.*
|
||||
captcha/data.json
|
||||
|
||||
plugin/FansMedalIntimacy/
|
||||
|
||||
@ -29,7 +29,7 @@
|
||||
|
||||
<p align=center>
|
||||
|
||||
<img src="https://img.shields.io/badge/Version-2.2.0.230806-orange.svg?longCache=true&style=for-the-badge" alt="">
|
||||
<img src="https://img.shields.io/badge/Version-2.3.0.230821-orange.svg?longCache=true&style=for-the-badge" alt="">
|
||||
<img src="https://img.shields.io/badge/PHP-8.1+-green.svg?longCache=true&style=for-the-badge" alt="">
|
||||
<img src="https://img.shields.io/badge/Composer-latest-blueviolet.svg?longCache=true&style=for-the-badge" alt="">
|
||||
<img src="https://img.shields.io/badge/License-mit-blue.svg?longCache=true&style=for-the-badge" alt="">
|
||||
@ -117,7 +117,7 @@ Group: [602815575](https://jq.qq.com/?_wv=1027&k=UaalVexM) | **请不要来问
|
||||
| DailyGold | 0.0.1 | 每日电池(APP) | Lkeme | 1114 | 24(小时) | √ |
|
||||
| PolishMedal | 0.0.1 | 点亮灰色勋章 | possible318/Lkeme | 1115 | 1(小时) | √ |
|
||||
| BatchUnfollow | 0.0.1 | 批量取消关注 | Lkeme | 1116 | 5-10(分钟) | √ |
|
||||
|
||||
| ActivityLottery | 0.0.1 | 转盘活动 | Lkeme | 1117 | 1(分钟) | √ |
|
||||
</details>
|
||||
|
||||
## 🖥️星图
|
||||
|
||||
@ -8,6 +8,25 @@
|
||||
|
||||
[comment]: <> (</details>)
|
||||
|
||||
## v2.3.0.230821 alpha (2023-08-21)
|
||||
|
||||
### Added
|
||||
|
||||
- 转盘活动插件
|
||||
-
|
||||
|
||||
### Changed
|
||||
|
||||
-
|
||||
|
||||
### Fixed
|
||||
|
||||
-
|
||||
|
||||
### Remarks
|
||||
|
||||
- 请注意配置文件有所变动,注意更新。
|
||||
|
||||
## v2.2.0.230806 alpha (2023-08-06)
|
||||
|
||||
### Added
|
||||
|
||||
329
plugin/ActivityLottery/ActivityLottery.php
Normal file
329
plugin/ActivityLottery/ActivityLottery.php
Normal file
@ -0,0 +1,329 @@
|
||||
<?php declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* Website: https://mudew.com/
|
||||
* Author: Lkeme
|
||||
* License: The MIT License
|
||||
* Email: Useri@live.cn
|
||||
* Updated: 2023 ~ 2024
|
||||
*
|
||||
* _____ _ _ _ _ _ _____ _ _____ _____ _____
|
||||
* | _ \ | | | | | | | | | | | ____| | | | _ \ | ____| | _ \ & /l、
|
||||
* | |_| | | | | | | | | |_| | | |__ | | | |_| | | |__ | |_| | (゚、 。 7
|
||||
* | _ { | | | | | | | _ | | __| | | | ___/ | __| | _ / \、゙ ~ヽ *
|
||||
* | |_| | | | | |___ | | | | | | | |___ | |___ | | | |___ | | \ \ じしf_, )ノ
|
||||
* |_____/ |_| |_____| |_| |_| |_| |_____| |_____| |_| |_____| |_| \_\
|
||||
*/
|
||||
|
||||
use Bhp\Cache\Cache;
|
||||
use Bhp\Log\Log;
|
||||
use Bhp\Notice\Notice;
|
||||
use Bhp\Plugin\BasePlugin;
|
||||
use Bhp\Plugin\Plugin;
|
||||
use Bhp\Request\Request;
|
||||
use Bhp\TimeLock\TimeLock;
|
||||
use function Amp\delay;
|
||||
|
||||
class ActivityLottery extends BasePlugin
|
||||
{
|
||||
/**
|
||||
* 插件信息
|
||||
* @var array|string[]
|
||||
*/
|
||||
protected ?array $info = [
|
||||
'hook' => __CLASS__, // hook
|
||||
'name' => 'ActivityLottery', // 插件名称
|
||||
'version' => '0.0.1', // 插件版本
|
||||
'desc' => '转盘活动', // 插件描述
|
||||
'author' => 'Lkeme',// 作者
|
||||
'priority' => 1117, // 插件优先级
|
||||
'cycle' => '1(分钟)', // 运行周期
|
||||
// 新增字段
|
||||
'start' => '08:00:00', // 插件开始日期
|
||||
'end' => '23:00:00', // 插件结束日期
|
||||
];
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected array $config = [
|
||||
'invalid_sids' => [],
|
||||
'wait_add_infos' => [],
|
||||
'wait_get_infos' => [],
|
||||
'wait_do_infos' => [],
|
||||
];
|
||||
|
||||
/**
|
||||
* @param Plugin $plugin
|
||||
*/
|
||||
public function __construct(Plugin &$plugin)
|
||||
{
|
||||
// 时间锁
|
||||
TimeLock::initTimeLock();
|
||||
// 缓存
|
||||
Cache::initCache();
|
||||
// $this::class
|
||||
$plugin->register($this, 'execute');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 执行
|
||||
* @return void
|
||||
*/
|
||||
public function execute(): void
|
||||
{
|
||||
// 时间段限制
|
||||
// if (!TimeLock::isWithinTimeRange($this->info['start'], $this->info['end'])) return;
|
||||
// 时间锁限制
|
||||
if (TimeLock::getTimes() > time() || !getEnable('activity_lottery')) return;
|
||||
|
||||
//
|
||||
$this->initConfig();
|
||||
|
||||
delay(1);
|
||||
|
||||
// 获取远程数据
|
||||
$this->fetchRemoteInfos();
|
||||
|
||||
delay(1);
|
||||
|
||||
// 增加次数
|
||||
$this->addMyTimes();
|
||||
|
||||
delay(1);
|
||||
|
||||
// 查询次数
|
||||
$this->getMyTimes();
|
||||
|
||||
delay(1);
|
||||
|
||||
// 执行次数
|
||||
$this->doMyTimes();
|
||||
|
||||
//
|
||||
if (isset($this->config[date("Y-m-d")]['add']) && isset($this->config[date("Y-m-d")]['get']) && isset($this->config[date("Y-m-d")]['do'])) {
|
||||
TimeLock::setTimes(TimeLock::timing(11) + mt_rand(1, 120) * 60);
|
||||
} else {
|
||||
TimeLock::setTimes(65);
|
||||
}
|
||||
|
||||
//
|
||||
$this->initConfig(true);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param bool $ending
|
||||
* @return void
|
||||
*/
|
||||
protected function initConfig(bool $ending = false): void
|
||||
{
|
||||
if ($ending) {
|
||||
Cache::set('config', $this->config);
|
||||
} else {
|
||||
$this->config = Cache::get('config');
|
||||
$keys = ['invalid_sids', 'wait_add_infos', 'wait_get_infos', 'wait_do_infos'];
|
||||
foreach ($keys as $key) {
|
||||
if (!isset($this->config[$key])) $this->config[$key] = [];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 执行次数
|
||||
* @return void
|
||||
*/
|
||||
protected function doMyTimes(): void
|
||||
{
|
||||
if (isset($this->config[date("Y-m-d")]['do'])) return;
|
||||
//
|
||||
if (empty($this->config['wait_add_infos']) && empty($this->config['wait_get_infos']) && empty($this->config['wait_do_infos'])) {
|
||||
$this->config[date("Y-m-d")]['do'] = true;
|
||||
return;
|
||||
};
|
||||
//
|
||||
$info = array_shift($this->config['wait_do_infos']);
|
||||
if (is_null($info)) return;
|
||||
//
|
||||
Log::info("转盘活动: 当前活动 {$info['title']} 开始执行次数");
|
||||
//
|
||||
$response = Bhp\Api\Api\X\Activity\ApiActivity::doLottery($info);
|
||||
//
|
||||
$this->_doMyTimes($info, $response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 执行次数
|
||||
* @param array $info
|
||||
* @param array $data
|
||||
* @return void
|
||||
*/
|
||||
protected function _doMyTimes(array $info, array $data): void
|
||||
{
|
||||
// 结束|无效
|
||||
if ($data['code'] == 170001 || $data['code'] == 175003) {
|
||||
Log::warning("转盘活动: 当前活动 {$info['title']} 已经结束或失效 Error: {$data['code']} -> {$data['message']}");
|
||||
return;
|
||||
}
|
||||
//
|
||||
if ($data['code'] != 0) {
|
||||
Log::warning("转盘活动: 当前活动 {$info['title']} 执行失败 Error: {$data['code']} -> {$data['message']}");
|
||||
return;
|
||||
}
|
||||
if (str_contains($data['data'][0]['gift_name'], '未中奖') || $data['data'][0]['gift_id'] == 0) {
|
||||
Log::notice("转盘活动: 当前活动 {$info['title']} 可能没有收获 {$data['data'][0]['gift_name']} ");
|
||||
return;
|
||||
}
|
||||
//
|
||||
Log::notice("转盘活动: 当前活动 {$info['title']} 执行成功 {$data['data'][0]['gift_name']}");
|
||||
Notice::push('activity_lottery', "转盘活动: 当前活动 {$info['title']} 执行成功 {$data['data'][0]['gift_name']}");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询次数
|
||||
* @return void
|
||||
*/
|
||||
protected function getMyTimes(): void
|
||||
{
|
||||
if (isset($this->config[date("Y-m-d")]['get'])) return;
|
||||
//
|
||||
if (empty($this->config['wait_add_infos']) && empty($this->config['wait_get_infos'])) {
|
||||
$this->config[date("Y-m-d")]['get'] = true;
|
||||
return;
|
||||
};
|
||||
//
|
||||
$info = array_shift($this->config['wait_get_infos']);
|
||||
if (is_null($info)) return;
|
||||
//
|
||||
Log::info("转盘活动: 当前活动 {$info['title']} 开始查询次数");
|
||||
//
|
||||
$response = Bhp\Api\Api\X\Activity\ApiActivity::myTimes($info);
|
||||
//
|
||||
$this->_getMyTimes($info, $response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询次数
|
||||
* @param array $info
|
||||
* @param array $data
|
||||
* @return void
|
||||
*/
|
||||
protected function _getMyTimes(array $info, array $data): void
|
||||
{
|
||||
// 结束|无效
|
||||
if ($data['code'] == 170001 || $data['code'] == 175003) {
|
||||
Log::warning("转盘活动: 当前活动 {$info['title']} 已经结束或失效 Error: {$data['code']} -> {$data['message']}");
|
||||
return;
|
||||
}
|
||||
//
|
||||
if ($data['code'] != 0 || !isset($data['data']['times'])) {
|
||||
Log::warning("转盘活动: 当前活动 {$info['title']} 获取次数失败 Error: {$data['code']} -> {$data['message']}");
|
||||
return;
|
||||
}
|
||||
//
|
||||
if ($data['data']['times'] == 0) {
|
||||
Log::warning("转盘活动: 当前活动 {$info['title']} 没有次数了");
|
||||
return;
|
||||
}
|
||||
//
|
||||
Log::info("转盘活动: 当前活动 {$info['title']} 剩余次数 {$data['data']['times']}");
|
||||
for ($i = 0; $i < $data['data']['times']; $i++) {
|
||||
$this->config['wait_do_infos'][] = $info;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 增加次数
|
||||
* @return void
|
||||
*/
|
||||
protected function addMyTimes(): void
|
||||
{
|
||||
if (isset($this->config[date("Y-m-d")]['add'])) return;
|
||||
//
|
||||
if (empty($this->config['wait_add_infos'])) {
|
||||
$this->config[date("Y-m-d")]['add'] = true;
|
||||
return;
|
||||
};
|
||||
//
|
||||
$info = array_shift($this->config['wait_add_infos']);
|
||||
if (is_null($info)) return;
|
||||
//
|
||||
Log::info("转盘活动: 当前活动 {$info['title']} 开始增加次数");
|
||||
//
|
||||
$response = Bhp\Api\Api\X\Activity\ApiActivity::addTimes($info);
|
||||
//
|
||||
$this->_addMyTimes($info, $response);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 增加次数
|
||||
* @param array $info
|
||||
* @param array $data
|
||||
* @return void
|
||||
*/
|
||||
protected function _addMyTimes(array $info, array $data): void
|
||||
{
|
||||
// 结束|无效
|
||||
if ($data['code'] == 170001 || $data['code'] == 175003) {
|
||||
Log::warning("转盘活动: 当前活动 {$info['title']} 已经结束或失效 Error: {$data['code']} -> {$data['message']}");
|
||||
return;
|
||||
}
|
||||
//
|
||||
if ($data['code'] != 0 || !isset($data['data']['add_num'])) {
|
||||
Log::warning("转盘活动: 当前活动 {$info['title']} 增加次数失败 Error: {$data['code']} -> {$data['message']}");
|
||||
return;
|
||||
}
|
||||
//
|
||||
Log::info("转盘活动: 当前活动 {$info['title']} 增加次数 {$data['data']['add_num']}");
|
||||
$this->config['wait_get_infos'][] = $info;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取远程数据
|
||||
* @return void
|
||||
*/
|
||||
protected function fetchRemoteInfos(): void
|
||||
{
|
||||
if (isset($this->config[date("Y-m-d")]['fetch'])) return;
|
||||
//
|
||||
$this->config['wait_add_infos'] = [];
|
||||
$this->config['wait_get_infos'] = [];
|
||||
$this->config['wait_do_infos'] = [];
|
||||
//
|
||||
$url = 'aHR0cHM6Ly9yYXcua2dpdGh1Yi5jb20vbGtlbWUvQmlsaUhlbHBlci1wZXJzb25hbC9tYXN0ZXIvcmVzb3VyY2VzL2FjdGl2aXR5X2luZm9zLmpzb24=';
|
||||
$url = base64_decode($url);
|
||||
$response = Request::getJson(false, 'other', $url);
|
||||
//
|
||||
$this->_fetchRemoteInfos($response['data']);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取远程数据
|
||||
* @param array $data
|
||||
* @return void
|
||||
*/
|
||||
protected function _fetchRemoteInfos(array $data): void
|
||||
{
|
||||
$new_data = [];
|
||||
//
|
||||
foreach ($data as $_ => $value) {
|
||||
// 活动无效
|
||||
if (in_array($value['sid'], $this->config['invalid_sids'])) continue;
|
||||
$new_data[] = $value;
|
||||
}
|
||||
// 获取乱序数据
|
||||
shuffle($new_data);
|
||||
$this->config['wait_add_infos'] = $new_data;
|
||||
//
|
||||
Log::info("转盘活动: 获取远程数据" . count($new_data) . "条");
|
||||
//
|
||||
$this->config[date("Y-m-d")]['fetch'] = true;
|
||||
}
|
||||
|
||||
}
|
||||
@ -132,6 +132,10 @@ everyday = false
|
||||
enable = false
|
||||
tag = all
|
||||
|
||||
; 转盘活动
|
||||
[activity_lottery]
|
||||
enable = true
|
||||
|
||||
#######################
|
||||
# 通知设置 #
|
||||
#######################
|
||||
|
||||
270
resources/activity_infos.json
Normal file
270
resources/activity_infos.json
Normal file
@ -0,0 +1,270 @@
|
||||
{
|
||||
"code": 200,
|
||||
"remarks": "有需要可以自己添加,或者提pr",
|
||||
"data": [
|
||||
{
|
||||
"sid": "newLottery_e92d8384-1347-11ee-9251-a4ae12675bc2",
|
||||
"title": "2023夏季日剧导视",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-ev8hmqZoJ6.html",
|
||||
"update_time": "2023-08-20 20:56:49"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_fd9439bf-1af8-11ee-9251-a4ae12675bc2",
|
||||
"title": "夏日游园会",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-aLq9HgrK1u.html",
|
||||
"update_time": "2023-08-20 20:56:50"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_b76f441a-17d6-11ee-9251-a4ae12675bc2",
|
||||
"title": "开启暑假的100种方式",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-o6ioKpTKvA.html",
|
||||
"update_time": "2023-08-20 20:56:52"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_7f6d9e41-10ec-11ee-9251-a4ae12675bc2",
|
||||
"title": "少年果真行新中式擂台赛",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-ygNwUa9nu6.html",
|
||||
"update_time": "2023-08-20 20:56:53"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_3418aa32-f5f9-11ed-9251-a4ae12675bc2",
|
||||
"title": "饭饭之交二创征稿大赛",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-lc2fXFydAC.html",
|
||||
"update_time": "2023-08-20 20:56:54"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_76af5c78-101b-11ee-9251-a4ae12675bc2",
|
||||
"title": "UP影剧综指南—少年季",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-5DFJabyao5.html",
|
||||
"update_time": "2023-08-20 20:56:55"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_835b3056-3022-11ee-9251-a4ae12675bc2",
|
||||
"title": "UP影剧综指南—暑期季—镇站之宝",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-qGmDE8nRTt.html",
|
||||
"update_time": "2023-08-20 20:56:56"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_35922ca8-1c8e-11ee-9251-a4ae12675bc2",
|
||||
"title": "感兴趣,就试试!",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-nHiYitkr5m.html",
|
||||
"update_time": "2023-08-20 20:56:58"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_3bb5e752-31f3-11ee-9251-a4ae12675bc2",
|
||||
"title": "我们的家庭日记·萌娃出道计划7.0",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-zl8bvdjDgE.html",
|
||||
"update_time": "2023-08-20 20:56:59"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_0bc120e0-173e-11ee-9251-a4ae12675bc2",
|
||||
"title": "2023游戏暑期狂欢节",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-uZeuVDGNOJ.html",
|
||||
"update_time": "2023-08-20 20:57:00"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_97fdb9e3-e348-11ed-9251-a4ae12675bc2",
|
||||
"title": "2023 TCR世界巡回赛",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-TCRWorldTour2023H5.html",
|
||||
"update_time": "2023-08-20 20:57:01"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_dbfa6166-3822-11ee-9251-a4ae12675bc2",
|
||||
"title": "《速度与激情10》全网首播!看片抽道奇战马乐高",
|
||||
"url": "https://www.bilibili.com/blackboard/topic/activity-opcLvS7ZiC.html",
|
||||
"update_time": "2023-08-20 20:57:02"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_77d0ce1e-1f0a-11ee-9251-a4ae12675bc2",
|
||||
"title": "点亮年少时的动画灯塔,赢定制徽章!",
|
||||
"url": "https://www.bilibili.com/blackboard/topic/activity-FhXPxTKRez.html",
|
||||
"update_time": "2023-08-20 20:57:04"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_359547ce-29f8-11ee-9251-a4ae12675bc2",
|
||||
"title": "点亮年少时的动画灯塔,赢定制徽章!",
|
||||
"url": "https://www.bilibili.com/blackboard/topic/activity-zXHzm1eH5O.html",
|
||||
"update_time": "2023-08-20 20:57:05"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_bdda67b3-3106-11ee-9251-a4ae12675bc2",
|
||||
"title": "点亮年少时的动画灯塔,赢定制徽章!",
|
||||
"url": "https://www.bilibili.com/blackboard/topic/activity-lT6UBe1LHW.html",
|
||||
"update_time": "2023-08-20 20:57:06"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_fde7c107-3b47-11ee-9251-a4ae12675bc2",
|
||||
"title": "看蜘蛛侠赢PS5+VR套装",
|
||||
"url": "https://www.bilibili.com/blackboard/topic/activity-9HNDnitdIx.html",
|
||||
"update_time": "2023-08-20 20:57:07"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_b47e7ff3-382f-11ee-9251-a4ae12675bc2",
|
||||
"title": "解锁B站玩家指南",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-Gjn1nAHMNq.html",
|
||||
"update_time": "2023-08-20 20:57:08"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_77ac403d-29fc-11ee-9251-a4ae12675bc2",
|
||||
"title": "和平精空投节视频征集",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-3Dz7tbzGSz.html",
|
||||
"update_time": "2023-08-20 20:57:10"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_8e0055f5-27b1-11ee-9251-a4ae12675bc2",
|
||||
"title": "人人皆可狮子座",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-LRKeoRlMMy.html",
|
||||
"update_time": "2023-08-20 20:57:11"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_69f75292-1ecd-11ee-9251-a4ae12675bc2",
|
||||
"title": "【补番月台】夏日动画游乐场",
|
||||
"url": "https://www.bilibili.com/blackboard/topic/activity-u2SFJkZoK6.html",
|
||||
"update_time": "2023-08-20 20:57:12"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_43aa0f81-faa5-11ed-9251-a4ae12675bc2",
|
||||
"title": "2023 中国野生生物影像年赛",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-animal-h5.html",
|
||||
"update_time": "2023-08-20 20:57:13"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_bcc1bec2-3bfb-11ee-9251-a4ae12675bc2",
|
||||
"title": "点亮年少时的动画灯塔,赢定制徽章!",
|
||||
"url": "https://www.bilibili.com/blackboard/topic/activity-1p76gTRDFp.html",
|
||||
"update_time": "2023-08-20 20:57:14"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_32964ac7-35ba-11ee-9251-a4ae12675bc2",
|
||||
"title": "拜托!我家超酷的",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-Bkf7tmF0it.html",
|
||||
"update_time": "2023-08-20 20:57:16"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_062adeaa-3049-11ee-9251-a4ae12675bc2",
|
||||
"title": "四季有时,指路山海【盛夏篇】",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-nkM6FVkWJe.html",
|
||||
"update_time": "2023-08-20 20:57:17"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_c42bd25d-3379-11ee-9251-a4ae12675bc2",
|
||||
"title": "未来探索者联盟",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-py5RBGveW1.html",
|
||||
"update_time": "2023-08-20 20:57:19"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_00099592-27c8-11ee-9251-a4ae12675bc2",
|
||||
"title": "夏日捡漏市集",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-tADtwbVrY5.html",
|
||||
"update_time": "2023-08-20 20:57:20"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_0b963431-3339-11ee-9251-a4ae12675bc2",
|
||||
"title": "稀有潮玩一发入魂",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-hXCXcEZxK2.html",
|
||||
"update_time": "2023-08-20 20:57:22"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_8eaa246b-261f-11ee-9251-a4ae12675bc2",
|
||||
"title": "世界在等你出发",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-UYcOFuzfFe.html",
|
||||
"update_time": "2023-08-20 20:57:23"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_589c70ae-34ed-11ee-9251-a4ae12675bc2",
|
||||
"title": "我的显眼包搭子",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-krK3gvs3NW.html",
|
||||
"update_time": "2023-08-20 20:57:24"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_fb180a41-278d-11ee-9251-a4ae12675bc2",
|
||||
"title": "致竞硬核PLAYER",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-Ljg5SnHTjX.html",
|
||||
"update_time": "2023-08-20 20:57:25"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_a45a71a6-3b4e-11ee-9251-a4ae12675bc2",
|
||||
"title": "心动好物攻略",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-BJuwpZObkd.html",
|
||||
"update_time": "2023-08-20 20:57:26"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_cabb3769-3c1c-11ee-9251-a4ae12675bc2",
|
||||
"title": "冒险岛手游公测",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-anKnkES21B.html",
|
||||
"update_time": "2023-08-20 20:57:28"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_b33cc224-3ca8-11ee-9251-a4ae12675bc2",
|
||||
"title": "白夜极光UP主激励计划-第三期",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-P1KpOWBUFi.html",
|
||||
"update_time": "2023-08-20 20:57:30"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_77b5cbdc-3c23-11ee-9251-a4ae12675bc2",
|
||||
"title": "斯露德公测创作者激励计划-抽奖机",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-t1QPTat5O2.html",
|
||||
"update_time": "2023-08-20 20:57:31"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_be453e38-3767-11ee-9251-a4ae12675bc2",
|
||||
"title": "UP!新学期",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-LS126GvAKy.html",
|
||||
"update_time": "2023-08-20 20:57:32"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_43e098bf-2490-11ee-9251-a4ae12675bc2",
|
||||
"title": "坎公玩家团激励计划第23期(海风拂盛夏)",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-6Z3RULhraq.html",
|
||||
"update_time": "2023-08-20 20:57:34"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_8651096f-3052-11ee-9251-a4ae12675bc2",
|
||||
"title": "B-Lab研究院【第四期】",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-BLab.html",
|
||||
"update_time": "2023-08-20 20:57:36"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_0acc57ed-2f98-11ee-9251-a4ae12675bc2",
|
||||
"title": "王者战报常驻抽奖",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-uuXjUtvB0Y.html",
|
||||
"update_time": "2023-08-20 20:57:37"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_7f960fde-253b-11ee-9251-a4ae12675bc2",
|
||||
"title": "崩坏:星穹铁道1.2创作者激励计划抽奖机",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-pvTPn8PGo9.html",
|
||||
"update_time": "2023-08-20 20:57:38"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_41c08882-32c2-11ee-9251-a4ae12675bc2",
|
||||
"title": "崩坏3 6.9创作激励计划 抽奖机",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-enUvYDBdNv.html",
|
||||
"update_time": "2023-08-20 20:57:41"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_6a25307d-310b-11ee-9251-a4ae12675bc2",
|
||||
"title": "蔚蓝档案公测激励计划",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-fAb7inve4B.html",
|
||||
"update_time": "2023-08-20 20:57:42"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_bf29c32b-29e0-11ee-9251-a4ae12675bc2",
|
||||
"title": "王者荣耀宠粉节-抽奖机",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-brqxvTQhSK.html",
|
||||
"update_time": "2023-08-20 20:57:43"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_65fc5681-2175-11ee-9251-a4ae12675bc2",
|
||||
"title": "蛋仔派对夏日大作战-抽奖机",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-vMWaJunELA.html",
|
||||
"update_time": "2023-08-20 20:57:46"
|
||||
},
|
||||
{
|
||||
"sid": "newLottery_4bdadfdb-149d-11ee-9251-a4ae12675bc2",
|
||||
"title": "缤智造物",
|
||||
"url": "https://www.bilibili.com/blackboard/activity-VAQowFjuRn.html",
|
||||
"update_time": "2023-08-20 20:57:47"
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -1,14 +0,0 @@
|
||||
{
|
||||
"code": 200,
|
||||
"project": "BiliHelper-personal",
|
||||
"branch": "master",
|
||||
"source": "https://github.com/lkeme/BiliHelper-personal",
|
||||
"raw_url": "https://gh.notifyplus.cf/https://raw.githubusercontent.com/lkeme/BiliHelper-personal/master/data/latest_version.json",
|
||||
"purge_url": "https://cdn.staticaly.com/gh/lkeme/BiliHelper-personal/master/data/latest_version.json",
|
||||
"version": "1.2.0.220517",
|
||||
"des": "程序有更新,请及时线上查看更新哦~",
|
||||
"time": "2022年5月17日",
|
||||
"ini_version": "0.0.1",
|
||||
"ini_des": "配置有更新,请及时线上查看更新哦~",
|
||||
"ini_time": "2022年5月17日"
|
||||
}
|
||||
@ -1,16 +1,17 @@
|
||||
{
|
||||
"code": 200,
|
||||
"project": "BiliHelper-personal",
|
||||
"branch": "master",
|
||||
"source": "https://github.com/lkeme/BiliHelper-personal",
|
||||
"raw_url": "https://gh.notifyplus.cf/https://github.com/lkeme/BiliHelper-personal/blob/master/resources/version.json",
|
||||
"master_raw_url": "https://gh.notifyplus.cf/https://github.com/lkeme/BiliHelper-personal/blob/master/resources/version.json",
|
||||
"dev_raw_url": "https://gh.notifyplus.cf/https://github.com/lkeme/BiliHelper-personal/blob/dev/resources/version.json",
|
||||
"master_purge_url": "https://cdn.staticaly.com/gh/lkeme/BiliHelper-personal/master/resources/version.json",
|
||||
"dev_purge_url": "https://cdn.staticaly.com/gh/lkeme/BiliHelper-personal/dev/resources/version.json",
|
||||
"version": "2.2.0.230806",
|
||||
"version": "2.3.0.230821",
|
||||
"des": "程序有更新,请及时线上查看更新哦~",
|
||||
"time": "2023年08月06日",
|
||||
"time": "2023年08月21日",
|
||||
"ini_version": "0.0.1",
|
||||
"ini_des": "配置有更新,请及时线上查看更新哦~",
|
||||
"ini_time": "2023年08月06日"
|
||||
"ini_time": "2023年08月21日"
|
||||
}
|
||||
|
||||
92
src/Api/Api/X/Activity/ApiActivity.php
Normal file
92
src/Api/Api/X/Activity/ApiActivity.php
Normal file
@ -0,0 +1,92 @@
|
||||
<?php declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* Website: https://mudew.com/
|
||||
* Author: Lkeme
|
||||
* License: The MIT License
|
||||
* Email: Useri@live.cn
|
||||
* Updated: 2023 ~ 2024
|
||||
*
|
||||
* _____ _ _ _ _ _ _____ _ _____ _____ _____
|
||||
* | _ \ | | | | | | | | | | | ____| | | | _ \ | ____| | _ \ & /l、
|
||||
* | |_| | | | | | | | | |_| | | |__ | | | |_| | | |__ | |_| | (゚、 。 7
|
||||
* | _ { | | | | | | | _ | | __| | | | ___/ | __| | _ / \、゙ ~ヽ *
|
||||
* | |_| | | | | |___ | | | | | | | |___ | |___ | | | |___ | | \ \ じしf_, )ノ
|
||||
* |_____/ |_| |_____| |_| |_| |_| |_____| |_____| |_| |_____| |_| \_\
|
||||
*/
|
||||
|
||||
namespace Bhp\Api\Api\X\Activity;
|
||||
|
||||
use Bhp\Request\Request;
|
||||
use Bhp\User\User;
|
||||
|
||||
class ApiActivity
|
||||
{
|
||||
/**
|
||||
* @param array $info
|
||||
* @param int $num
|
||||
* @return array
|
||||
*/
|
||||
public static function doLottery(array $info, int $num = 1): array
|
||||
{
|
||||
//
|
||||
$user = User::parseCookie();
|
||||
//
|
||||
$url = 'https://api.bilibili.com/x/lottery/do';
|
||||
$headers = [
|
||||
'origin' => 'https://www.bilibili.com',
|
||||
'referer' => $info['url'],
|
||||
];
|
||||
$payload = [
|
||||
'sid' => $info['sid'],
|
||||
'num' => $num,
|
||||
'csrf' => $user['csrf'],
|
||||
];
|
||||
// {"code":0,"message":"0","ttl":1,"data":[{"id":0,"mid":123,"ip":0,"num":1,"gift_id":0,"gift_name":"未中奖0","gift_type":0,"img_url":"","type":1,"ctime":123,"cid":0,"extra":{},"award_info":null,"order_no":""}]}
|
||||
return Request::postJson(true, 'pc', $url, $payload, $headers);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $info
|
||||
* @param int $action_type 4 关注 3 分享
|
||||
* @return array
|
||||
*/
|
||||
public static function addTimes(array $info, int $action_type = 3): array
|
||||
{
|
||||
//
|
||||
$user = User::parseCookie();
|
||||
//
|
||||
$url = 'https://api.bilibili.com/x/lottery/addtimes';
|
||||
$headers = [
|
||||
'origin' => 'https://www.bilibili.com',
|
||||
'referer' => $info['url'],
|
||||
];
|
||||
$payload = [
|
||||
'sid' => $info['sid'],
|
||||
'action_type' => $action_type,
|
||||
'csrf' => $user['csrf'],
|
||||
];
|
||||
// {"code":0,"message":"0","ttl":1,"data":{"add_num":1}}
|
||||
return Request::postJson(true, 'pc', $url, $payload, $headers);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $info
|
||||
* @return array
|
||||
*/
|
||||
public static function myTimes(array $info): array
|
||||
{
|
||||
$url = 'https://api.bilibili.com/x/lottery/mytimes';
|
||||
$headers = [
|
||||
'origin' => 'https://www.bilibili.com',
|
||||
'referer' => $info['url'],
|
||||
];
|
||||
$payload = [
|
||||
'sid' => $info['sid'],
|
||||
];
|
||||
// {"code":0,"message":"0","ttl":1,"data":{"times":1,"lottery_type":0,"points":0,"points_per_time":0,"intergral":null}}
|
||||
return Request::getJson(true, 'pc', $url, $payload, $headers);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -181,7 +181,7 @@ class Notice extends SingleTon
|
||||
'content' => "[$now_time] 用户: $uname 详情: $msg"
|
||||
],
|
||||
'activity_lottery' => [
|
||||
'title' => '主站九宫格抽奖活动',
|
||||
'title' => '转盘抽奖活动',
|
||||
'content' => "[$now_time] 用户: $uname 详情: $msg"
|
||||
],
|
||||
'jury_leave_office' => [
|
||||
|
||||
@ -61,7 +61,7 @@ class Task extends SingleTon
|
||||
Log::error($error_msg);
|
||||
// Notice::push('error', $error_msg);
|
||||
}
|
||||
delay(1);
|
||||
delay(0.1);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user