mirror of
https://github.com/ClovertaTheTrilobita/SanYeCao-Nonebot.git
synced 2026-04-01 22:04:51 +00:00
feat(ai_chat): 使用AsyncOpenAI替换openai库并添加异步支持
feat(animetrace): 新增animetrace_search_by_url功能用于搜番 feat(image): 添加搜番功能并集成animetrace_search_by_url chore(check): 更新菜单命令列表,添加搜番功能
This commit is contained in:
parent
a5d7a549f3
commit
5ae3d623a8
4 changed files with 38 additions and 13 deletions
24
src/clover_image/animetrace.py
Normal file
24
src/clover_image/animetrace.py
Normal file
|
|
@ -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
|
||||
|
||||
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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搜索", "/喜报", "/悲报","/鲁迅说",
|
||||
"/轻小说","/本季新番","/新番观察","/绝对色感"]
|
||||
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue