添加了at时响应

This commit is contained in:
Rikka-desu 2024-11-24 15:00:44 +08:00
parent 8221fa7928
commit ce1d2f21ae
3 changed files with 24 additions and 9 deletions

View File

@ -15,10 +15,11 @@ from azure.ai.inference.models import (
ChatCompletionsToolCall,
)
from azure.core.credentials import AzureKeyCredential
from nonebot import on_command, logger
from nonebot import on_command, on_message, logger
from nonebot.adapters import Message, Event
from nonebot.params import CommandArg
from nonebot.permission import SUPERUSER
from nonebot.rule import Rule, to_me
from nonebot_plugin_alconna import on_alconna, MsgTarget
from nonebot_plugin_alconna.uniseg import UniMessage, UniMsg
import nonebot_plugin_localstore as store
@ -29,6 +30,11 @@ from .metadata import metadata
from .models import MarshoContext, MarshoTools
from .util import *
async def at_enable():
return config.marshoai_at
driver = get_driver()
changemodel_cmd = on_command("changemodel", permission=SUPERUSER)
@ -47,6 +53,7 @@ marsho_cmd = on_alconna(
),
aliases=config.marshoai_aliases,
)
marsho_at = on_message(rule=to_me()&at_enable)
nickname_cmd = on_alconna(
Alconna(
"nickname",
@ -63,6 +70,7 @@ endpoint = config.marshoai_azure_endpoint
client = ChatCompletionsClient(endpoint=endpoint, credential=AzureKeyCredential(token))
target_list = [] # 记录需保存历史上下文的列表
@driver.on_startup
async def _preload_tools():
tools_dir = store.get_plugin_data_dir() / "tools"
@ -71,6 +79,7 @@ async def _preload_tools():
tools.load_tools(Path(__file__).parent / "tools")
tools.load_tools(store.get_plugin_data_dir() / "tools")
@add_usermsg_cmd.handle()
async def add_usermsg(target: MsgTarget, arg: Message = CommandArg()):
if msg := arg.extract_plain_text():
@ -160,9 +169,12 @@ async def refresh_data():
await refresh_data_cmd.finish("已刷新数据")
@marsho_at.handle()
@marsho_cmd.handle()
async def marsho(target: MsgTarget, event: Event, text: Optional[UniMsg] = None):
global target_list
if event.get_message() and not text:
text = event.get_message()
if not text:
# 发送说明
await UniMessage(metadata.usage + "\n当前使用的模型:" + model_name).send()

View File

@ -12,6 +12,7 @@ class ConfigModel(BaseModel):
marshoai_token: str = ""
# marshoai_support_image_models: list = ["gpt-4o","gpt-4o-mini"]
marshoai_default_name: str = "marsho"
marshoai_at: bool = False
marshoai_aliases: set[str] = {
"小棉",
}

View File

@ -6,6 +6,8 @@ marshoai_default_name: "marsho" # 默认名称设定为marsho。
marshoai_aliases:
- 小棉
marshoai_at: false # 决定是否开启at响应
marshoai_default_model: "gpt-4o-mini" # 默认模型设定为gpt-4o-mini。
# 主提示词定义了Marsho的性格和行为包含多语言名字翻译规则和对特定问题的回答约束。