创建消息
createChatMessages
创建聊天消息。
typescript
async function createChatMessages(
chat_messages: ChatMessageCreating[],
option: CreateChatMessagesOption = {}
): Promise<void>;
typescript
interface ChatMessageCreating {
name?: string;
role: 'system' | 'assistant' | 'user';
is_hidden?: boolean;
message: string;
data?: Record<string, any>;
}
typescript
interface CreateChatMessagesOption {
insert_at?: number | 'end';
refresh?: 'none' | 'affected' | 'all';
}
参数
chat_messages
- 类型:
ChatMessageCreating[]
- 描述: 要创建的消息数组,每条消息必须包含
role
和message
字段
ChatMessageCreating
包含以下字段:
name?
- 类型:
string
- 描述: 消息发送者名称
role
- 类型:
'system' | 'assistant' | 'user'
- 描述: 消息角色
is_hidden?
- 类型:
boolean
- 描述: 是否隐藏该消息
message
- 类型:
string
- 描述: 消息内容
data?
- 类型:
Record<string, any>
- 描述: 消息绑定的数据
insert_at?
- 类型:
number | 'end'
- 描述: 插入到指定楼层前或末尾;默认为
'end'
refresh?
- 类型:
'none' | 'affected' | 'all'
- 描述: 是否更新楼层在页面上的显示,只会更新已经被加载在网页上的楼层,并触发被更新楼层的 "仅格式显示" 正则; 默认为
'affected'
'none'
: 不更新页面的显示'affected'
: 仅更新被影响楼层的显示'all'
: 重新载入整个聊天消息,将会触发tavern_events.CHAT_CHANGED
事件
示例
typescript
await createChatMessages([{ role: 'user', message: '你好' }], { insert_at: 10 });
typescript
await createChatMessages([{ role: 'user', message: '你好' }]);
typescript
await createChatMessages([{
role: 'system',
message: '系统通知',
data: { 剧情阶段: '新手村' }
}]);