mirror of
https://github.com/lkeme/BiliHelper-personal.git
synced 2025-12-19 01:20:08 +08:00
[update] --
This commit is contained in:
parent
063b349fa2
commit
2b7c21b4ac
@ -17,6 +17,7 @@
|
||||
|
||||
use Bhp\Api\Msg\ApiMsg;
|
||||
use Bhp\Api\XLive\AppUcenter\V1\ApiFansMedal;
|
||||
use Bhp\Cache\Cache;
|
||||
use Bhp\Log\Log;
|
||||
use Bhp\Plugin\BasePlugin;
|
||||
use Bhp\Plugin\Plugin;
|
||||
@ -43,6 +44,11 @@ class PolishMedal extends BasePlugin
|
||||
private static array $grey_fans_medals = []; // 灰色勋章
|
||||
private static int $metal_lock = 0; // 勋章时间锁
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
private static array $black_list = []; // 黑名单
|
||||
|
||||
/**
|
||||
* @param Plugin $plugin
|
||||
*/
|
||||
@ -50,6 +56,8 @@ class PolishMedal extends BasePlugin
|
||||
{
|
||||
// 时间锁
|
||||
TimeLock::initTimeLock();
|
||||
//
|
||||
Cache::initCache();
|
||||
// 缓存
|
||||
$plugin->register($this, 'execute');
|
||||
}
|
||||
@ -133,11 +141,14 @@ class PolishMedal extends BasePlugin
|
||||
*/
|
||||
private static function fetchGreyMedalList(bool $all = false): void
|
||||
{
|
||||
self::$black_list = Cache::get('black_list') ?? self::$black_list;
|
||||
// 获取徽章列表
|
||||
$data = self::fetchMedalList();
|
||||
foreach ($data as $vo) {
|
||||
// 过滤主站勋章
|
||||
if (!isset($vo['roomid']) || $vo['roomid'] == 0) continue;
|
||||
|
||||
// 过滤黑名单
|
||||
if (in_array($vo['roomid'], self::$black_list)) continue;
|
||||
// 如果是每天擦亮 ,就不过滤|否则过滤掉,只点亮灰色
|
||||
if ($all) {
|
||||
self::$grey_fans_medals[] = [
|
||||
@ -177,8 +188,24 @@ class PolishMedal extends BasePlugin
|
||||
if (isset($res['code']) && $res['code'] == 0) {
|
||||
Log::notice("在直播间@{$medal['roomid']}发送点亮弹幕成功");
|
||||
} else {
|
||||
Log::warning("在直播间@{$medal['roomid']}发送点亮弹幕失败, CODE -> {$res['code']} MSG -> {$res['message']} ");
|
||||
self::triggerException($medal, $res);
|
||||
}
|
||||
}
|
||||
|
||||
protected static function triggerException(array $medal, array $res): void
|
||||
{
|
||||
Log::warning("在直播间@{$medal['roomid']}发送点亮弹幕失败, CODE -> {$res['code']} MSG -> {$res['message']} ");
|
||||
//
|
||||
switch ($res['code']) {
|
||||
case 1003:
|
||||
Log::info("直播间@{$medal['roomid']}已被禁言, 加入黑名单");
|
||||
self::$black_list[] = $medal['roomid'];
|
||||
Cache::set('black_list', self::$black_list);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user