Skip to content

删除变量

deleteVariable

删除变量, 如果变量不存在则什么也不做。

typescript
async function deleteVariable(variable_path: string, { type, message_id }?: VariableOption): Promise<boolean> {
  let result: boolean = false;
  await updateVariablesWith(old_variables => { result = _.unset(old_variables, variable_path); return old_variables; }, { type, message_id });
  return result;
}

参数

variable_path

要删除的变量路径:

  • 如果变量不存在,则什么也不做
  • 如果变量已经存在,则删除该变量

option?

一个可选的配置对象,包含以下属性:

  • type?: string
    • 指定操作的变量类型,默认为 'chat'
    • 可选值:
      • 'script': 针对特定脚本的变量。
      • 'message': 针对特定消息楼层的变量。
      • 'chat': 整个聊天会话的变量(默认)。
      • 'character': 当前角色卡的变量。
      • 'global': 全局变量。
  • message_id?: number | 'latest'
    • type'message' 时,此参数指定目标消息的楼层号。
    • 如果是数字,表示具体的楼层 ID。
    • 如果是负数,表示相对于最新消息的深度索引 (例如, -1 表示最新的消息, -2 表示倒数第二条)。
    • 'latest' (默认值): 表示最新的消息楼层。
    • 此参数仅在 type'message' 时有效。
  • script_id?: string
    • type'script' 时,此参数指定目标脚本的ID。
    • 如果在脚本中调用,则你可以用 getScriptId() 获取当前脚本的ID。
    • 此参数仅在 type'script' 时有效。

返回值

  • 布尔值: Promise<boolean>

示例

typescript
// 执行前变量: `{爱城华恋: {好感度: 5}}`
await deleteVariable("爱城华恋.好感度");
// 执行后变量: `{爱城华恋: {}}`

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