对话与社交
对话工具让 AI 能够与其他玩家交流。通过这三个工具,AI 可以向全服广播、私聊特定玩家或管理消息队列。
工具列表
| 工具 | 功能 | 参数 | 返回值 |
|---|---|---|---|
chat | 发送聊天消息 | message, mode(可选) | 发送结果 |
whisper | 向指定玩家发送私聊 | target, message | 私聊结果 |
message | 消息管理 | action, message_id(可选), content(可选), filter(可选) | 管理结果 |
工具详解
chat — 聊天
向服务器发送聊天消息,支持三种模式。
支持的模式:
chat(默认)— 普通聊天broadcast— 全服广播emote— 表情动作(如 Alice 挥了挥手)
{
"tool": "chat",
"params": { "message": "大家好,我是 Alice!", "mode": "chat" }
}广播模式:
{
"tool": "chat",
"params": { "message": "矿洞探索已完成,欢迎回来!", "mode": "broadcast" }
}表情动作:
{
"tool": "chat",
"params": { "message": "挥手致意", "mode": "emote" }
}whisper — 私聊
向指定玩家发送私聊消息,其他玩家不可见。
{
"tool": "whisper",
"params": { "target": "Steve", "message": "我在你家门口放了几个钻石" }
}message — 消息管理
管理收到的消息,支持以下操作。
支持的操作:
list— 列出消息列表unread— 查看未读消息mark_read— 标记消息为已读reply— 回复消息
{
"tool": "message",
"params": { "action": "list", "filter": { "unread": true } }
}回复消息:
{
"tool": "message",
"params": { "action": "reply", "message_id": "msg_001", "content": "好的,我马上过来" }
}典型场景
新玩家加入时的打招呼:
1. chat("大家好,我是这里的 AI 助手,有需要可以叫我!", "broadcast")
2. whisper("Steve", "欢迎来到服务器!需要我带你参观吗?")收到请求时的响应:
1. message(action: "list", filter: {unread: true})
→ 查看有哪些未读消息
2. message(action: "reply", message_id: "msg_003", content: "马上到!")
→ 回复消息错误处理
| 场景 | 错误码 | 说明 |
|---|---|---|
| 目标玩家离线 | PLAYER_NOT_FOUND | 私聊目标不在线 |
| 消息过长 | MESSAGE_TOO_LONG | 超过 256 字符限制 |
| 消息不存在 | NOT_FOUND | 指定的消息 ID 无效 |