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
29bd163bca
commit
6eac048117
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
|
import requests
|
||||||
from src.clover_sqlite.models.chat import GroupChatRole
|
from src.clover_sqlite.models.chat import GroupChatRole
|
||||||
from src.configs.api_config import v3url, v3key, deepseek_url, deepseek_key,silicon_flow_key
|
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
|
openai.base_url = deepseek_url
|
||||||
await GroupChatRole.save_chat_history(group_openid, {"role": "user", "content": content})
|
await GroupChatRole.save_chat_history(group_openid, {"role": "user", "content": content})
|
||||||
messages = await GroupChatRole.get_chat_history(group_openid)
|
messages = await GroupChatRole.get_chat_history(group_openid)
|
||||||
completion = openai.chat.completions.create(
|
completion = await openai.chat.completions.create(
|
||||||
model="deepseek-chat",
|
model="deepseek-chat",
|
||||||
messages=messages,
|
messages=messages,
|
||||||
stream=False
|
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.chat import GroupChatRole
|
||||||
from src.clover_sqlite.models.user import UserList
|
from src.clover_sqlite.models.user import UserList
|
||||||
|
|
||||||
menu = ["/重启","/今日运势","/今日塔罗","/图","/随机图","/日报","/点歌","/摸摸头","/群老婆","/今日老婆", "/开启ai","/关闭ai","/角色列表","/添加人设", "/更新人设", "/删除人设", "/切换人设", "/管理员注册",
|
menu = ["/重启","/今日运势","/今日塔罗","/图","/随机图","/搜番","/日报","/点歌","/摸摸头","/群老婆","/今日老婆", "/开启ai","/关闭ai","/角色列表","/添加人设", "/更新人设", "/删除人设", "/切换人设", "/管理员注册",
|
||||||
"/待办", "/test","/天气","我喜欢你", "❤", "/待办查询", "/新建待办", "/删除待办" ,"/cf","/B站搜索", "/BV搜索", "/喜报", "/悲报", "/luxun","/鲁迅说",
|
"/待办", "/test","/天气","我喜欢你", "❤", "/待办查询", "/新建待办", "/删除待办" ,"/cf","/B站搜索", "/BV搜索", "/喜报", "/悲报", "/luxun","/鲁迅说",
|
||||||
"/奶龙", "/repo", "/info", "/menu", "/轻小说","/本季新番","/新番观察","/绝对色感"]
|
"/奶龙", "/repo", "/info", "/menu", "/轻小说","/本季新番","/新番观察","/绝对色感"]
|
||||||
|
|
||||||
send_menu = ["/menu","/今日运势","/今日塔罗","/图","/随机图","/日报","/点歌","/摸摸头","/群老婆","/待办","/天气",
|
send_menu = ["/menu","/今日运势","/今日塔罗","/图","/随机图","搜番","/日报","/点歌","/摸摸头","/群老婆","/待办","/天气",
|
||||||
"/待办查询", "/新建待办", "/删除待办" ,"/cf","/B站搜索", "/BV搜索", "/喜报", "/悲报","/鲁迅说",
|
"/待办查询", "/新建待办", "/删除待办" ,"/cf","/B站搜索", "/BV搜索", "/喜报", "/悲报","/鲁迅说",
|
||||||
"/轻小说","/本季新番","/新番观察","/绝对色感"]
|
"/轻小说","/本季新番","/新番观察","/绝对色感"]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ from nonebot.plugin import on_command
|
||||||
from nonebot.adapters.qq import MessageSegment,MessageEvent
|
from nonebot.adapters.qq import MessageSegment,MessageEvent
|
||||||
from src.clover_image.get_image import get_image_names,get_anosu_image
|
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.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.clover_image.delete_file import delete_file
|
||||||
from src.configs.path_config import temp_path
|
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)
|
search_image = on_command("搜番", rule=to_me(), priority=10, block=False)
|
||||||
# @image.handle()
|
@search_image.handle()
|
||||||
# async def handle_function(message: MessageEvent):
|
async def handle_function(message: MessageEvent):
|
||||||
#
|
if not message.attachments:
|
||||||
# filename = str(message.get_user_id()) + str(random.randint(0, 10000)) + ".jpg"
|
await search_image.finish("没有图片捏,你想让我搜什么捏?")
|
||||||
# image_ptah = temp_path + filename
|
result = await animetrace_search_by_url(message.attachments[0].url)
|
||||||
#
|
if result is None:
|
||||||
# await download_image(message.attachments[0].url, image_ptah)
|
await search_image.finish("未找到结果")
|
||||||
# await image.finish(MessageSegment.file_image(Path(image_ptah)))
|
await search_image.finish(MessageSegment.text('\n 搜索结果\n'+result))
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue