草稿系统
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.yml 的 content-filter 和 item-filter 节中配置,详见 配置文件详解。
界面截图
撰写界面整体布局:

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

选择群发目标
支持群发目标选择(*:on 在线 / *:off 离线 / *:all 全部):
编辑正文
点击正文按钮后,打开书本编辑器:

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

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