diff --git a/src/clover_image/animetrace.py b/src/clover_image/animetrace.py new file mode 100644 index 0000000..bf925fe --- /dev/null +++ b/src/clover_image/animetrace.py @@ -0,0 +1,24 @@ + +import aiohttp +from src.configs.api_config import animetrace_url + +async def animetrace_search_by_url(search_url): + data = { + 'model': 'anime_model_lovelive', + 'ai_detect':0, + 'is_multi':1, + 'url': search_url + } + sort,content = 1,"" + async with aiohttp.ClientSession() as session: + async with session.post(animetrace_url, data=data) as response: + if response.status == 200: + result = await response.json() + for item in result['data'][0]['character']: + content += f"{sort} :作品名称:{item['work']}\n" + sort += 1 + return content + else: + return None + + diff --git a/src/clover_openai/ai_chat.py b/src/clover_openai/ai_chat.py index 59a1479..93ac97b 100644 --- a/src/clover_openai/ai_chat.py +++ b/src/clover_openai/ai_chat.py @@ -1,4 +1,4 @@ -import openai +from openai import AsyncOpenAI as openai import requests from src.clover_sqlite.models.chat import GroupChatRole from src.configs.api_config import v3url, v3key, deepseek_url, deepseek_key,silicon_flow_key @@ -39,7 +39,7 @@ async def deepseek_chat(group_openid,content): openai.base_url = deepseek_url await GroupChatRole.save_chat_history(group_openid, {"role": "user", "content": content}) messages = await GroupChatRole.get_chat_history(group_openid) - completion = openai.chat.completions.create( + completion = await openai.chat.completions.create( model="deepseek-chat", messages=messages, stream=False diff --git a/src/plugins/check.py b/src/plugins/check.py index 8eb99f5..c850c65 100644 --- a/src/plugins/check.py +++ b/src/plugins/check.py @@ -8,11 +8,11 @@ from src.clover_openai import ai_chat from src.clover_sqlite.models.chat import GroupChatRole from src.clover_sqlite.models.user import UserList -menu = ["/重启","/今日运势","/今日塔罗","/图","/随机图","/日报","/点歌","/摸摸头","/群老婆","/今日老婆", "/开启ai","/关闭ai","/角色列表","/添加人设", "/更新人设", "/删除人设", "/切换人设", "/管理员注册", +menu = ["/重启","/今日运势","/今日塔罗","/图","/随机图","/搜番","/日报","/点歌","/摸摸头","/群老婆","/今日老婆", "/开启ai","/关闭ai","/角色列表","/添加人设", "/更新人设", "/删除人设", "/切换人设", "/管理员注册", "/待办", "/test","/天气","我喜欢你", "❤", "/待办查询", "/新建待办", "/删除待办" ,"/cf","/B站搜索", "/BV搜索", "/喜报", "/悲报", "/luxun","/鲁迅说", "/奶龙", "/repo", "/info", "/menu", "/轻小说","/本季新番","/新番观察","/绝对色感"] -send_menu = ["/menu","/今日运势","/今日塔罗","/图","/随机图","/日报","/点歌","/摸摸头","/群老婆","/待办","/天气", +send_menu = ["/menu","/今日运势","/今日塔罗","/图","/随机图","搜番","/日报","/点歌","/摸摸头","/群老婆","/待办","/天气", "/待办查询", "/新建待办", "/删除待办" ,"/cf","/B站搜索", "/BV搜索", "/喜报", "/悲报","/鲁迅说", "/轻小说","/本季新番","/新番观察","/绝对色感"] diff --git a/src/plugins/image.py b/src/plugins/image.py index b69e801..21b7e6b 100644 --- a/src/plugins/image.py +++ b/src/plugins/image.py @@ -5,6 +5,7 @@ from nonebot.plugin import on_command from nonebot.adapters.qq import MessageSegment,MessageEvent from src.clover_image.get_image import get_image_names,get_anosu_image from src.clover_image.download_image import download_image +from src.clover_image.animetrace import animetrace_search_by_url from src.clover_image.delete_file import delete_file from src.configs.path_config import temp_path @@ -54,13 +55,13 @@ async def handle_function(message: MessageEvent): -# search_image = on_command("/搜图", rule=to_me(), priority=10, block=True) -# @image.handle() -# async def handle_function(message: MessageEvent): -# -# filename = str(message.get_user_id()) + str(random.randint(0, 10000)) + ".jpg" -# image_ptah = temp_path + filename -# -# await download_image(message.attachments[0].url, image_ptah) -# await image.finish(MessageSegment.file_image(Path(image_ptah))) +search_image = on_command("搜番", rule=to_me(), priority=10, block=False) +@search_image.handle() +async def handle_function(message: MessageEvent): + if not message.attachments: + await search_image.finish("没有图片捏,你想让我搜什么捏?") + result = await animetrace_search_by_url(message.attachments[0].url) + if result is None: + await search_image.finish("未找到结果") + await search_image.finish(MessageSegment.text('\n 搜索结果\n'+result))