Skip to content

创建消息

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[]
  • 描述: 要创建的消息数组,每条消息必须包含 rolemessage 字段

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: { 剧情阶段: '新手村' } 
}]);

作者:KAKAA, 青空莉想做舞台少女的狗