nonebot-plugin-rollpig 0.2.4__tar.gz → 0.2.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/PKG-INFO +1 -1
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/__init__.py +7 -25
- nonebot_plugin_rollpig-0.2.6/nonebot_plugin_rollpig/resource/image/buddha-pig.png +0 -0
- nonebot_plugin_rollpig-0.2.6/nonebot_plugin_rollpig/resource/image/cyberpunk-pig.png +0 -0
- nonebot_plugin_rollpig-0.2.6/nonebot_plugin_rollpig/resource/image/dirty-pig.png +0 -0
- nonebot_plugin_rollpig-0.2.6/nonebot_plugin_rollpig/resource/image/frozen-pig.png +0 -0
- nonebot_plugin_rollpig-0.2.6/nonebot_plugin_rollpig/resource/image/leek-pig.png +0 -0
- nonebot_plugin_rollpig-0.2.6/nonebot_plugin_rollpig/resource/image/lemon-pig.png +0 -0
- nonebot_plugin_rollpig-0.2.6/nonebot_plugin_rollpig/resource/image/taffy-pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/pig.json +42 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/pyproject.toml +1 -1
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/LICENSE +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/README.md +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/android-pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/apple-pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/bacon.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/big-lazy-pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/black-pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/black-white-pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/chained_crown_pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/crystal-pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/demon-pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/doll-pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/explosive-pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/goblin-pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/heaven-pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/human.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/invisible_pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/landmine-pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/lao_zhu_li.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/magic-pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/mc_porkchop.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/mechanical-pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/pig-ball.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/pig-bun.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/pig-cat.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/pig-die.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/pig-human.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/pig-souffle.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/pig-stamp.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/pig-turtle.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/pig_god.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/pork-skewer.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/rainbow-pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/roasted-pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/skeleton-pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/snow-pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/soul-pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/tangyuan_pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/tank_pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/taxi-pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/vangogh_pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/watermelon-pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/wild-boar.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/zhuge-liang.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/image/zombie-pig.png +0 -0
- {nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/resource/template.html +0 -0
{nonebot_plugin_rollpig-0.2.4 → nonebot_plugin_rollpig-0.2.6}/nonebot_plugin_rollpig/__init__.py
RENAMED
|
@@ -1,33 +1,13 @@
|
|
|
1
1
|
import json, random, datetime, asyncio, requests
|
|
2
2
|
from pathlib import Path
|
|
3
3
|
|
|
4
|
-
from nonebot import on_command, require
|
|
4
|
+
from nonebot import on_command, require
|
|
5
5
|
from nonebot.adapters.onebot.v11 import Event, MessageSegment
|
|
6
6
|
from nonebot.log import logger
|
|
7
7
|
from nonebot.plugin import PluginMetadata
|
|
8
8
|
|
|
9
9
|
pig_images = []
|
|
10
10
|
|
|
11
|
-
@on_startup
|
|
12
|
-
async def load_pig_images():
|
|
13
|
-
global pig_images
|
|
14
|
-
try:
|
|
15
|
-
data = await asyncio.to_thread(sync_fetch_pig_data, "https://pighub.top/api/all-images")
|
|
16
|
-
|
|
17
|
-
if data and data.get("images"):
|
|
18
|
-
pig_images = data["images"]
|
|
19
|
-
logger.success(f"成功从 PigHub 缓存 {len(pig_images)} 头猪猪")
|
|
20
|
-
else:
|
|
21
|
-
logger.warning("PigHub 中找不到猪猪")
|
|
22
|
-
except requests.exceptions.RequestException as e:
|
|
23
|
-
logger.error(f"从PigHub中获取猪猪失败: {e}")
|
|
24
|
-
|
|
25
|
-
def sync_fetch_pig_data(url: str):
|
|
26
|
-
response = requests.get(url, timeout=30)
|
|
27
|
-
response.raise_for_status()
|
|
28
|
-
|
|
29
|
-
return response.json()
|
|
30
|
-
|
|
31
11
|
# 确保依赖插件先被 NoneBot 注册
|
|
32
12
|
require("nonebot_plugin_htmlrender")
|
|
33
13
|
require("nonebot_plugin_localstore")
|
|
@@ -64,9 +44,6 @@ roll_pig = on_command("随机小猪", block=True)
|
|
|
64
44
|
async def _(event: Event):
|
|
65
45
|
global pig_images
|
|
66
46
|
if not pig_images:
|
|
67
|
-
await roll_pig.finish("猪圈空荡荡,猪猪还没加载出来或者加载失败了...")
|
|
68
|
-
|
|
69
|
-
# 再次尝试
|
|
70
47
|
try:
|
|
71
48
|
data = await asyncio.to_thread(sync_fetch_pig_data, "https://pighub.top/api/all-images")
|
|
72
49
|
if data and data.get("images"):
|
|
@@ -78,13 +55,18 @@ async def _(event: Event):
|
|
|
78
55
|
logger.error(f"从PigHub中获取猪猪失败: {e}")
|
|
79
56
|
|
|
80
57
|
if not pig_images:
|
|
81
|
-
await roll_pig.finish("
|
|
58
|
+
await roll_pig.finish("猪圈空荡荡...")
|
|
82
59
|
return
|
|
83
60
|
|
|
84
61
|
pig = random.choice(pig_images)
|
|
85
62
|
image_url = "https://pighub.top/data/" + pig["thumbnail"].split("/")[-1]
|
|
86
63
|
await roll_pig.finish(MessageSegment.image(image_url))
|
|
87
64
|
|
|
65
|
+
def sync_fetch_pig_data(url: str):
|
|
66
|
+
response = requests.get(url, timeout=30)
|
|
67
|
+
response.raise_for_status()
|
|
68
|
+
|
|
69
|
+
return response.json()
|
|
88
70
|
|
|
89
71
|
def load_json(path, default):
|
|
90
72
|
if not path.exists():
|
|
Binary file
|
|
@@ -262,5 +262,47 @@
|
|
|
262
262
|
"name": "隐形猪",
|
|
263
263
|
"description": "擅长隐身的神秘小猪",
|
|
264
264
|
"analysis": "你自带低调气场,擅长隐藏行踪。在人群中你虽不显眼,但总能默默观察一切,像个神秘的旁观者,拥有独特的洞察力。"
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"id": "buddha-pig",
|
|
268
|
+
"name": "佛猪",
|
|
269
|
+
"description": "施猪,一切随缘",
|
|
270
|
+
"analysis": "你早已看破红尘,主打一个“佛系”。遇事不慌不忙,拒绝精神内耗。凡事不强求,顺其自然,是你应对纷扰世界的最高智慧。"
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"id": "leek-pig",
|
|
274
|
+
"name": "韭菜猪",
|
|
275
|
+
"description": "春风吹又生,被割也不怕",
|
|
276
|
+
"analysis": "你拥有惊人的生命力和乐观精神。无论遭受多少次现实的“收割”和打击,你总能重整旗鼓,满怀希望地再次出发,主打一个坚韧不拔。"
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"id": "lemon-pig",
|
|
280
|
+
"name": "柠檬猪",
|
|
281
|
+
"description": "我承认我酸了",
|
|
282
|
+
"analysis": "你容易化身柠檬精,见人晒幸福就泛酸。其实是因为向往美好,把这份酸味化为动力,去争取属于你的甜蜜吧!"
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"id": "frozen-pig",
|
|
286
|
+
"name": "冷冻猪",
|
|
287
|
+
"description": "物理冷静,心如止水",
|
|
288
|
+
"analysis": "你自带“生人勿近”的高冷气场,习惯将情绪冷冻保存。面对纷扰,你选择像冰块一样坚守自我,虽外表冷硬,内心却渴望那个能融化你的温暖怀抱。"
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"id": "taffy-pig",
|
|
292
|
+
"name": "永猪塔菲",
|
|
293
|
+
"description": "关注永猪塔菲谢谢喵",
|
|
294
|
+
"analysis": "你是猪圈里的顶流偶像,自带赛博天使光环。你精力旺盛,擅长用独特的抽象魅力吸引目光。"
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
"id": "dirty-pig",
|
|
298
|
+
"name": "脏猪",
|
|
299
|
+
"description": "洗洗还能要",
|
|
300
|
+
"analysis": "不拘小节,随性洒脱。你不在乎外界眼光,哪怕满身泥泞,也要追求最纯粹的快乐,是懂得自我解压的乐天派。"
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"id": "cyberpunk-pig",
|
|
304
|
+
"name": "赛博朋克猪",
|
|
305
|
+
"description": "赛博猪猪 2077",
|
|
306
|
+
"analysis": "你走在科技与潮流的最前沿,自带炫酷霓虹光环。追求自我升级与进化,不仅拥有超前的思维,更是夜色中最亮眼的未来新星。"
|
|
265
307
|
}
|
|
266
308
|
]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|