♻️ fix lint problems

This commit is contained in:
duolanda 2025-05-11 00:41:05 +08:00
parent f2d1521158
commit 5e048c9472

View file

@ -1,13 +1,13 @@
import asyncio
import base64
from collections import defaultdict, deque
from datetime import datetime
import json
import os
import random
import re
import time
import base64
import ssl
import time
from typing import TYPE_CHECKING
import aiofiles
@ -39,7 +39,11 @@ require("nonebot_plugin_apscheduler")
from nonebot_plugin_apscheduler import scheduler
if TYPE_CHECKING:
from openai.types.chat import ChatCompletionMessageParam
from openai.types.chat import (
ChatCompletionContentPartImageParam,
ChatCompletionContentPartTextParam,
ChatCompletionMessageParam,
)
__plugin_meta__ = PluginMetadata(
name="llmchat",
@ -210,7 +214,7 @@ async def process_images(event: GroupMessageEvent) -> list[str]:
ssl_context = ssl.create_default_context()
ssl_context.check_hostname = False
ssl_context.verify_mode = ssl.CERT_NONE
ssl_context.set_ciphers('DEFAULT@SECLEVEL=2')
ssl_context.set_ciphers("DEFAULT@SECLEVEL=2")
# 下载图片并将图片转换为base64
async with httpx.AsyncClient(verify=ssl_context) as client:
@ -219,7 +223,7 @@ async def process_images(event: GroupMessageEvent) -> list[str]:
logger.error(f"下载图片失败: {image_url}, 状态码: {response.status_code}")
continue
image_data = response.content
base64_data = base64.b64encode(image_data).decode('utf-8')
base64_data = base64.b64encode(image_data).decode("utf-8")
base64_images.append(base64_data)
except Exception as e:
logger.error(f"处理图片时出错: {e}")
@ -288,15 +292,17 @@ async def process_messages(group_id: int):
# 没有未处理的消息说明已经被处理了,跳过
if state.past_events.__len__() < 1:
break
# 将消息中的图片转成 base64
base64_images = []
if preset.support_image:
base64_images = await process_images(event)
# 将机器人错过的消息推送给LLM
content = ",".join([format_message(ev) for ev in state.past_events])
content = [{"type": "text", "text": content}]
text_content = ",".join([format_message(ev) for ev in state.past_events])
content: list[ChatCompletionContentPartTextParam | ChatCompletionContentPartImageParam] = [
{"type": "text", "text": text_content}
]
for base64_image in base64_images:
content.append({"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{base64_image}"}})