适配小刻食堂平台 (#379)

* 🐛 插入新的Schedulable时应传入use_batch参数

*  适配ceobecanteen平台

Co-authored-by: phidiaLam <2957035701@qq.com>

*   明日方舟公告与官网采用截图分享 (#480)

*  明日方舟公告与官网采用截图分享

* 💄 auto fix by pre-commit hooks

* 🐛 修复缺少的导入,优化逻辑

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Azide <rukuy@qq.com>

* 🐛 优化截图图片效果

* 🐛 修复错误将转发内图片视作头图的问题

* 🍱 使用正式 Bison Logo

* 💄 auto fix by pre-commit hooks

* 🐛 请求小刻API时不在headers里添加过多字段

* 🐛 get_comb_id方法删除无用的targets参数

* 💡 get_comb_id方法更新注释

* 🔥 移除发送部分的更改

*  在命名中明确表示cond_func意图

* ♻️ 拆分get_comb_id功能

* ♻️ 调整缓存逻辑

*  使用uri在theme中调用platform截图

* ♻️ 重构截图逻辑

*  添加模糊匹配提示

*  适配新版Site

* 💄 auto fix by pre-commit hooks

* 🐛 去掉不必要的排序

* 🐛 修正不应出现的驼峰变量名

* ♻️ 按review意见修改

* ♻️ 调整截图函数逻辑

* 🔊 调低日志等级

* ✏️ 修复一些拼写和格式

---------

Co-authored-by: phidiaLam <2957035701@qq.com>
Co-authored-by: 洛梧藤 <67498817+phidiaLam@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
Azide
2024-07-13 01:06:42 +08:00
committed by GitHub
parent 4eb7a17306
commit e2a97a9e56
35 changed files with 3290 additions and 270 deletions
+6
View File
@@ -1,5 +1,6 @@
import sys
from pathlib import Path
from shutil import rmtree
import pytest
import nonebot
@@ -67,6 +68,11 @@ async def app(tmp_path: Path, request: pytest.FixtureRequest, mocker: MockerFixt
# 关闭渲染图片时打开的浏览器
await shutdown_browser()
# 清除缓存文件
cache_dir = Path.cwd() / ".cache" / "hishel"
if cache_dir.exists():
rmtree(cache_dir)
cache_dir.mkdir()
@pytest.fixture()
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+181
View File
@@ -0,0 +1,181 @@
[
{
"datasource": "明日方舟公告-IOS",
"icon": "https://cdn.ceobecanteen.top/datasource-avatar/a54d411b-2eb0-4ca8-aa1d-02c68b2f152f",
"timestamp": {
"platform": 1708531200000,
"platform_precision": "day",
"fetcher": 1708588811293
},
"default_cookie": {
"text": "【联合行动】\n定向寻访开启",
"images": [
{
"origin_url": "https://web.hycdn.cn/announce/images/20240221/4542667b6a3b799d52759d2f5744aa1a.jpg",
"compress_url": null
}
]
},
"item": {
"id": "8378",
"url": "https://cdn.ceobecanteen.top/game/bulletin/8378_1708588811341",
"category": "活动公告",
"display_type": 2,
"target_type": "game|recruit|param1=norm|unknown",
"target_link": "uniwebview://move?target=recruit&param1=NORM_47_0_3"
},
"source": {
"type": "arknights-game:bulletin-list",
"data": "IOS"
}
},
{
"datasource": "明日方舟公告-B服",
"icon": "https://cdn.ceobecanteen.top/datasource-avatar/92773ca6-5c6f-41a6-9004-a2d8328c159f",
"timestamp": {
"platform": 1708012800000,
"platform_precision": "day",
"fetcher": 1708074005605
},
"default_cookie": {
"text": "#04「引航者试炼」限时活动即将开启\n[图片]一、#04「引航者试炼」限时活动开启\n关卡开放时间:02月22日 16:00 - 03月07日 03:59\n解锁条件:通关主线1-10\n活动说明:活动期间将开放「引航者试炼」限时活动,玩家可通过活动关卡作战、完成“试炼任务”积累试炼经验,提升【试炼之路】等级获取相应活动奖励\n\n【试炼之路】开放时间:02月22日 16:00 - 03月10日 03:59\n【试炼之路】主要奖励:时装【0011制造系列 - “贺新禧” -清流】、寻访凭证、模组养成材料、高级养成素材、作战记录、龙门币、家具零件等\n\n\n[图片]二、【联合行动】特选干员定向寻访开启\n活动时间:02月22日 16:00 - 03月07日 03:59\n活动说明:活动期间【联合行动】特选干员定向寻访开启,该寻访卡池列表中六星干员与五星干员仅出现以下干员\n★★★★★★(6★出率:2%):玛恩纳 / 仇白 / 琳琅诗怀雅 / 山 \n★★★★★(5★出率:8%):火哨 / 绮良 / 熔泉 / 蜜蜡 / 絮雨 / 安哲拉\n注意:本次活动【联合行动】寻访为【标准寻访】\n\n\n[图片]三、组合包限时上架\n售卖时间:02月28日 11:00 - 03月29日 03:59\n活动说明:活动期间,采购中心将限时售卖以下组合包\n\n\n[冬隐归路组合包]\n组合包内容:时装【忒斯特收藏系列 - “初晴” -陈】、音乐可交互家具【“冰痕” 】、可交互家具【近卫局广告机】、头像“白兔子”*1、高级资深干员特训装置*1、资深干员特训装置*1、十连寻访凭证*1\n高级资深干员特训装置:使用该特训装置后可选择一名已晋升至精英阶段2的6星干员直接升至精英阶段2,等级90。干员升级后不会返还已投入的养成资源\n资深干员特训装置:使用该特训装置后可选择一名已晋升至精英阶段2的5星干员直接升至精英阶段2,等级80。干员升级后不会返还已投入的养成资源\n\n\n[图片][黎明前奏组合包]\n组合包内容:时装【忒斯特收藏系列 - “午夜邮差” -能天使】、主题家具【龙门风情茶室】、头像“徘徊歧路”*1、十连寻访凭证*1、龙门币*200000、高级作战记录*60、技巧概要·卷3*30\n注意:此前已购买过[黎明前奏组合包]的玩家无法再次购买该礼包\n\n\n[图片]四、【时代】系列,限时复刻上架\n活动时间:02月29日 16:00 - 03月14日 03:59\n活动说明:活动期间以下干员复刻时装将在时装商店上架并进行限时贩售:\n◆【时代】系列 - “拾翼” - 见行者\n\n\n[图片]五、剿灭作战关卡【新旅店大道】追加\n开启时间:03月04日 04:00 ~ 04月29日 03:59\n开启条件:所有通关主线2-8的玩家\n关卡说明:新增剿灭委托关卡【新旅店大道】将替换现有剿灭委托关卡【千嶂边城】,现剿灭委托关卡【千嶂边城】将在关闭后收录进假定作战目标\n\n\n\n更多活动内容请持续关注《明日方舟》游戏内公告及官方公告。\n\n\n【明日方舟】运营组\n2024年02月16日",
"images": [
{
"origin_url": "https://web.hycdn.cn/announce/images/20240216/e52fcb18976c4373a60cfa2316c28ccf.jpg",
"compress_url": null
},
{
"origin_url": "https://web.hycdn.cn/announce/images/20240216/8d135717510cb847034eb88ffb95bf97.jpg",
"compress_url": null
},
{
"origin_url": "https://web.hycdn.cn/announce/images/20240216/60e94ad12ce32408b5bbbbe9ad20c168.jpg",
"compress_url": null
},
{
"origin_url": "https://web.hycdn.cn/announce/images/20240216/eaa6f41fe718f4556a1eb3fe8ef90040.jpg",
"compress_url": null
},
{
"origin_url": "https://web.hycdn.cn/announce/images/20240216/9917b74ab2b5f42bc4a185c60f95365c.jpg",
"compress_url": null
},
{
"origin_url": "https://web.hycdn.cn/announce/images/20240216/e422fc4ad9d3daa5cdabcc5d09142e1f.jpg",
"compress_url": null
}
]
},
"item": {
"id": "4959",
"url": "https://cdn.ceobecanteen.top/game/bulletin/4959_1708074005815",
"category": "活动公告",
"display_type": 1
},
"source": {
"type": "arknights-game:bulletin-list",
"data": "Bilibili"
}
},
{
"datasource": "明日方舟-官网",
"icon": "https://cdn.ceobecanteen.top/datasource-avatar/0e9fbb0a-0504-4bf7-ae06-daf1dbd00820",
"timestamp": {
"platform": 1708012800000,
"platform_precision": "day",
"fetcher": 1708012800000
},
"default_cookie": {
"text": "[活动预告]#04「引航者试炼」限时活动即将开启\n[图片]一、#04「引航者试炼」限时活动开启\n关卡开放时间:02月22日 16:00 - 03月07日 03:59\n解锁条件:通关主线1-10\n活动说明:活动期间将开放「引航者试炼」限时活动,玩家可通过活动关卡作战、完成“试炼任务”积累试炼经验,提升【试炼之路】等级获取相应活动奖励\n\n【试炼之路】开放时间:02月22日 16:00 - 03月10日 03:59\n【试炼之路】主要奖励:时装【0011制造系列 - “贺新禧” -清流】、寻访凭证、模组养成材料、高级养成素材、作战记录、龙门币、家具零件等\n\n\n[图片]二、【联合行动】特选干员定向寻访开启\n活动时间:02月22日 16:00 - 03月07日 03:59\n活动说明:活动期间【联合行动】特选干员定向寻访开启,该寻访卡池列表中六星干员与五星干员仅出现以下干员\n★★★★★★(6★出率:2%):玛恩纳 / 仇白 / 琳琅诗怀雅 / 山 \n★★★★★(5★出率:8%):火哨 / 绮良 / 熔泉 / 蜜蜡 / 絮雨 / 安哲拉\n注意:本次活动【联合行动】寻访为【标准寻访】\n\n\n[图片]三、组合包限时上架\n售卖时间:02月28日 11:00 - 03月29日 03:59\n活动说明:活动期间,采购中心将限时售卖以下组合包\n\n\n[冬隐归路组合包]\n组合包内容:时装【忒斯特收藏系列 - “初晴” -陈】、音乐可交互家具【“冰痕” 】、可交互家具【近卫局广告机】、头像“白兔子”*1、高级资深干员特训装置*1、资深干员特训装置*1、十连寻访凭证*1\n高级资深干员特训装置:使用该特训装置后可选择一名已晋升至精英阶段2的6星干员直接升至精英阶段2,等级90。干员升级后不会返还已投入的养成资源\n资深干员特训装置:使用该特训装置后可选择一名已晋升至精英阶段2的5星干员直接升至精英阶段2,等级80。干员升级后不会返还已投入的养成资源\n\n\n[图片][黎明前奏组合包]\n组合包内容:时装【忒斯特收藏系列 - “午夜邮差” -能天使】、主题家具【龙门风情茶室】、头像“徘徊歧路”*1、十连寻访凭证*1、龙门币*200000、高级作战记录*60、技巧概要·卷3*30\n注意:此前已购买过[黎明前奏组合包]的玩家无法再次购买该礼包\n\n\n[图片]四、【时代】系列,限时复刻上架\n活动时间:02月29日 16:00 - 03月14日 03:59\n活动说明:活动期间以下干员复刻时装将在时装商店上架并进行限时贩售:\n◆【时代】系列 - “拾翼” - 见行者\n\n\n[图片]五、剿灭作战关卡【新旅店大道】追加\n开启时间:03月04日 04:00 ~ 04月29日 03:59\n开启条件:所有通关主线2-8的玩家\n关卡说明:新增剿灭委托关卡【新旅店大道】将替换现有剿灭委托关卡【千嶂边城】,现剿灭委托关卡【千嶂边城】将在关闭后收录进假定作战目标\n\n\n\n更多活动内容请持续关注《明日方舟》游戏内公告及官方公告。\n\n\n\n【明日方舟】运营组\n2024年02月16日",
"images": [
{
"origin_url": "https://web.hycdn.cn/announce/images/20240216/e52fcb18976c4373a60cfa2316c28ccf.jpg",
"compress_url": null
},
{
"origin_url": "https://web.hycdn.cn/announce/images/20240216/8d135717510cb847034eb88ffb95bf97.jpg",
"compress_url": null
},
{
"origin_url": "https://web.hycdn.cn/announce/images/20240216/60e94ad12ce32408b5bbbbe9ad20c168.jpg",
"compress_url": null
},
{
"origin_url": "https://web.hycdn.cn/announce/images/20240216/eaa6f41fe718f4556a1eb3fe8ef90040.jpg",
"compress_url": null
},
{
"origin_url": "https://web.hycdn.cn/announce/images/20240216/9917b74ab2b5f42bc4a185c60f95365c.jpg",
"compress_url": null
},
{
"origin_url": "https://web.hycdn.cn/announce/images/20240216/e422fc4ad9d3daa5cdabcc5d09142e1f.jpg",
"compress_url": null
}
]
},
"item": {
"id": "news/2024021210",
"url": "https://ak.hypergryph.com/news/2024021210.html",
"category": "活动",
"is_top": true
},
"source": {
"type": "arknights-website:official-website",
"data": "-"
}
},
{
"datasource": "明日方舟-B站",
"icon": "https://cdn.ceobecanteen.top/datasource-avatar/af174f25-1beb-41cd-a4de-2c3aadae9666",
"timestamp": {
"platform": 1698141633000,
"platform_precision": "second",
"fetcher": 1698141802505
},
"default_cookie": {
"text": "【采购凭证区-新增干员】\n//折光\n“左手或右手的名片,请问您要哪一张?......宝石鉴定师,折光,很高兴认识您。别担心,选到另一张的话,您这里也没有值得我下手的对象。”\n\n__________________\n两名贵族侍从在宝石鉴定所的工作台前窃窃私语。唱片在留声机上旋转着,乐声恰到好处地盖过了他们的谈话声,也盖过了砂盘打磨宝石的单调噪音。\n如果是在几个月以前,他们会就各自带来的古董珠宝高谈阔论——纹饰的象征,数百年历史留下的痕迹,自己效忠的贵族那悠久高贵的血脉——而非如此小心谨慎地说起,该如何伪装一枚宝石,才能保证不被那位大盗“折光”盯上。他们声称见过大盗本人带着宝石一起从高塔上坠下又消失不见,而后义愤填膺:怎能让莱塔尼亚格调优雅的精粹轻易消失?怎能容忍一个疯子将历史抛进夜幕?\n工作台后的宝石鉴定师始终专注地做着自己手上的工作,对他们的议论充耳不闻。两名侍从对他的懂事十分满意,在谈话告一段落后,不吝用自己的华丽辞藻赞誉鉴定师手中的宝石。\n“这宝石如此灿烂辉煌,是哪位尊敬的大人托你打造?”\n宝石鉴定师终于抬起头,表情困惑无比。\n“不,这只是一块玻璃碎片,我自己随便磨着玩的。两位聊完了的话,请说说来这家小小的鉴定所是有何吩咐吧。”",
"images": [
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/f69f2d2570c828955130b1d77c2dc047161775300.png",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/8d9c849b7a4fed9c8979014a507e26fa161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/67c2bc7661c4db3d5bbe812c69978134161775300.png",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/6c0a5a7a50ac84454ffd4d72a6f77f7b161775300.gif",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/b77f74f545dba41e473bb5e544f7ed80161775300.gif",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/14d5dae139477c4e8a8f54272ff26407161775300.gif",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/518b982b56d934b6e4ffb91a6ec71f35161775300.gif",
"compress_url": null
}
]
},
"item": {
"id": "856000867726262307",
"url": "https://t.bilibili.com/856000867726262307",
"type": "DYNAMIC_TYPE_DRAW",
"is_top": false,
"is_retweeted": false
},
"source": {
"type": "bilibili:dynamic-by-uid",
"data": "161775300"
}
}
]
+7
View File
@@ -0,0 +1,7 @@
{
"code": "00000",
"message": "Operate Success",
"data": {
"datasource_comb_id": "2"
}
}
+7
View File
@@ -0,0 +1,7 @@
{
"code": "00000",
"message": "Operate Success",
"data": {
"datasource_comb_id": "4"
}
}
+4
View File
@@ -0,0 +1,4 @@
{
"cookie_id": "6537ad363b4a4fd2d7919ac2",
"update_cookie_id": "6537ad363b4a4fd2d7919ac2"
}
+4
View File
@@ -0,0 +1,4 @@
{
"cookie_id": "6537ad363b4a4fd2d7919ac3",
"update_cookie_id": "6537ad363b4a4fd2d7919ac2"
}
+380
View File
@@ -0,0 +1,380 @@
{
"code": "00000",
"message": "Operate Success",
"data": {
"cookies": [
{
"datasource": "明日方舟-B站",
"icon": "https://cdn.ceobecanteen.top/datasource-avatar/af174f25-1beb-41cd-a4de-2c3aadae9666",
"timestamp": {
"platform": 1698141633000,
"platform_precision": "second",
"fetcher": 1698141802505
},
"default_cookie": {
"text": "【采购凭证区-新增干员】\n//折光\n“左手或右手的名片,请问您要哪一张?......宝石鉴定师,折光,很高兴认识您。别担心,选到另一张的话,您这里也没有值得我下手的对象。”\n\n__________________\n两名贵族侍从在宝石鉴定所的工作台前窃窃私语。唱片在留声机上旋转着,乐声恰到好处地盖过了他们的谈话声,也盖过了砂盘打磨宝石的单调噪音。\n如果是在几个月以前,他们会就各自带来的古董珠宝高谈阔论——纹饰的象征,数百年历史留下的痕迹,自己效忠的贵族那悠久高贵的血脉——而非如此小心谨慎地说起,该如何伪装一枚宝石,才能保证不被那位大盗“折光”盯上。他们声称见过大盗本人带着宝石一起从高塔上坠下又消失不见,而后义愤填膺:怎能让莱塔尼亚格调优雅的精粹轻易消失?怎能容忍一个疯子将历史抛进夜幕?\n工作台后的宝石鉴定师始终专注地做着自己手上的工作,对他们的议论充耳不闻。两名侍从对他的懂事十分满意,在谈话告一段落后,不吝用自己的华丽辞藻赞誉鉴定师手中的宝石。\n“这宝石如此灿烂辉煌,是哪位尊敬的大人托你打造?”\n宝石鉴定师终于抬起头,表情困惑无比。\n“不,这只是一块玻璃碎片,我自己随便磨着玩的。两位聊完了的话,请说说来这家小小的鉴定所是有何吩咐吧。”",
"images": [
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/f69f2d2570c828955130b1d77c2dc047161775300.png",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/8d9c849b7a4fed9c8979014a507e26fa161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/67c2bc7661c4db3d5bbe812c69978134161775300.png",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/6c0a5a7a50ac84454ffd4d72a6f77f7b161775300.gif",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/b77f74f545dba41e473bb5e544f7ed80161775300.gif",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/14d5dae139477c4e8a8f54272ff26407161775300.gif",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/518b982b56d934b6e4ffb91a6ec71f35161775300.gif",
"compress_url": null
}
]
},
"item": {
"id": "856000867726262307",
"url": "https://t.bilibili.com/856000867726262307",
"type": "DYNAMIC_TYPE_DRAW",
"is_top": false,
"is_retweeted": false
},
"source": {
"type": "bilibili:dynamic-by-uid",
"data": "161775300"
}
},
{
"datasource": "明日方舟-B站",
"icon": "https://cdn.ceobecanteen.top/datasource-avatar/af174f25-1beb-41cd-a4de-2c3aadae9666",
"timestamp": {
"platform": 1698134603000,
"platform_precision": "second",
"fetcher": 1698134630170
},
"default_cookie": {
"text": "【活动奖励家具预告】\n//“扬升”\n“踏上扬升之阶,我心意已决。”",
"images": [
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/e33791e1c150aa729ca02878b031c01e161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/d625e658b390073980d11309897c1d76161775300.gif",
"compress_url": null
}
]
},
"item": {
"id": "855970674108268553",
"url": "https://t.bilibili.com/855970674108268553",
"type": "DYNAMIC_TYPE_DRAW",
"is_top": false,
"is_retweeted": false
},
"source": {
"type": "bilibili:dynamic-by-uid",
"data": "161775300"
}
},
{
"datasource": "明日方舟-B站",
"icon": "https://cdn.ceobecanteen.top/datasource-avatar/af174f25-1beb-41cd-a4de-2c3aadae9666",
"timestamp": {
"platform": 1698131537000,
"platform_precision": "second",
"fetcher": 1698132050175
},
"default_cookie": {
"text": "【采购凭证区-新增干员】\n//跃跃\n“跃跃,或者随你怎么叫都行,能站在你面前还不够证明我的本事吗?今后我就替你做事啦,好好期待吧,你可别让我腻了哦。”\n\n__________________\n“据统计,自跃跃来到罗德岛后,本舰报告违反管理条例的事件数量环比上升了七个百分点。”\n从外表上看,跃跃是一位活泼热情的少女,任何人都会情不自禁地被她的欢快所感染,卸下心防,答应她一两个诚恳的请求。一旦到了这一步,恭喜你,已经落入她的圈套了。\n不相信?那你就等着看吧,接下来你将会亲眼见证自己的生活是如何失控的:在假期莫名其妙地走回了工作室,终端一直响个不停,各种麻烦事突然找上了你,背包里忽然钻出了磐蟹。在你手忙脚乱应付的时候,不知不觉就将薄荷糖放进了碳酸饮料中......\n更恐怖的是,跃跃擅长扮演无辜的旁观者。许多时候,受害者深陷其中,丝毫没意识到已经被她玩弄于股掌。\n不、不......不能再让这种事发生了!\n终于......好消息是,我已经找到了如何应对跃跃的办法。只要在见面时给她一盒糖果,她就不会再影响你。如果还是行不通的话,就请她吃一顿大餐吧。以上方法我都亲身验证过,绝对有效......总感觉有哪里不对?",
"images": [
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/4d6eabaab21ed5fa0d674b229da78a03161775300.png",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/6ae42edd4db9ea8dd4cc3b33541ac847161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/9d1519a642dd2787371b6d798c2ac0b4161775300.png",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/c1dfbe157323806e6efe64a3013ddd0e161775300.gif",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/300619c777d32d522d383cb5d47743d0161775300.gif",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/f596b22577f27c61bd9df8a3489d5d4b161775300.gif",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/e9413a3820591ce41339901a804cb750161775300.gif",
"compress_url": null
}
]
},
"item": {
"id": "855957505749024787",
"url": "https://t.bilibili.com/855957505749024787",
"type": "DYNAMIC_TYPE_DRAW",
"is_top": false,
"is_retweeted": false
},
"source": {
"type": "bilibili:dynamic-by-uid",
"data": "161775300"
}
},
{
"datasource": "明日方舟-B站",
"icon": "https://cdn.ceobecanteen.top/datasource-avatar/af174f25-1beb-41cd-a4de-2c3aadae9666",
"timestamp": {
"platform": 1698116415000,
"platform_precision": "second",
"fetcher": 1698116927814
},
"default_cookie": {
"text": "《明日方舟》特别映像 [萨尔贡:万王之王]\n欢迎你们,追寻传说而来的客人\n今天的主角,是被尊为“沙阿”的过去与未来之王——\n路加萨尔古斯",
"images": [
{
"origin_url": "http://i0.hdslb.com/bfs/archive/b4da4ed5f5911f9cb4914973ef64ddd6b816fbe8.jpg",
"compress_url": null
}
]
},
"item": {
"id": "855892557268254720",
"url": "https://www.bilibili.com/video/BV1Zw411B7K2",
"type": "DYNAMIC_TYPE_AV",
"is_top": false,
"is_retweeted": false,
"aid": "322515082",
"bvid": "BV1Zw411B7K2"
},
"source": {
"type": "bilibili:dynamic-by-uid",
"data": "161775300"
}
},
{
"datasource": "明日方舟-B站",
"icon": "https://cdn.ceobecanteen.top/datasource-avatar/af174f25-1beb-41cd-a4de-2c3aadae9666",
"timestamp": {
"platform": 1698113396000,
"platform_precision": "second",
"fetcher": 1698113460137
},
"default_cookie": {
"text": "《明日方舟》特别映像 [谢拉格:驶向未来]\n在遥远的高山上,有一个国家\n它的名字叫谢拉格",
"images": [
{
"origin_url": "http://i2.hdslb.com/bfs/archive/2666220c595dcc3a2d165bb8499fdcb2b9323178.jpg",
"compress_url": null
}
]
},
"item": {
"id": "855879590736822277",
"url": "https://www.bilibili.com/video/BV1oQ4y1p7oi",
"type": "DYNAMIC_TYPE_AV",
"is_top": false,
"is_retweeted": false,
"aid": "705053598",
"bvid": "BV1oQ4y1p7oi"
},
"source": {
"type": "bilibili:dynamic-by-uid",
"data": "161775300"
}
},
{
"datasource": "明日方舟-B站",
"icon": "https://cdn.ceobecanteen.top/datasource-avatar/af174f25-1beb-41cd-a4de-2c3aadae9666",
"timestamp": {
"platform": 1698060616000,
"platform_precision": "second",
"fetcher": 1698060775227
},
"default_cookie": {
"text": "【活动奖励服饰】\n//星橼林 - 流星\nEPOQUE子品牌 [昔时/Passe]系列精选款/星橼林。流星还在卡西米尔时所着的冬装。兼顾轻便与防寒,于密林中的隐蔽性也很高。复原品。\n\n_____________\n星橼树只生长在卡西米尔。在它们尚有记忆的时候,守林人温暖、安全,就像家乡。",
"images": [
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/0650692b71afe7d01c6f855ae1f526af161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/9db6fa64eda5f227ab7bdfbb31b66bc7161775300.gif",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/c84ce858eb4688078a5185dbe9ed21f6161775300.gif",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/d2fc7f730d596130eedf0eab75190acc161775300.gif",
"compress_url": null
}
]
},
"item": {
"id": "855652902373425173",
"url": "https://t.bilibili.com/855652902373425173",
"type": "DYNAMIC_TYPE_DRAW",
"is_top": false,
"is_retweeted": false
},
"source": {
"type": "bilibili:dynamic-by-uid",
"data": "161775300"
}
},
{
"datasource": "明日方舟-B站",
"icon": "https://cdn.ceobecanteen.top/datasource-avatar/af174f25-1beb-41cd-a4de-2c3aadae9666",
"timestamp": {
"platform": 1698055205000,
"platform_precision": "second",
"fetcher": 1698055273578
},
"default_cookie": {
"text": "【新增家具】\n//秋日乐器行\n音乐爱好者们干脆将莱塔尼亚的乐器行搬上了罗德岛。这里不仅按莱塔尼亚风格装点,乐器也一应俱全——既要身临其境,也要声如其境。\n\n_________________\n新增【秋日乐器行】主题家具,限时上架\n家具商店贩售时间:11月1日16:00 - 11月29日03:59",
"images": [
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/54ff0594e25034440b7a0a07ac4865fe161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/bef297fa00abad3e8006b6fb92a46ff6161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/3d1046af7346b4797bc4eb0b6e8bbebb161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/d74379253b4284bedf67b4da502db5c7161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/4b28c8a7f3146d27010c24ac96689149161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/9a629bd1343f0fd0c47f207cbdc60d8a161775300.gif",
"compress_url": null
}
]
},
"item": {
"id": "855629657997836359",
"url": "https://t.bilibili.com/855629657997836359",
"type": "DYNAMIC_TYPE_DRAW",
"is_top": false,
"is_retweeted": false
},
"source": {
"type": "bilibili:dynamic-by-uid",
"data": "161775300"
}
},
{
"datasource": "明日方舟-B站",
"icon": "https://cdn.ceobecanteen.top/datasource-avatar/af174f25-1beb-41cd-a4de-2c3aadae9666",
"timestamp": {
"platform": 1698053400000,
"platform_precision": "second",
"fetcher": 1698054139571
},
"default_cookie": {
"text": "【新增家具】\n//路德维格大学讲演厅\n根据止颂的描述还原的路德维格大学讲演厅,求知者们的豪言在厅中回响。“上前来!踏入求知的殿堂!”\n\n_________________\n新增【路德维格大学讲演厅】主题家具,限时上架\n家具商店贩售时间:11月1日16:00 - 11月29日03:59",
"images": [
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/e5b562e04a6cdcd7a9d2cc9e8ac709b6161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/8b65e92b5fcf2aabf4ff3c881abc4ea5161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/b05921d44739fb32642fc99beac63e01161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/072aaab691f0ad134053ad5a1d3f82a8161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/3a369d1bb793c9d46ae85c137f839f5d161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/b22c226e5435eb2e32e427386f545cd4161775300.gif",
"compress_url": null
}
]
},
"item": {
"id": "855621909896757268",
"url": "https://t.bilibili.com/855621909896757268",
"type": "DYNAMIC_TYPE_DRAW",
"is_top": false,
"is_retweeted": false
},
"source": {
"type": "bilibili:dynamic-by-uid",
"data": "161775300"
}
},
{
"datasource": "明日方舟-B站",
"icon": "https://cdn.ceobecanteen.top/datasource-avatar/af174f25-1beb-41cd-a4de-2c3aadae9666",
"timestamp": {
"platform": 1698030013000,
"platform_precision": "second",
"fetcher": 1698030038868
},
"default_cookie": {
"text": "《明日方舟》特别映像 [莱塔尼亚:源石技艺A1.1]\n你们都拿到教学大纲了,很好。\n以防你们还没发现,\n这节课教的是源石技艺,\n我们会从莱塔尼亚的主要流派讲起。",
"images": [
{
"origin_url": "http://i1.hdslb.com/bfs/archive/a26990582b47031db6b90c06b528961f647a7580.jpg",
"compress_url": null
}
]
},
"item": {
"id": "855521463478780000",
"url": "https://www.bilibili.com/video/BV1tw411z7GA",
"type": "DYNAMIC_TYPE_AV",
"is_top": false,
"is_retweeted": false,
"aid": "322614860",
"bvid": "BV1tw411z7GA"
},
"source": {
"type": "bilibili:dynamic-by-uid",
"data": "161775300"
}
}
],
"next_page_id": "6535d4903b4a4fd2d7919aa6"
}
}
+413
View File
@@ -0,0 +1,413 @@
{
"code": "00000",
"message": "Operate Success",
"data": {
"cookies": [
{
"datasource": "明日方舟-B站",
"icon": "https://cdn.ceobecanteen.top/datasource-avatar/af174f25-1beb-41cd-a4de-2c3aadae9666",
"timestamp": {
"platform": 1698147618000,
"platform_precision": "second",
"fetcher": 1698147638150
},
"default_cookie": {
"text": "【新增服饰】\n//正午余光 - 苦艾\nEPOQUE子品牌 [昔时/Passe]系列精选款/正午余光。苦艾曾经的校服。在乌萨斯,学生穿校服出操,就像是跟在一把犁后面一行整齐的秧苗。\n\n_____________\n只可惜,阳光能照在这把犁上的时间总是太短了。但这样的事,那个春天之前的她还不明白。",
"images": [
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/62e053ba7efc18f15bfd195e2d2de984161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/590a69665209ac220ea8a57f749d5267161775300.gif",
"compress_url": null
}
]
},
"item": {
"id": "856026573106577497",
"url": "https://t.bilibili.com/856026573106577497",
"type": "DYNAMIC_TYPE_DRAW",
"is_top": false,
"is_retweeted": false
},
"source": {
"type": "bilibili:dynamic-by-uid",
"data": "161775300"
}
},
{
"datasource": "明日方舟-B站",
"icon": "https://cdn.ceobecanteen.top/datasource-avatar/af174f25-1beb-41cd-a4de-2c3aadae9666",
"timestamp": {
"platform": 1698141633000,
"platform_precision": "second",
"fetcher": 1698141802505
},
"default_cookie": {
"text": "【采购凭证区-新增干员】\n//折光\n“左手或右手的名片,请问您要哪一张?......宝石鉴定师,折光,很高兴认识您。别担心,选到另一张的话,您这里也没有值得我下手的对象。”\n\n__________________\n两名贵族侍从在宝石鉴定所的工作台前窃窃私语。唱片在留声机上旋转着,乐声恰到好处地盖过了他们的谈话声,也盖过了砂盘打磨宝石的单调噪音。\n如果是在几个月以前,他们会就各自带来的古董珠宝高谈阔论——纹饰的象征,数百年历史留下的痕迹,自己效忠的贵族那悠久高贵的血脉——而非如此小心谨慎地说起,该如何伪装一枚宝石,才能保证不被那位大盗“折光”盯上。他们声称见过大盗本人带着宝石一起从高塔上坠下又消失不见,而后义愤填膺:怎能让莱塔尼亚格调优雅的精粹轻易消失?怎能容忍一个疯子将历史抛进夜幕?\n工作台后的宝石鉴定师始终专注地做着自己手上的工作,对他们的议论充耳不闻。两名侍从对他的懂事十分满意,在谈话告一段落后,不吝用自己的华丽辞藻赞誉鉴定师手中的宝石。\n“这宝石如此灿烂辉煌,是哪位尊敬的大人托你打造?”\n宝石鉴定师终于抬起头,表情困惑无比。\n“不,这只是一块玻璃碎片,我自己随便磨着玩的。两位聊完了的话,请说说来这家小小的鉴定所是有何吩咐吧。”",
"images": [
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/f69f2d2570c828955130b1d77c2dc047161775300.png",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/8d9c849b7a4fed9c8979014a507e26fa161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/67c2bc7661c4db3d5bbe812c69978134161775300.png",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/6c0a5a7a50ac84454ffd4d72a6f77f7b161775300.gif",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/b77f74f545dba41e473bb5e544f7ed80161775300.gif",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/14d5dae139477c4e8a8f54272ff26407161775300.gif",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/518b982b56d934b6e4ffb91a6ec71f35161775300.gif",
"compress_url": null
}
]
},
"item": {
"id": "856000867726262307",
"url": "https://t.bilibili.com/856000867726262307",
"type": "DYNAMIC_TYPE_DRAW",
"is_top": false,
"is_retweeted": false
},
"source": {
"type": "bilibili:dynamic-by-uid",
"data": "161775300"
}
},
{
"datasource": "明日方舟-B站",
"icon": "https://cdn.ceobecanteen.top/datasource-avatar/af174f25-1beb-41cd-a4de-2c3aadae9666",
"timestamp": {
"platform": 1698134603000,
"platform_precision": "second",
"fetcher": 1698134630170
},
"default_cookie": {
"text": "【活动奖励家具预告】\n//“扬升”\n“踏上扬升之阶,我心意已决。”",
"images": [
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/e33791e1c150aa729ca02878b031c01e161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/d625e658b390073980d11309897c1d76161775300.gif",
"compress_url": null
}
]
},
"item": {
"id": "855970674108268553",
"url": "https://t.bilibili.com/855970674108268553",
"type": "DYNAMIC_TYPE_DRAW",
"is_top": false,
"is_retweeted": false
},
"source": {
"type": "bilibili:dynamic-by-uid",
"data": "161775300"
}
},
{
"datasource": "明日方舟-B站",
"icon": "https://cdn.ceobecanteen.top/datasource-avatar/af174f25-1beb-41cd-a4de-2c3aadae9666",
"timestamp": {
"platform": 1698131537000,
"platform_precision": "second",
"fetcher": 1698132050175
},
"default_cookie": {
"text": "【采购凭证区-新增干员】\n//跃跃\n“跃跃,或者随你怎么叫都行,能站在你面前还不够证明我的本事吗?今后我就替你做事啦,好好期待吧,你可别让我腻了哦。”\n\n__________________\n“据统计,自跃跃来到罗德岛后,本舰报告违反管理条例的事件数量环比上升了七个百分点。”\n从外表上看,跃跃是一位活泼热情的少女,任何人都会情不自禁地被她的欢快所感染,卸下心防,答应她一两个诚恳的请求。一旦到了这一步,恭喜你,已经落入她的圈套了。\n不相信?那你就等着看吧,接下来你将会亲眼见证自己的生活是如何失控的:在假期莫名其妙地走回了工作室,终端一直响个不停,各种麻烦事突然找上了你,背包里忽然钻出了磐蟹。在你手忙脚乱应付的时候,不知不觉就将薄荷糖放进了碳酸饮料中......\n更恐怖的是,跃跃擅长扮演无辜的旁观者。许多时候,受害者深陷其中,丝毫没意识到已经被她玩弄于股掌。\n不、不......不能再让这种事发生了!\n终于......好消息是,我已经找到了如何应对跃跃的办法。只要在见面时给她一盒糖果,她就不会再影响你。如果还是行不通的话,就请她吃一顿大餐吧。以上方法我都亲身验证过,绝对有效......总感觉有哪里不对?",
"images": [
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/4d6eabaab21ed5fa0d674b229da78a03161775300.png",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/6ae42edd4db9ea8dd4cc3b33541ac847161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/9d1519a642dd2787371b6d798c2ac0b4161775300.png",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/c1dfbe157323806e6efe64a3013ddd0e161775300.gif",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/300619c777d32d522d383cb5d47743d0161775300.gif",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/f596b22577f27c61bd9df8a3489d5d4b161775300.gif",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/e9413a3820591ce41339901a804cb750161775300.gif",
"compress_url": null
}
]
},
"item": {
"id": "855957505749024787",
"url": "https://t.bilibili.com/855957505749024787",
"type": "DYNAMIC_TYPE_DRAW",
"is_top": false,
"is_retweeted": false
},
"source": {
"type": "bilibili:dynamic-by-uid",
"data": "161775300"
}
},
{
"datasource": "明日方舟-B站",
"icon": "https://cdn.ceobecanteen.top/datasource-avatar/af174f25-1beb-41cd-a4de-2c3aadae9666",
"timestamp": {
"platform": 1698116415000,
"platform_precision": "second",
"fetcher": 1698116927814
},
"default_cookie": {
"text": "《明日方舟》特别映像 [萨尔贡:万王之王]\n欢迎你们,追寻传说而来的客人\n今天的主角,是被尊为“沙阿”的过去与未来之王——\n路加萨尔古斯",
"images": [
{
"origin_url": "http://i0.hdslb.com/bfs/archive/b4da4ed5f5911f9cb4914973ef64ddd6b816fbe8.jpg",
"compress_url": null
}
]
},
"item": {
"id": "855892557268254720",
"url": "https://www.bilibili.com/video/BV1Zw411B7K2",
"type": "DYNAMIC_TYPE_AV",
"is_top": false,
"is_retweeted": false,
"aid": "322515082",
"bvid": "BV1Zw411B7K2"
},
"source": {
"type": "bilibili:dynamic-by-uid",
"data": "161775300"
}
},
{
"datasource": "明日方舟-B站",
"icon": "https://cdn.ceobecanteen.top/datasource-avatar/af174f25-1beb-41cd-a4de-2c3aadae9666",
"timestamp": {
"platform": 1698113396000,
"platform_precision": "second",
"fetcher": 1698113460137
},
"default_cookie": {
"text": "《明日方舟》特别映像 [谢拉格:驶向未来]\n在遥远的高山上,有一个国家\n它的名字叫谢拉格",
"images": [
{
"origin_url": "http://i2.hdslb.com/bfs/archive/2666220c595dcc3a2d165bb8499fdcb2b9323178.jpg",
"compress_url": null
}
]
},
"item": {
"id": "855879590736822277",
"url": "https://www.bilibili.com/video/BV1oQ4y1p7oi",
"type": "DYNAMIC_TYPE_AV",
"is_top": false,
"is_retweeted": false,
"aid": "705053598",
"bvid": "BV1oQ4y1p7oi"
},
"source": {
"type": "bilibili:dynamic-by-uid",
"data": "161775300"
}
},
{
"datasource": "明日方舟-B站",
"icon": "https://cdn.ceobecanteen.top/datasource-avatar/af174f25-1beb-41cd-a4de-2c3aadae9666",
"timestamp": {
"platform": 1698060616000,
"platform_precision": "second",
"fetcher": 1698060775227
},
"default_cookie": {
"text": "【活动奖励服饰】\n//星橼林 - 流星\nEPOQUE子品牌 [昔时/Passe]系列精选款/星橼林。流星还在卡西米尔时所着的冬装。兼顾轻便与防寒,于密林中的隐蔽性也很高。复原品。\n\n_____________\n星橼树只生长在卡西米尔。在它们尚有记忆的时候,守林人温暖、安全,就像家乡。",
"images": [
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/0650692b71afe7d01c6f855ae1f526af161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/9db6fa64eda5f227ab7bdfbb31b66bc7161775300.gif",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/c84ce858eb4688078a5185dbe9ed21f6161775300.gif",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/d2fc7f730d596130eedf0eab75190acc161775300.gif",
"compress_url": null
}
]
},
"item": {
"id": "855652902373425173",
"url": "https://t.bilibili.com/855652902373425173",
"type": "DYNAMIC_TYPE_DRAW",
"is_top": false,
"is_retweeted": false
},
"source": {
"type": "bilibili:dynamic-by-uid",
"data": "161775300"
}
},
{
"datasource": "明日方舟-B站",
"icon": "https://cdn.ceobecanteen.top/datasource-avatar/af174f25-1beb-41cd-a4de-2c3aadae9666",
"timestamp": {
"platform": 1698055205000,
"platform_precision": "second",
"fetcher": 1698055273578
},
"default_cookie": {
"text": "【新增家具】\n//秋日乐器行\n音乐爱好者们干脆将莱塔尼亚的乐器行搬上了罗德岛。这里不仅按莱塔尼亚风格装点,乐器也一应俱全——既要身临其境,也要声如其境。\n\n_________________\n新增【秋日乐器行】主题家具,限时上架\n家具商店贩售时间:11月1日16:00 - 11月29日03:59",
"images": [
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/54ff0594e25034440b7a0a07ac4865fe161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/bef297fa00abad3e8006b6fb92a46ff6161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/3d1046af7346b4797bc4eb0b6e8bbebb161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/d74379253b4284bedf67b4da502db5c7161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/4b28c8a7f3146d27010c24ac96689149161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/9a629bd1343f0fd0c47f207cbdc60d8a161775300.gif",
"compress_url": null
}
]
},
"item": {
"id": "855629657997836359",
"url": "https://t.bilibili.com/855629657997836359",
"type": "DYNAMIC_TYPE_DRAW",
"is_top": false,
"is_retweeted": false
},
"source": {
"type": "bilibili:dynamic-by-uid",
"data": "161775300"
}
},
{
"datasource": "明日方舟-B站",
"icon": "https://cdn.ceobecanteen.top/datasource-avatar/af174f25-1beb-41cd-a4de-2c3aadae9666",
"timestamp": {
"platform": 1698053400000,
"platform_precision": "second",
"fetcher": 1698054139571
},
"default_cookie": {
"text": "【新增家具】\n//路德维格大学讲演厅\n根据止颂的描述还原的路德维格大学讲演厅,求知者们的豪言在厅中回响。“上前来!踏入求知的殿堂!”\n\n_________________\n新增【路德维格大学讲演厅】主题家具,限时上架\n家具商店贩售时间:11月1日16:00 - 11月29日03:59",
"images": [
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/e5b562e04a6cdcd7a9d2cc9e8ac709b6161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/8b65e92b5fcf2aabf4ff3c881abc4ea5161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/b05921d44739fb32642fc99beac63e01161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/072aaab691f0ad134053ad5a1d3f82a8161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/3a369d1bb793c9d46ae85c137f839f5d161775300.jpg",
"compress_url": null
},
{
"origin_url": "https://i0.hdslb.com/bfs/new_dyn/b22c226e5435eb2e32e427386f545cd4161775300.gif",
"compress_url": null
}
]
},
"item": {
"id": "855621909896757268",
"url": "https://t.bilibili.com/855621909896757268",
"type": "DYNAMIC_TYPE_DRAW",
"is_top": false,
"is_retweeted": false
},
"source": {
"type": "bilibili:dynamic-by-uid",
"data": "161775300"
}
},
{
"datasource": "明日方舟-B站",
"icon": "https://cdn.ceobecanteen.top/datasource-avatar/af174f25-1beb-41cd-a4de-2c3aadae9666",
"timestamp": {
"platform": 1698030013000,
"platform_precision": "second",
"fetcher": 1698030038868
},
"default_cookie": {
"text": "《明日方舟》特别映像 [莱塔尼亚:源石技艺A1.1]\n你们都拿到教学大纲了,很好。\n以防你们还没发现,\n这节课教的是源石技艺,\n我们会从莱塔尼亚的主要流派讲起。",
"images": [
{
"origin_url": "http://i1.hdslb.com/bfs/archive/a26990582b47031db6b90c06b528961f647a7580.jpg",
"compress_url": null
}
]
},
"item": {
"id": "855521463478780000",
"url": "https://www.bilibili.com/video/BV1tw411z7GA",
"type": "DYNAMIC_TYPE_AV",
"is_top": false,
"is_retweeted": false,
"aid": "322614860",
"bvid": "BV1tw411z7GA"
},
"source": {
"type": "bilibili:dynamic-by-uid",
"data": "161775300"
}
}
],
"next_page_id": "6535d4903b4a4fd2d7919aa6"
}
}
@@ -0,0 +1,77 @@
{
"code": "00000",
"message": "Operate Success",
"data": {
"cookies": [
{
"datasource": "明日方舟朝陇山-微博",
"icon": "https://cdn.ceobecanteen.top/datasource-avatar/90e2893a-4756-408d-9dc1-8ddec49bc7a3",
"timestamp": {
"platform": 1698729936000,
"platform_precision": "second",
"fetcher": 1698729954257
},
"default_cookie": {
"text": "感谢博士们的支持!目前【朝陇山休憩处】正在加急补货中!预计明日将补货完成。同时根据实际情况,现场可能会有临时名额开放,在附近的博士们可与门店工作人员确认开放情况。",
"images": null
},
"item": {
"id": "4962895416264794",
"url": "https://weibo.com/6441489862/NqocdqhL4",
"bid": "NqocdqhL4",
"type": null,
"is_long_text": false,
"is_top": false,
"is_retweeted": true,
"retweeted": {
"author_name": "明日方舟朝陇山",
"author_avatar": "https://wx4.sinaimg.cn/orj480/0071VPLMly8hgw53ei5zoj30go0go0tv.jpg",
"text": "〓明日方舟 朝陇山休憩处〓\n在某处地方,来自泰拉各国的行商在这里歇脚,并逐渐形成为一个固定休憩点。\n各位行商带来了风格迥异的纪念商品,琳琅的商品堆满货架。\n今天,兔兔为博士带来了休憩处的信息,欢迎博士前来探索——\n\n【活动地点】\n上海市徐汇区肇嘉浜路1111号美罗城5",
"images": [
{
"origin_url": "https://wx4.sinaimg.cn/large/0071VPLMgy1hj4ca5ao3yj30dw0dwmzt.jpg",
"compress_url": "https://wx4.sinaimg.cn/orj360/0071VPLMgy1hj4ca5ao3yj30dw0dwmzt.jpg"
},
{
"origin_url": "https://wx4.sinaimg.cn/large/0071VPLMgy1hj4ca5bl7hj30dw0dw40s.jpg",
"compress_url": "https://wx4.sinaimg.cn/orj360/0071VPLMgy1hj4ca5bl7hj30dw0dw40s.jpg"
},
{
"origin_url": "https://wx1.sinaimg.cn/large/0071VPLMgy1hj4ca5aiwjj30dw0dw40v.jpg",
"compress_url": "https://wx1.sinaimg.cn/orj360/0071VPLMgy1hj4ca5aiwjj30dw0dw40v.jpg"
},
{
"origin_url": "https://wx2.sinaimg.cn/large/0071VPLMgy1hj4ca5ab41j30dw0dwmyo.jpg",
"compress_url": "https://wx2.sinaimg.cn/orj360/0071VPLMgy1hj4ca5ab41j30dw0dwmyo.jpg"
},
{
"origin_url": "https://wx1.sinaimg.cn/large/0071VPLMgy1hj4ca5iw9hj30dw0dwmz8.jpg",
"compress_url": "https://wx1.sinaimg.cn/orj360/0071VPLMgy1hj4ca5iw9hj30dw0dwmz8.jpg"
},
{
"origin_url": "https://wx2.sinaimg.cn/large/0071VPLMgy1hj4ca5a13hj30dw0dwjtj.jpg",
"compress_url": "https://wx2.sinaimg.cn/orj360/0071VPLMgy1hj4ca5a13hj30dw0dwjtj.jpg"
},
{
"origin_url": "https://wx1.sinaimg.cn/large/0071VPLMgy1hj4ca5dhutj30dw0dw768.jpg",
"compress_url": "https://wx1.sinaimg.cn/orj360/0071VPLMgy1hj4ca5dhutj30dw0dw768.jpg"
},
{
"origin_url": "https://wx3.sinaimg.cn/large/0071VPLMgy1hj4ca5eedaj30dw0dwwgf.jpg",
"compress_url": "https://wx3.sinaimg.cn/orj360/0071VPLMgy1hj4ca5eedaj30dw0dwwgf.jpg"
},
{
"origin_url": "https://wx4.sinaimg.cn/large/0071VPLMgy1hj4ca5egoqj30dw0dwmz9.jpg",
"compress_url": "https://wx4.sinaimg.cn/orj360/0071VPLMgy1hj4ca5egoqj30dw0dwmz9.jpg"
}
]
}
},
"source": {
"type": "weibo:dynamic-by-uid",
"data": "6441489862"
}
}
]
}
}
+348
View File
@@ -0,0 +1,348 @@
{
"code": "00000",
"message": "Operate Success",
"data": [
{
"platform": "bilibili",
"datasource": "bilibili:dynamic-by-uid",
"nickname": "明日方舟-B站",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/af174f25-1beb-41cd-a4de-2c3aadae9666",
"unique_id": "7d23708b-e424-418b-b4c4-43c370c3b6d0",
"db_unique_key": "161775300",
"jump_url": "https://space.bilibili.com/161775300"
},
{
"platform": "bilibili",
"datasource": "bilibili:dynamic-by-uid",
"nickname": "来自星尘-B站",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/1c89736b-eda3-48d8-9620-b76470243e42",
"unique_id": "15121af1-6820-4777-8b24-3b8ae9982ecd",
"db_unique_key": "1883857209",
"jump_url": "https://space.bilibili.com/1883857209"
},
{
"platform": "bilibili",
"datasource": "bilibili:dynamic-by-uid",
"nickname": "鹰角网络-B站",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/1db2fb70-91b4-406d-9dfc-5a65eab05cc0",
"unique_id": "ad35c9fa-0a73-4c13-89bf-f1f477ea43e4",
"db_unique_key": "598504181",
"jump_url": "https://space.bilibili.com/598504181"
},
{
"platform": "weibo",
"datasource": "weibo:dynamic-by-uid",
"nickname": "森空岛-微博",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/c857622b-1700-4546-8e85-ae28b0479ce8",
"unique_id": "743fad9a-39f7-4b89-9a4e-33d69a43fd2d",
"db_unique_key": "7751894824",
"jump_url": "https://weibo.com/7751894824"
},
{
"platform": "bilibili",
"datasource": "bilibili:dynamic-by-uid",
"nickname": "森空岛-B站",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/bdfcaeeb-314e-44bb-9997-0850bb4cbbb9",
"unique_id": "78a849e6-404c-4961-8d16-c2954dfda3c2",
"db_unique_key": "630840991",
"jump_url": "https://space.bilibili.com/630840991"
},
{
"platform": "weibo",
"datasource": "weibo:dynamic-by-uid",
"nickname": "明日方舟-微博",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/6bf18e8d-0f8f-445b-b500-eef16fb17b68",
"unique_id": "c1c84fa5-9683-420b-a858-afcdaf69100b",
"db_unique_key": "6279793937",
"jump_url": "https://weibo.com/6279793937"
},
{
"platform": "bilibili",
"datasource": "bilibili:dynamic-by-uid",
"nickname": "明日方舟:终末地-B站",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/1aeeb3fd-2573-49d3-bcbe-9de4eb4f768b",
"unique_id": "8cce7297-b7b9-4ec7-8311-4429ba5eb9a5",
"db_unique_key": "1265652806",
"jump_url": "https://space.bilibili.com/1265652806"
},
{
"platform": "weibo",
"datasource": "weibo:dynamic-by-uid",
"nickname": "明日方舟:终末地-微博",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/fa8dbab7-0248-41f8-91b9-c9f55b0d9f53",
"unique_id": "cff7c521-45c6-4bd6-a435-7c7d6786810b",
"db_unique_key": "7745672941",
"jump_url": "https://weibo.com/7745672941"
},
{
"platform": "weibo",
"datasource": "weibo:dynamic-by-uid",
"nickname": "Wan顽子-微博",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/b59fc905-bcd8-4d19-a787-56c1d7ea6878",
"unique_id": "45e5f0a8-00d4-4b5b-9d44-53c2fb3cdf7a",
"db_unique_key": "7712938090",
"jump_url": "https://weibo.com/7712938090"
},
{
"platform": "bilibili",
"datasource": "bilibili:dynamic-by-uid",
"nickname": "Wan顽子-B站",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/176149ad-25ae-474b-aa1a-df3776f7070e",
"unique_id": "4f6e49d9-8df3-4af3-82e4-afc72b4eea82",
"db_unique_key": "1579053316",
"jump_url": "https://space.bilibili.com/1579053316"
},
{
"platform": "weibo",
"datasource": "weibo:dynamic-by-uid",
"nickname": "开拓芯COREBLAZER-微博",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/b730d687-2571-4500-ba0c-16a5747535fc",
"unique_id": "6afbd6d3-31cf-485d-a46b-3fab76f568f9",
"db_unique_key": "7800541024",
"jump_url": "https://weibo.com/7800541024"
},
{
"platform": "weibo",
"datasource": "weibo:dynamic-by-uid",
"nickname": "乌柯塔界限OCTAVEDGE-微博",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/9256d72d-09ce-4607-a402-de013d074b3d",
"unique_id": "7396af55-4c89-4804-9c0e-1669126f692a",
"db_unique_key": "7683268725",
"jump_url": "https://weibo.com/7683268725"
},
{
"platform": "bilibili",
"datasource": "bilibili:dynamic-by-uid",
"nickname": "乌柯塔界限OCTAVEDGE-B站",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/90a7e8da-48d0-482e-931e-f94470e9f8ab",
"unique_id": "0b6633d7-43cc-4322-abf3-f16603c7bd64",
"db_unique_key": "1063074282",
"jump_url": "https://space.bilibili.com/1063074282"
},
{
"platform": "weibo",
"datasource": "weibo:dynamic-by-uid",
"nickname": "明日方舟朝陇山-微博",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/90e2893a-4756-408d-9dc1-8ddec49bc7a3",
"unique_id": "e2d4c074-aeef-4bb2-a9f0-a47c2b66768b",
"db_unique_key": "6441489862",
"jump_url": "https://weibo.com/6441489862"
},
{
"platform": "bilibili",
"datasource": "bilibili:dynamic-by-uid",
"nickname": "CubesCollective-B站",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/e4046802-9551-4b95-9ceb-8a2fd954a866",
"unique_id": "d77d55cc-79ae-4109-a374-6f890172c9cd",
"db_unique_key": "2123591088",
"jump_url": "https://space.bilibili.com/2123591088"
},
{
"platform": "bilibili",
"datasource": "bilibili:dynamic-by-uid",
"nickname": "重力井动画-B站",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/7ca1bbce-949d-4833-b081-61e05dd773a7",
"unique_id": "b02a4c8a-7e75-4066-9239-be834584e97b",
"db_unique_key": "1554642444",
"jump_url": "https://space.bilibili.com/1554642444"
},
{
"platform": "weibo",
"datasource": "weibo:dynamic-by-uid",
"nickname": "重力井动画-微博",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/0c6fca2a-b4a8-4700-a75d-1efcdf5195ee",
"unique_id": "163414af-549d-4fc8-97c7-2cb2d44ae0fa",
"db_unique_key": "7753678921",
"jump_url": "https://weibo.com/7753678921"
},
{
"platform": "weibo",
"datasource": "weibo:dynamic-by-uid",
"nickname": "CubesCollective-微博",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/2d297dd8-cd42-4651-a535-2865446872e0",
"unique_id": "492c6477-016e-4b50-8ce4-5a745b0de850",
"db_unique_key": "7719744839",
"jump_url": "https://weibo.com/7719744839"
},
{
"platform": "weibo",
"datasource": "weibo:dynamic-by-uid",
"nickname": "一拾山-微博",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/bdb5fd42-f295-4a00-a177-8dfd6ea7fee6",
"unique_id": "4cddb838-5db1-4b62-b86f-53a676a91769",
"db_unique_key": "7506039414",
"jump_url": "https://weibo.com/7506039414"
},
{
"platform": "netease-cloud-music",
"datasource": "netease-cloud-music:albums-by-artist",
"nickname": "塞壬唱片-网易云",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/1697a3c2-9b14-431c-83e0-3e1c082ec848",
"unique_id": "a3f18d47-ad2f-4912-93e5-5955d86b681a",
"db_unique_key": "32540734",
"jump_url": "https://music.163.com/#/artist/album?id=32540734"
},
{
"platform": "netease-cloud-music",
"datasource": "netease-cloud-music:albums-by-artist",
"nickname": "Cubes Collective-网易云",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/8e269272-e848-4760-8430-3f4c592bcfd8",
"unique_id": "d98999e7-51d1-4f5b-a150-3f0ef945dcfe",
"db_unique_key": "50653540",
"jump_url": "https://music.163.com/#/artist?id=50653540"
},
{
"platform": "weibo",
"datasource": "weibo:dynamic-by-uid",
"nickname": "泰拉记事社-微博",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/c7dcd2d1-a380-4722-8dd4-e9cf4d4fb1e9",
"unique_id": "e70c9b5e-e6b4-4fc0-8ef4-71afb6d3b8e3",
"db_unique_key": "7499841383",
"jump_url": "https://weibo.com/7499841383"
},
{
"platform": "weibo",
"datasource": "weibo:dynamic-by-uid",
"nickname": "企鹅物流-微博",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/e7b87a87-bc06-4521-804e-082b6626d446",
"unique_id": "8e4c6b1f-4d3e-46e5-8b89-d9c5257b3d61",
"db_unique_key": "2954409082",
"jump_url": "https://weibo.com/2954409082"
},
{
"platform": "weibo",
"datasource": "weibo:dynamic-by-uid",
"nickname": "鹰角网络-微博",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/bb6ab09e-620d-4bfe-b899-4460cbeedee6",
"unique_id": "311cc0b3-e48c-42c0-a63c-38db366413f3",
"db_unique_key": "7461423907",
"jump_url": "https://weibo.com/7461423907"
},
{
"platform": "bilibili",
"datasource": "bilibili:dynamic-by-uid",
"nickname": "一拾山-B站",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/086370ee-01b5-405a-9bef-5772a4314f58",
"unique_id": "7386f94d-e083-4330-919c-dd06b643615f",
"db_unique_key": "1096228210",
"jump_url": "https://space.bilibili.com/1096228210"
},
{
"platform": "weibo",
"datasource": "weibo:dynamic-by-uid",
"nickname": "来自星尘ExAstris-微博",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/a483cfe8-f0cc-4515-8286-da52a9e396e4",
"unique_id": "b77198d6-17c9-4c71-bf8d-c39258b8f6a8",
"db_unique_key": "7697896274",
"jump_url": "https://weibo.com/u/7697896274"
},
{
"platform": "arknights-game",
"datasource": "arknights-game:version",
"nickname": "明日方舟版本-安卓",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/182a1df4-cb48-4faa-a90c-780e1cd378c1",
"unique_id": "8fc31e96-98e8-4a6e-94a6-544c1dd655f0",
"db_unique_key": "Android",
"jump_url": null
},
{
"platform": "arknights-game",
"datasource": "arknights-game:version",
"nickname": "明日方舟版本-IOS",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/90c1beab-cda7-4f33-9369-91bdf55807e0",
"unique_id": "c800b1b4-ee29-4922-be3d-bfec911a04ab",
"db_unique_key": "IOS",
"jump_url": null
},
{
"platform": "arknights-game",
"datasource": "arknights-game:version",
"nickname": "明日方舟版本-B服",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/767802e0-eafb-4fc3-a606-6346f7e62a02",
"unique_id": "bff61511-6104-4a15-970b-096a09fc08c9",
"db_unique_key": "Bilibili",
"jump_url": null
},
{
"platform": "arknights-website",
"datasource": "arknights-website:official-website",
"nickname": "明日方舟-官网",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/0e9fbb0a-0504-4bf7-ae06-daf1dbd00820",
"unique_id": "7c92944c-a669-4dd8-ada7-87e8fe60c20d",
"db_unique_key": "-",
"jump_url": "https://ak.hypergryph.com/#information"
},
{
"platform": "arknights-website",
"datasource": "arknights-website:terra-historicus",
"nickname": "泰拉记事社-官网",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/a1458614-8e8b-4cd4-8fdf-0a5d54c92225",
"unique_id": "0888a4bd-98b8-4be1-9820-4c7c9a2991e1",
"db_unique_key": "-",
"jump_url": "https://terra-historicus.hypergryph.com/"
},
{
"platform": "arknights-website",
"datasource": "arknights-website:monster-siren",
"nickname": "塞壬唱片-官网",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/6d1de55d-3356-4b5c-898f-679abac2d995",
"unique_id": "c905d094-080a-4ae1-877e-74bcd77ef68a",
"db_unique_key": "-",
"jump_url": "https://monster-siren.hypergryph.com/"
},
{
"platform": "arknights-game",
"datasource": "arknights-game:bulletin-list",
"nickname": "明日方舟公告-安卓",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/57819298-73fd-47af-8144-9860bbc5ff20",
"unique_id": "a0e1f9d0-f2de-4914-940e-7d09a63557c2",
"db_unique_key": "Android",
"jump_url": null
},
{
"platform": "arknights-game",
"datasource": "arknights-game:bulletin-list",
"nickname": "明日方舟公告-IOS",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/a54d411b-2eb0-4ca8-aa1d-02c68b2f152f",
"unique_id": "cce493e6-898f-4d1f-ad80-1f1cdf55428b",
"db_unique_key": "IOS",
"jump_url": null
},
{
"platform": "arknights-game",
"datasource": "arknights-game:bulletin-list",
"nickname": "明日方舟公告-B服",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/92773ca6-5c6f-41a6-9004-a2d8328c159f",
"unique_id": "45ed298b-b08b-4dc8-b93d-5314e019b6e7",
"db_unique_key": "Bilibili",
"jump_url": null
},
{
"platform": "bilibili",
"datasource": "bilibili:dynamic-by-uid",
"nickname": "开拓芯-B站",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/88c0b852-a217-46af-83ac-ebb62c27bf6c",
"unique_id": "32fed709-199e-4df6-a371-68d6ea51010e",
"db_unique_key": "1264646342",
"jump_url": "https://space.bilibili.com/1264646342"
},
{
"platform": "bilibili",
"datasource": "bilibili:dynamic-by-uid",
"nickname": "泡姆泡姆-B站",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/0be9bfd4-dfb7-4693-b08c-799688f4317c",
"unique_id": "360d1bcd-789b-48b1-982e-da0132ab60e3",
"db_unique_key": "1415744159",
"jump_url": "https://space.bilibili.com/1415744159"
},
{
"platform": "weibo",
"datasource": "weibo:dynamic-by-uid",
"nickname": "泡姆泡姆-微博",
"avatar": "https://cdn.ceobecanteen.top/datasource-avatar/efd15bf8-c3c1-4816-a754-2a5fd54955a1",
"unique_id": "491ea114-eb12-4b1e-b06d-c763c0bffdd2",
"db_unique_key": "7840846173",
"jump_url": "https://weibo.com/u/7840846173"
}
]
}
+29
View File
@@ -276,3 +276,32 @@ async def test_send_with_render(
# assert(post.pics == ['https://ak-fs.hypergryph.com/announce/images/20210623/e6f49aeb9547a2278678368a43b95b07.jpg'])
r = await post2.generate_messages()
assert r
@pytest.mark.render()
@respx.mock
async def test_parse_title(
app: App,
):
from nonebot_bison.utils import ProcessContext, DefaultClientManager
from nonebot_bison.platform.arknights import Arknights, BulletinListItem
detail_router = respx.get("https://ak-webview.hypergryph.com/api/game/bulletin/8397")
ark = Arknights(ProcessContext(DefaultClientManager()))
mock_detail = get_json("arknights-detail-805")
mock_detail["data"]["header"] = ""
detail_router.mock(return_value=Response(200, json=mock_detail))
mock_raw_post = BulletinListItem(
cid="8397",
title="【公开招募】\n标签刷新通知",
category=1,
displayTime="07-30 10:00:00",
updatedAt=1627582800,
sticky=False,
)
post = await ark.parse(mock_raw_post)
assert post.title == "【公开招募】 - 标签刷新通知"
+259
View File
@@ -0,0 +1,259 @@
from typing import TYPE_CHECKING
import respx
import pytest
from httpx import Response
from nonebug.app import App
from nonebot.compat import type_validate_python
from .utils import get_json
if TYPE_CHECKING:
from nonebot_bison.platform.ceobecanteen import CeobeCanteen
@pytest.fixture()
def dummy_only_open_user_subinfo(app: App):
from nonebot_plugin_saa import TargetQQGroup
from nonebot_bison.types import UserSubInfo
user = TargetQQGroup(group_id=123)
return UserSubInfo(user=user, categories=[1], tags=[])
@pytest.fixture()
def ceobecanteen(app: App):
from nonebot_bison.utils import ProcessContext
from nonebot_bison.platform import platform_manager
from nonebot_bison.platform.ceobecanteen.platform import CeobeCanteenClientManager
return platform_manager["ceobecanteen"](ProcessContext(CeobeCanteenClientManager()))
@pytest.fixture(scope="module")
def dummy_target() -> str:
return "7d23708b-e424-418b-b4c4-43c370c3b6d0"
@pytest.fixture(scope="module")
def ceobecanteen_targets() -> dict:
return get_json("ceobecanteen_targets.json")
@pytest.fixture(scope="module")
def ceobecanteen_comb_id_0() -> dict:
return get_json("ceobecanteen_comb_id_0.json")
@pytest.fixture(scope="module")
def ceobecanteen_comb_id_1() -> dict:
return get_json("ceobecanteen_comb_id_1.json")
@pytest.fixture(scope="module")
def ceobecanteen_cookie_id_0() -> dict:
return get_json("ceobecanteen_cookie_id_0.json")
@pytest.fixture(scope="module")
def ceobecanteen_cookie_id_1() -> dict:
return get_json("ceobecanteen_cookie_id_1.json")
@pytest.fixture(scope="module")
def ceobecanteen_cookies_0() -> dict:
return get_json("ceobecanteen_cookies_0.json")
@pytest.fixture(scope="module")
def ceobecanteen_cookies_1() -> dict:
return get_json("ceobecanteen_cookies_1.json")
@pytest.mark.asyncio()
async def test_parse_retweet(app: App):
from nonebot_bison.platform.ceobecanteen.models import CookiesResponse
cookie_with_retweet = type_validate_python(CookiesResponse, get_json("ceobecanteen_cookies_with_retweet.json"))
assert cookie_with_retweet.data.cookies[0].item.retweeted
@pytest.mark.render()
async def test_ceobe_snapshot(app: App, ceobecanteen: "CeobeCanteen"):
from nonebot_bison.platform.ceobecanteen.models import CeobeCookie
sp_coolies = get_json("ceobe_special_cookies.json")
# arknights-game:bulletin-list but not need to snapshot
cookie_bulletin_type2 = type_validate_python(CeobeCookie, sp_coolies[0])
assert cookie_bulletin_type2.source.type == "arknights-game:bulletin-list"
post = await ceobecanteen.parse(cookie_bulletin_type2)
assert post.images
assert len(post.images) == 1
assert post.content == "【联合行动】\n定向寻访开启"
cookie_bulletin_type1 = type_validate_python(CeobeCookie, sp_coolies[1])
post2 = await ceobecanteen.parse(cookie_bulletin_type1)
assert post2.images
assert len(post2.images) == 1
assert not post2.content
cookie_offical = type_validate_python(CeobeCookie, sp_coolies[2])
post3 = await ceobecanteen.parse(cookie_offical)
assert post3.images
assert len(post3.images) == 1
assert not post3.content
cookie_common = type_validate_python(CeobeCookie, sp_coolies[3])
post4 = await ceobecanteen.parse(cookie_common)
assert post4.images
assert len(post4.images) == 7
assert post4.content
@pytest.mark.skip("极限测试, 不在CI中运行")
@pytest.mark.asyncio()
async def test_parse_crazy(app: App, ceobecanteen):
from nonebot_plugin_saa import Image
from nonebot_bison.platform.ceobecanteen import CeobeCanteen
from nonebot_bison.platform.ceobecanteen.models import CeobeCookie
def show(p: bytes):
import io
from PIL import Image
Image.open(io.BytesIO(p)).show()
def ext(m: Image):
d = m.data["image"]
assert isinstance(d, bytes)
return d
assert isinstance(ceobecanteen, CeobeCanteen)
cookie_offical = type_validate_python(CeobeCookie, get_json("ceobe_looooong_bulletin.json"))
post4 = await ceobecanteen.parse(cookie_offical)
show(ext((await post4.generate_messages())[0][0])) # type: ignore
@pytest.mark.asyncio()
@respx.mock
async def test_batch_fetch_new_with_single(
app: App,
dummy_target,
dummy_only_open_user_subinfo,
ceobecanteen: "CeobeCanteen",
ceobecanteen_targets,
ceobecanteen_comb_id_0,
ceobecanteen_cookie_id_0,
ceobecanteen_cookie_id_1,
ceobecanteen_cookies_0,
ceobecanteen_cookies_1,
):
from nonebot_bison.post import Post
from nonebot_bison.types import SubUnit
mock_respone_headers = {
"Content-Encoding": "br",
"Content-Type": "application/json; charset=utf-8",
"Date": "Thu, 08 Jul 2021 14:00:00 GMT",
# "Date": datetime.utcnow().strftime("%a, %d %b %Y %H:%M:%S GMT"),
"Vary": "origin; access-control-request-method; access-control-request-headers",
}
targets_router = respx.get("https://server.ceobecanteen.top/api/v1/canteen/config/datasource/list")
comb_id_router = respx.post("https://server.ceobecanteen.top/api/v1/canteen/user/getDatasourceComb")
cookie_id_router = respx.get("http://cdn.ceobecanteen.top/datasource-comb/2")
cookies_router = respx.get("https://server-cdn.ceobecanteen.top/api/v1/cdn/cookie/mainList/cookieList")
targets_router.mock(return_value=Response(200, json=ceobecanteen_targets, headers=mock_respone_headers))
comb_id_router.mock(return_value=Response(200, json=ceobecanteen_comb_id_0))
cookie_id_router.mock(return_value=Response(200, json=ceobecanteen_cookie_id_0, headers=mock_respone_headers))
cookies_router.mock(return_value=Response(200, json=ceobecanteen_cookies_0, headers=mock_respone_headers))
assert await ceobecanteen.get_target_name(None, dummy_target) == "明日方舟-B站"
assert await ceobecanteen.parse_target("明日方舟-B站") == dummy_target
res1 = await ceobecanteen.batch_fetch_new_post([SubUnit(dummy_target, [dummy_only_open_user_subinfo])])
assert comb_id_router.called
assert cookie_id_router.called
assert cookies_router.called
assert res1 == []
res2 = await ceobecanteen.batch_fetch_new_post([SubUnit(dummy_target, [dummy_only_open_user_subinfo])])
assert comb_id_router.call_count == 1
assert cookie_id_router.call_count == 2
assert cookies_router.call_count == 1
assert res2 == []
cookie_id_router.mock(return_value=Response(200, json=ceobecanteen_cookie_id_1))
cookies_router.mock(return_value=Response(200, json=ceobecanteen_cookies_1))
res3 = await ceobecanteen.batch_fetch_new_post([SubUnit(dummy_target, [dummy_only_open_user_subinfo])])
assert comb_id_router.call_count == 1
assert cookie_id_router.call_count == 3
assert cookies_router.call_count == 2
post3: Post = res3[0][1][0]
assert not post3.title
assert (
post3.content
== "【新增服饰】\n//正午余光 - 苦艾\nEPOQUE子品牌 [昔时/Passe]系列精选款/正午余光。苦艾曾经的校服。"
"在乌萨斯,学生穿校服出操,就像是跟在一把犁后面一行整齐的秧苗。\n\n_____________\n只可惜,"
"阳光能照在这把犁上的时间总是太短了。但这样的事,那个春天之前的她还不明白。"
)
assert post3.images
assert len(post3.images) == 2
assert post3.timestamp
assert post3.url
assert post3.avatar
assert post3.nickname == "明日方舟-B站"
assert post3.description
assert post3.platform.platform_name == "ceobecanteen"
image1_router = respx.get("https://i0.hdslb.com/bfs/new_dyn/62e053ba7efc18f15bfd195e2d2de984161775300.jpg")
image2_router = respx.get("https://i0.hdslb.com/bfs/new_dyn/590a69665209ac220ea8a57f749d5267161775300.gif")
image1_router.mock(return_value=Response(200, content=b"image1"))
image2_router.mock(return_value=Response(200, content=b"image2"))
await post3.generate_messages()
@pytest.mark.asyncio()
@respx.mock
async def test_parse_target_fuzzy(app: App, ceobecanteen: "CeobeCanteen", dummy_target, ceobecanteen_targets):
from nonebot_bison.platform.ceobecanteen import CeobeCanteen
mock_respone_headers = {
"Content-Encoding": "br",
"Content-Type": "application/json; charset=utf-8",
"Date": "Thu, 08 Jul 2021 14:00:00 GMT",
# "Date": datetime.utcnow().strftime("%a, %d %b %Y %H:%M:%S GMT"),
"Vary": "origin; access-control-request-method; access-control-request-headers",
}
targets_router = respx.get("https://server.ceobecanteen.top/api/v1/canteen/config/datasource/list")
targets_router.mock(return_value=Response(200, json=ceobecanteen_targets, headers=mock_respone_headers))
# check load data ok
assert await ceobecanteen.get_target_name(None, dummy_target) == "明日方舟-B站"
assert await ceobecanteen.parse_target("明日方舟-B站") == dummy_target
# check fuzzy search
# try:
# assert await ceobecanteen.parse_target("丸子姐") == dummy_target
# except CeobeCanteen.ParseTargetException as e:
# logger.error(e.prompt)
# pytest.fail("fuzzy search failed")
with pytest.raises(CeobeCanteen.ParseTargetException) as pe1:
await ceobecanteen.parse_target("丸子姐")
assert pe1.value.prompt
assert "Wan顽子-B站\nWan顽子-微博" in pe1.value.prompt
with pytest.raises(CeobeCanteen.ParseTargetException) as pe2:
await ceobecanteen.parse_target("明日方舟")
assert pe2.value.prompt
assert "明日方舟-B站" in pe2.value.prompt
+3 -2
View File
@@ -161,7 +161,7 @@ async def test_theme_no_enable_use_browser(app: App, mock_post, mocker: MockerFi
@pytest.mark.asyncio
@flaky(max_runs=3, min_passes=1)
async def test_arknights_theme(app: App, mock_post):
from nonebot_plugin_saa import Image
from nonebot_plugin_saa import Text, Image
from nonebot_bison.theme import theme_manager
from nonebot_bison.theme.themes.arknights import ArknightsTheme
@@ -171,8 +171,9 @@ async def test_arknights_theme(app: App, mock_post):
assert isinstance(arknights_theme, ArknightsTheme)
assert arknights_theme.name == "arknights"
res = await arknights_theme.render(mock_post)
assert len(res) == 1
assert len(res) == 2
assert isinstance(res[0], Image)
assert res[1] == Text("前往:http://t.tt/1")
@pytest.mark.asyncio