feat: 添加直接发送视频/图片功能并优化临时目录处理
refactor(WS): 使用TYPE_CHECKING优化导入并延迟导入Bot类 refactor(image_manager): 使用系统临时目录替代自定义临时目录 feat(bili/douyin): 添加直接发送视频/图片功能 chore: 删除forward_test插件并添加furry插件 refactor(main): 移除JIT检查代码并优化插件重载逻辑
This commit is contained in:
61
plugins/furry.py
Normal file
61
plugins/furry.py
Normal file
@@ -0,0 +1,61 @@
|
||||
"""
|
||||
thpic 插件
|
||||
|
||||
提供 /furry 指令,用于随机返回一个东方Project的图片。
|
||||
|
||||
"""
|
||||
from core.managers.command_manager import matcher
|
||||
from core.bot import Bot
|
||||
from models.events.message import MessageEvent
|
||||
from models.message import MessageSegment
|
||||
|
||||
__plugin_meta__ = {
|
||||
"name": "furry",
|
||||
"description": "处理 /furry 指令,发送furry出毛图片",
|
||||
"usage": "/furry - 发送一条furry图",
|
||||
}
|
||||
|
||||
@matcher.command("furry")
|
||||
async def handle_echo(bot: Bot, event: MessageEvent, args: list[str]):
|
||||
"""
|
||||
处理 furry 指令,发送一张随机的东方furry图片。
|
||||
|
||||
:param bot: Bot 实例(未使用)。
|
||||
:param event: 消息事件对象。
|
||||
:param args: 指令参数列表(未使用)。
|
||||
"""
|
||||
parts = args
|
||||
print(parts)
|
||||
if not parts:
|
||||
try:
|
||||
await event.reply(
|
||||
str(MessageSegment.image("https://api.furry.ist/furry-img/"))
|
||||
)
|
||||
except Exception as e:
|
||||
await event.reply(f"报错了。。。{e}")
|
||||
else:
|
||||
if parts[0].isdigit():
|
||||
nums = int(parts[0])
|
||||
if nums <= 0:
|
||||
await event.reply("请输入一个大于0的整数。")
|
||||
return
|
||||
elif nums > 10:
|
||||
await event.reply("请输入一个不大于10的整数。")
|
||||
return
|
||||
try:
|
||||
nodes = []
|
||||
for _ in range(nums):
|
||||
nodes.append(
|
||||
bot.build_forward_node(
|
||||
user_id=event.self_id,
|
||||
nickname="机器人",
|
||||
message=MessageSegment.image(
|
||||
"https://api.furry.ist/furry-img/"
|
||||
),
|
||||
)
|
||||
)
|
||||
await bot.send_forwarded_messages(event, nodes)
|
||||
except Exception as e:
|
||||
await event.reply(f"报错了。。。{e}")
|
||||
else:
|
||||
await event.reply(f"用法不正确。\n\n{__plugin_meta__['usage']}")
|
||||
Reference in New Issue
Block a user