跳到主要内容

草稿系统

Assiah 提供完整的草稿管理功能,让玩家可以随时保存未完成的邮件,稍后继续编辑。

基本操作

操作方式
新建草稿/assiah compose 或草稿箱界面点击"新建草稿"
打开草稿箱/assiah draft
继续编辑在草稿箱中左键点击草稿
删除草稿在草稿箱中右键点击草稿
保存草稿撰写界面点击"保存草稿"按钮
发送草稿撰写界面点击"发送邮件"按钮

自动保存

启用自动保存后,插件会通过 DraftAutoSaveTask 定时任务定期将编辑中的草稿持久化到数据库,防止意外丢失。

工作原理:

  • 玩家打开撰写界面时,注册一个编辑会话
  • 每次修改(编辑收件人/标题/正文/附件)后,会话被标记为 dirty
  • 定时任务按配置间隔扫描所有 dirty 会话,执行保存
  • 保存成功后提示"草稿已自动保存",失败则提示"草稿自动保存失败,请手动保存"
  • 玩家关闭撰写界面时,注销编辑会话
draft:
auto-save: true
auto-save-interval-seconds: 15 # 每 15 秒自动保存一次
keep-last-edit-snapshot: true # 保留最后编辑快照

附件管理

在撰写界面中,你可以:

  • 上传物品:将手中的物品添加为附件
  • 移除附件:右键点击附件列表中的物品移除

删除草稿时,其中的物品附件会自动退回玩家背包。如果背包空间不足,物品会掉落到脚下。

容量限制

limit:
max-draft-size: 100 # 草稿箱最大数量

撰写界面

撰写界面提供以下编辑入口:

  • 收件人:点击后在聊天栏输入目标玩家名称(支持群发目标 *:on / *:off / *:all
  • 标题:点击后在聊天栏输入邮件标题
  • 正文:点击后打开书本编辑器编辑正文
  • 上传物品:将手持物品添加为附件
  • 上传物品库物品:管理员专用,聊天栏输入物品源 ID(如 mm:legendary_sword),系统预览构建结果后添加为附件
  • 编辑 Kether 脚本:管理员专用,通过笔与书输入 Kether 脚本附件(需要 assiah.admin 权限)
  • 上传货币:点击后在聊天栏输入货币数量
  • 编辑接收条件:管理员专用,通过笔与书输入 Kether 接收条件脚本,不满足条件的收件人将不会收到邮件
  • 编辑领取条件:管理员专用,通过笔与书输入 Kether 领取条件脚本 + 聊天栏输入不满足时的提示消息

发送前会自动校验收件人和标题是否已填写。

内容安全过滤

撰写界面集成了两种内容安全过滤机制,在玩家操作时实时拦截违规内容:

文本内容过滤:编辑标题和正文时,系统会自动检测违禁词汇。如果标题或正文包含配置的屏蔽字,输入会被拒绝,草稿不会保存本次编辑内容,玩家需要修改后重试。

物品上传黑名单:上传物品附件时,系统会根据配置的黑名单规则检查物品。匹配黑名单的物品(如含"绑定"Lore 的物品、基岩等)会被拒绝上传,物品保留在玩家手中。

信息

这两种过滤仅对玩家操作生效,管理员和系统邮件不受限制。过滤规则在 mailbox.ymlcontent-filteritem-filter 节中配置,详见 配置文件详解

界面截图

撰写界面整体布局:

撰写界面 - 编写内容

编辑收件人

点击收件人按钮后,在聊天栏输入目标玩家名称:

编辑收件人

选择群发目标

支持群发目标选择(*:on 在线 / *:off 离线 / *:all 全部):

群发目标

编辑正文

点击正文按钮后,打开书本编辑器:

编辑正文

上传物品附件

将手持物品添加为邮件附件:

上传物品

编辑 Kether 脚本

管理员通过笔与书输入 Kether 脚本附件:

编辑 Kether 脚本