跳到主要内容

指令

主指令是 /starmail,平常打 /sm 就好。所有子指令都支持 Tab 补全,只会补全你有权限使用的指令。

/sm 被别的插件占用了?

config.yml 的 command-aliases(默认 [sm])里的指令,玩家输入时一律交给星月邮箱,即使别的插件也注册了 /sm。 控制台不受这个设定影响;控制台遇到冲突时请写完整的 starmail。见 config.yml。

看懂指令写法​

写法意思
<名称>必填
[文字]选填,可以不写
a|b二选一
<目标>收件人,见下方「目标写法」

目标写法​

send、text、item、money、points 的 <目标> 可以写:

目标谁会收到邮件类型
玩家名一个玩家。在线、离线都可以,只要他在本服或连同一数据库的任何子服上线过;不分大小写管理员
@online(也可以写 @a)执行指令的这个子服上现在在线的所有人,每人一封管理员
@all(也可以写 *)全服邮件:在线的人立刻收到,离线的人下次上线收到,之后第一次进服的新玩家也收到;每人一封全服
@all-existing全服邮件,但只发给发送前就进过服的玩家全服
  • 全服邮件的细节(跨服、停止发放、期限怎么算)见 管理员写信与管理 与 跨服设置。
  • 用指令寄出的信,寄件人是 config.yml 的 default-sender(默认「星月邮局」),期限是 mail.system-expire-days(默认 30 天)。想自订寄件人、期限、指令奖励,请做成 模板 再用 /sm send。

指令一览​

指令作用权限
/sm打开邮箱starmail.use
/sm write [玩家]写信starmail.write
/sm claimall一键领取全部附件starmail.use
/sm help显示帮助无
/sm admin管理员写信界面starmail.admin.compose
/sm send <目标> <模板>发送模板邮件starmail.admin.send
/sm text <目标> <标题> [正文]发送文字邮件starmail.admin.send
/sm item <目标> [标题]寄出手上物品的副本starmail.admin.send
/sm money <目标> <数量> [标题]寄金币starmail.admin.send
/sm points <目标> <数量> [标题]寄点券starmail.admin.send
/sm template …管理邮件模板starmail.admin.template
/sm view <玩家>查看并管理玩家的邮箱starmail.admin.view
/sm log <玩家> [页]邮件记录starmail.admin.log
/sm restore <编号> [天数]恢复邮件starmail.admin.restore
/sm broadcasts进行中的全服邮件starmail.admin.send
/sm cancel <编号>停止发放全服邮件starmail.admin.send
/sm purge立即清理过期邮件starmail.admin.purge
/sm reload重载配置starmail.admin.reload
/sm version版本信息无

全部权限节点见 权限。

还没授权时

还没填授权码、或授权还在验证中时,除了 /sm reload 与 /sm version,所有子指令都只会提示「星月邮箱尚未授权」。见 安装与获取。


玩家指令​

/sm​

打开自己的邮箱。

项目内容
用法/sm 或 /sm open
权限starmail.use(默认所有人)
控制台不行,只能玩家
  • 界面与操作见 玩家邮箱。
  • 新邮件提示、上线提示的「点击打开」执行的也是这条指令。
  • 输入不存在的子指令会显示帮助。

例子

/sm
/sm open

/sm write​

打开写信界面,给其他玩家寄信。

项目内容
用法/sm write [玩家]
权限starmail.write(默认所有人)
控制台不行,只能玩家
参数必填说明
[玩家]否收件人先填好;不写就在界面里填。Tab 补全在线玩家
  • 服务器关闭玩家互寄(player-mail.enabled: false)时提示「本服没有开放玩家互寄」。
  • 还在寄信冷却中时打不开,提示还要等几秒。
  • 写信规则(邮费、次数、黑名单…)见 玩家写信。

例子

/sm write
/sm write Steve

/sm claimall​

领取邮箱里所有附件待领取的邮件,等于邮箱里的「一键领取」按钮。

项目内容
用法/sm claimall
权限starmail.use(默认所有人)
控制台不行,只能玩家
  • 背包放不下的邮件整封留在邮箱里,提示还有几封没领。规则见 一键领取。
  • 适合绑在菜单插件的按钮上。

例子

/sm claimall

/sm help​

列出指令。

项目内容
用法/sm help
权限无
控制台可以
  • 所有人都会看到 /sm、write、claimall、help 四条。
  • 管理指令按每一行的权限显示:有哪个权限就看到哪几行(例如只有 starmail.admin.view 的客服只看到 /sm view)。/sm version 所有人都看得到。

发信指令​

这些指令都可以在控制台执行(/sm item 除外),所以能直接写进其他插件的奖励指令、定时任务、活动脚本里。执行结果:

结果提示
发给一个玩家已发送给 Steve (1)
@online已发送给 全部在线玩家 (12)(数字是收到的人数)
@all / @all-existing全服邮件已发出 (#3):在线玩家立即收到,其他玩家上线时收到
找不到玩家找不到玩家 xxx(对方需要在本服或连同一数据库的子服上线过)

/sm send​

发送一个 邮件模板。最常用的发信指令:寄件人、正文、物品、金币、点券、领取指令、期限都在模板里设定好。

项目内容
用法/sm send <目标> <模板>
权限starmail.admin.send
控制台可以
参数必填说明
<目标>是玩家名、@online、@all、@all-existing,见 目标写法
<模板>是templates.yml 里的模板名。Tab 补全现有模板
  • 模板不存在时提示「没有模板 xxx」。
  • 模板的物品数据读不出来时(例如在更新版本的服务器保存的)不会发送,提示「模板 xxx 的物品数据无法读取…请重新保存这个模板」。
  • 模板的物品超过 mail.max-items 时:发给玩家 / @online 会拆成好几封;全服邮件只保留前 max-items 组。

例子

/sm send Steve vote
/sm send @online event_reward
/sm send @all newbie
/sm send @all-existing sorry

控制台 / 其他插件的奖励指令里(不加 /):

sm send %player% vote

/sm text​

发送一封只有文字的邮件。

项目内容
用法/sm text <目标> <标题> [正文]
权限starmail.admin.send
控制台可以
参数必填说明
<目标>是见 目标写法
<标题>是一个词;要空格的地方写 _,会变成空格。支持颜色与 MiniMessage
[正文]否后面全部文字都是正文,用 | 分行。支持颜色与 MiniMessage

例子

/sm text Steve 测试邮件 第一行|第二行
/sm text @all 维护公告 今晚 22:00 起停机一小时|请提前下线,感谢配合
/sm text @online <gold>活动开始 <yellow>主城广场集合!

/sm item​

把手上拿着的物品复制一份寄出(你手上的不会被拿走)。

项目内容
用法/sm item <目标> [标题]
权限starmail.admin.send
控制台不行,只能玩家
参数必填说明
<目标>是见 目标写法
[标题]否后面全部文字都是标题(可以有空格)。不写默认「物品邮件」
  • 手上没东西时提示「请把要寄的物品拿在手上」。
  • 寄出整组(手上有 64 个就寄 64 个),物品的所有数据完整保留。

例子

/sm item Steve 送你的剑
/sm item @all 开服纪念品

/sm money​

寄金币。玩家领取时直接存入账户,领取的那个子服需要装 Vault 与经济插件。

项目内容
用法/sm money <目标> <数量> [标题]
权限starmail.admin.send
控制台可以
参数必填说明
<目标>是见 目标写法
<数量>是金币数量,可以有小数。不是数字时提示「xxx 不是有效的数字」
[标题]否后面全部文字都是标题。不写默认「金币邮件」

金币是凭空发放的,不会从任何人的余额扣除。

例子

/sm money Steve 1000 活动奖金
sm money %player% 50 签到奖励

/sm points​

寄点券(PlayerPoints)。领取的那个子服需要装 PlayerPoints。

项目内容
用法/sm points <目标> <数量> [标题]
权限starmail.admin.send
控制台可以
参数必填说明
<目标>是见 目标写法
<数量>是点券数量,整数(写小数会去掉小数部分)
[标题]否后面全部文字都是标题。不写默认「点券邮件」

例子

/sm points Steve 30 充值返利
/sm points @all-existing 10 停机补偿

管理指令​

/sm admin​

打开管理员写信界面:可以选发送对象(指定玩家 / 本服全部在线 / 全服含新玩家 / 全服不含新玩家),设寄件人、金币、点券、领取时执行的指令、附件说明、期限,或存成模板。

项目内容
用法/sm admin(/sm compose 也可以)
权限starmail.admin.compose
控制台不行,只能玩家

详见 管理员写信与管理。

/sm template​

管理 邮件模板。

项目内容
用法/sm template <list|create|edit|delete> [名称](templates 也可以)
权限starmail.admin.template
控制台list、delete 可以;create、edit 只能玩家
子指令说明
list列出所有模板(只写 /sm template 也一样)
create <名称>打开管理员写信界面来做模板;名称已存在时载入它
edit <名称>载入现有模板修改
delete <名称>(或 remove)删除模板

做好之后要在界面里点「存为模板」才会保存。edit 载入的模板原有物品是副本,关闭时不退回;你自己放进去的会退回,见 邮件模板。

模板的物品数据读不出来时(例如在更新版本的服务器保存的),edit 与 /sm send 都会停止并提示「模板 xxx 的物品数据无法读取」。

例子

/sm template list
/sm template create vote
/sm template edit vote
/sm template delete vote

/sm view​

查看并管理一个玩家的邮箱(玩家不在线也可以)。

项目内容
用法/sm view <玩家>
权限starmail.admin.view
控制台不行,只能玩家
  • 可以阅读、删除(包括附件未领取的),不能替他领取,也不会把邮件标为已读。见 查看玩家的邮箱。

例子

/sm view Steve

/sm log​

查看一个玩家的邮件记录:收到、寄出、领取、删除、过期、恢复。

项目内容
用法/sm log <玩家> [页](logs 也可以)
权限starmail.admin.log
控制台可以
参数必填说明
<玩家>是玩家名,离线也可以
[页]否每页 10 条,默认第 1 页(最新的记录)

格式说明见 邮件记录。

例子

/sm log Steve
/sm log Steve 2

/sm restore​

把已领取、已删除或已过期的邮件恢复成「未领取」。

项目内容
用法/sm restore <邮件编号> [有效天数]
权限starmail.admin.restore
控制台可以
参数必填说明
<邮件编号>是邮件说明里的 #编号,128 或 #128 都可以
[有效天数]否恢复后几天过期,默认 7;0 = 永不过期
  • 成功提示「邮件 #128 已恢复(未领取状态)」,玩家在线时邮箱计数立即更新。
  • 已领取的邮件恢复后可以再领一次,使用前请先 /sm log 确认。见 恢复邮件。
  • 玩家寄出、过期后附件已经退回寄件人的信不能恢复,提示「过期后附件已退回寄件人,不能再恢复」。
  • 编号不是数字时提示「xxx 不是有效的数字」。
  • 彻底清除(超过 mail.keep-deleted-days)的邮件找不到,提示「找不到邮件 #编号」。

例子

/sm restore 128
/sm restore #128 30
/sm restore 128 0

/sm broadcasts​

列出还在发放中的全服邮件(最新的 20 封)。

项目内容
用法/sm broadcasts
权限starmail.admin.send
控制台可以

每行显示 #编号 标题 · 发出时间 → 到期时间(永不过期显示「永不过期」)。没有时提示「没有进行中的全服邮件」。

/sm cancel​

停止发放一封全服邮件。

项目内容
用法/sm cancel <全服邮件编号>
权限starmail.admin.send
控制台可以
  • 编号是 /sm broadcasts 或发出时提示的 #编号(可以写 #)。不是数字时提示「xxx 不是有效的数字」;没有这个编号、或它已经停止时提示「找不到进行中的全服邮件 #编号」。
  • 还没收到的玩家不会再收到;已经收到的玩家不受影响,邮箱里那封照常可以领。

例子

/sm cancel 3

/sm purge​

立即执行一次过期处理与清理(平常会自动执行)。

项目内容
用法/sm purge
权限starmail.admin.purge
控制台可以

处理内容见 立即清理,结果写在控制台。

/sm reload​

重新载入设定。

项目内容
用法/sm reload
权限starmail.admin.reload
控制台可以
  • 重新载入 config.yml、messages.yml、templates.yml、menus/*.yml,重新连接 Vault / PlayerPoints,更新 command-aliases。
  • menus/ 里缺少的菜单文件会重新生成默认的。
  • 所有人打开中的星月邮箱界面会被关闭;写信界面里的附件退回背包。
  • 数据库(database)、跨服(sync)设定与 menu.cloudui 需要重启服务器才会生效。

/sm version​

显示版本;管理员另外看到版本类型、数据库类型与子服 ID。

项目内容
用法/sm version
权限无(详细信息需要 starmail.admin)
控制台可以

例子输出(有 starmail.admin 或在控制台)

✉ 星月邮箱 » StarMail 1.0.0 · 简体授权版 · MySQL · 子服 lobby

一般玩家只看到 StarMail 1.0.0。

跨服时用它检查每个子服是不是都连上了 MySQL、子服 ID 有没有设对。