feat: 添加直接发送视频/图片功能并优化临时目录处理
refactor(WS): 使用TYPE_CHECKING优化导入并延迟导入Bot类 refactor(image_manager): 使用系统临时目录替代自定义临时目录 feat(bili/douyin): 添加直接发送视频/图片功能 chore: 删除forward_test插件并添加furry插件 refactor(main): 移除JIT检查代码并优化插件重载逻辑
This commit is contained in:
@@ -198,6 +198,7 @@ class BiliParser(BaseParser):
|
||||
"""
|
||||
# 检查视频时长
|
||||
video_message: Union[str, MessageSegment]
|
||||
direct_url = None
|
||||
if data['duration'] > 1200: # 20分钟 = 1200秒
|
||||
video_message = "视频时长超过20分钟,不进行解析。"
|
||||
else:
|
||||
@@ -244,6 +245,13 @@ class BiliParser(BaseParser):
|
||||
event.bot.build_forward_node(user_id=event.self_id, nickname=self.nickname, message=video_message)
|
||||
]
|
||||
|
||||
# 同时直接发送视频(如果获取到直链)
|
||||
if direct_url:
|
||||
try:
|
||||
await event.reply(MessageSegment.video(direct_url))
|
||||
except Exception as e:
|
||||
logger.error(f"[{self.name}] 直接发送视频失败: {e}")
|
||||
|
||||
return nodes
|
||||
|
||||
def should_handle_url(self, url: str) -> bool:
|
||||
|
||||
@@ -210,15 +210,18 @@ class DouyinParser(BaseParser):
|
||||
|
||||
# 尝试添加视频直链(单独节点)
|
||||
video_success = False
|
||||
direct_message = None
|
||||
try:
|
||||
if data.get('video_url'):
|
||||
video_url = data.get('video_url', '')
|
||||
# 检查视频类型
|
||||
if data.get('type') == 'video':
|
||||
video_message = MessageSegment.video(video_url)
|
||||
direct_message = video_message
|
||||
video_type_text = "视频直链:"
|
||||
else: # image类型
|
||||
video_message = MessageSegment.image(video_url) # 单个图片
|
||||
direct_message = video_message
|
||||
video_type_text = "图集首图:"
|
||||
|
||||
# 构建视频/图片节点
|
||||
@@ -244,6 +247,13 @@ class DouyinParser(BaseParser):
|
||||
)
|
||||
nodes.append(no_video_node)
|
||||
|
||||
# 同时直接发送视频/图片(如果获取到直链)
|
||||
if direct_message:
|
||||
try:
|
||||
await event.reply(direct_message)
|
||||
except Exception as e:
|
||||
logger.error(f"[{self.name}] 直接发送视频/图片失败: {e}")
|
||||
|
||||
return nodes
|
||||
|
||||
def should_handle_url(self, url: str) -> bool:
|
||||
|
||||
Reference in New Issue
Block a user