跳到主要内容

聊天与公告

公会频道与同盟频道​

写法效果
#大家晚上打王聊天开头是 chat.quick-prefix(默认 #)时,这一句只发到公会频道
/cg c <消息>发一句到公会频道(/cg chat、/cg gc 也可以)
/cg c切换到公会频道:之后打的每一句都发到公会;再输入一次切回一般聊天
/cg ac <消息>发一句到同盟频道:自己与所有同盟公会的成员都看得到(/cg allychat 也可以)
/cg ac切换到同盟频道

主页的「公会频道」按钮:左键切换公会频道、右键切换同盟频道;目前的频道显示在 {chat} 与 %cloudguild_chat_mode%。

  • 公会与同盟频道跨服:发出的消息写进数据库的事件表,其他子服在下一次同步(默认 1 秒内)送给自己子服上的成员。
  • 离开公会时自动切回一般聊天。
  • 在聊天栏回答云公会的输入提示(例如输入申请留言、存款金额)时,那一句不会被当成公会聊天。
  • 公会频道的消息不会出现在公屏:两种聊天事件都会被取消,CMI、EssentialsChat 这类从旧聊天事件重新发送消息的插件也不会外流。

格式​

chat:
guild-format: '&a[公會] {rank} &f{player}&7: &f{message}'
ally-format: '&d[同盟] &7{guild} &f{player}&7: &f{message}'
spy-format: '&8[監聽 {guild}] {player}: {message}'
quick-prefix: '#'
allow-color: false
键说明
guild-format公会频道的格式。变量:{rank} 发言者的职位名称、{player} 玩家名、{guild} 公会名称、{message} 消息
ally-format同盟频道的格式,变量同上
spy-format管理员监听看到的格式,变量同上;控制台也会用这个格式记录每一句公会 / 同盟聊天
quick-prefix快速发言的开头符号;留空 '' = 关闭
allow-colortrue 时玩家可以在公会聊天里用 & 颜色代码;玩家写的 MiniMessage 标签永远不会生效(见 玩家文字的安全处理)

其他插件可以用 GuildChatEvent 修改或取消公会聊天(例如接违禁词插件)。

管理员监听​

/cg spy
/cg admin spy

开启后看得到所有公会的公会频道与同盟频道(自己本来就收得到的不会重复)。/cg spy 需要 cloudguild.chat.spy,/cg admin spy 需要 cloudguild.admin。 监听是每个子服各自的开关,重新登录或重启后需要再开一次。

公告栏​

/cg notice
/cg notice post <标题>|<内容>

/cg notice 打开公告栏菜单。发布需要 notice 职位权限:

/cg notice post 今晚打王|20:00 主城集合|記得帶藥水

第一个 | 前面是标题,后面是内容,内容里的 | 会换行。也可以在公告栏菜单点「发布公告」,依提示先输入标题、再输入内容。

键默认说明
notice.max20每个公会保留几则公告,超过时删掉最旧的
notice.cost0发布一则公告花费的公会资金(资金不够就无法发布,会写入银行记录)
notice.title-max-length16标题最多几个字
notice.content-max-length200内容最多几个字
  • 发布后公会所有在线成员(任何子服)收到「xxx 發布了公告:标题 [查看]」。标题与内容可以用 & 颜色,< > \ 会换成全角字符(见下方)。
  • 未读提醒:每位成员各自记录读过哪些公告。上线时有未读公告会提示「公會有 N 則未讀公告」;主页的公告栏按钮换成 unread 状态;%cloudguild_unread_notices%、%cloudguild_has_unread% 也会更新。
  • 在公告栏菜单左键点未读的公告标为已读,「全部标为已读」一次读完;有 notice 权限的成员右键可以删除(会二次确认)。
  • 发布者自己的公告自动算已读。
  • /cg notice delete <编号> 也能删除,但编号不会显示在菜单上,一般用菜单右键删除比较方便。

玩家文字的安全处理​

玩家自己输入、之后会放进消息模板的文字——申请留言、公告标题与内容、公会介绍、allow-color: true 时的公会聊天——都会先经过处理:

  • < → <、> → >、\ → \(全角字符),§ 直接去掉。

所以玩家无法在这些文字里写出 MiniMessage 标签:不能伪造点击执行指令(<click:run_command:…>)、悬停、插入文字,也不能用 \< 之类的跳脱写法绕过。& 颜色代码不受影响(公会聊天要 allow-color: true 才会生效)。 allow-color: false(默认)时,公会聊天的内容一律当成纯文字显示。