Dice Master手册

这是Dice插件2020.7.29更新2.4.0后对应的Master手册 2.3.8Exp10:增设用户和群记录,将白名单转换为用户信任/群选项,自定义优化如有自定义strNameGenerator请参照格式及时重定义,以免无法显示 2.3.8Exp9:拦截消息设置。多轮检定将调用一组额外的strSuccess文本以避免糟糕的排版,如有需要请额外设置 2.3.8Exp8:新增warning,完善黑名单,开放设置功能 2.3.8Exp7:新增Admin、monitor,所有admin指令对master而言都可以用.master代替。为.en/.sc未输入属性值时分别设定了独立回执 2.3.8.6i:拆分.send两个发送方向的回执,自定义化掷骰检定的回执 2.3.8.5i:增加.send功能 2.3.8.2i:允许定时开关,设定了非master使用专属指令时的回复文本,设置strDismiss后将会在被.dismiss时回复 2.3.8.1i:设定了默认入群介绍

Dice Master手册更新说明(2.4.0)管理面板Master模式Master绑定/解绑控制台指令状态查看遥控开关消息发送(.send)消息转发(.link)系统指令(.system)一键清群(.master groupclr)全局配置通知窗口全局开关(.admin DisabledGlobal=0/1)定时点事件(.admin clock)定时长事件用户策略用户记录(.user)用户授信(.user trust)监听好友申请(.admin ListenFriendRequest=1)允许陌生好友邀请(.admin AllowStranger=1/2)单群设置(.group)授权许可(!authorize)监听群邀请(.admin ListenGroupRequest=1)入群检测(.admin ListenGroupAdd=1)私用模式(.admin Private=1)审核模式(.admin CheckGroupLicense=1/2)入群检测(.admin ListenGroupAdd=1)自动退出讨论组(.admin LeaveDiscuss=1)黑名单(.admin blackqq/blackgroup)不良行为检测(.admin ListenGroupLick/ListenGroupBan/ListenSpam=1)邀请人连带(.admin KickedBanInviter/BannedBanInviter=1)云操作(.cloud)查看更新(.cloud update)同步不良记录(.cloud black)不良记录共享不良记录上传(.admin CloudBlackShare=1)读取外源记录文件云记录注销用户自行解黑个性化自定义帮助词条(.helpdoc)自定义回复(.reply)自定义回执文本(.str)外置牌堆附录默认回执文本配置项目表通知类型表文件位置表Mod文件示例后记更新手记(2020.05.14)更新手记(2020.7.29)

更新说明(2.4.0)

管理面板

可右键酷Q菜单->应用->Dice!->综合管理 打开图形界面。

GUI入口

可在界面内设置Master、调整用户信任、修改CustomMsg文本、修改全局配置

图形界面1

图形界面2

Master模式

Master是骰娘的控制者,每个骰娘同时至多只能有一个Master。Master可以控制骰娘的发言和行为,并个性化大量配置。受信任用户也可以获得对骰娘的部分权限,但只有Master拥有发放和回收高级权限的权限。

Master功能初始默认关闭,需要在酷Q的应用菜单中切换。

Master绑定/解绑

Master模式初次开启后为无主状态,此时对骰娘.master (private/public) 将绑定身份。也可直接在管理面板设置Master。 .master (private) 默认私骰作成,将自动开启私用模式 .master public 公骰作成,将骰娘初始化为公骰,自动调整相应的配置 .master delete 解除绑定,骰娘此时会重回无主状态,清空通知窗口,但先前设定的配置不会初始化。 .master reset [新masterQQ] 解除绑定,骰娘此时会认主[新masterQQ](原Master保留信任级别) .master admin添加管理时自动将私聊添加为监视窗口,管理可以用.admin delete放弃权限,清除窗口可以私聊.admin notice - me

控制台指令

状态查看

.admin state 可以查看当前的全局设置和黑白名单情况

悬浮窗:可右键酷Q菜单->悬浮窗->Dice!->指令频度 将悬浮窗显示的信息切换为每分钟的指令次数(实际是将5分钟内接受指令平滑化的结果)

遥控开关

消息发送(.send)

send用于用户与管理员间的远程交流 .send 待发送消息 (任何人可用)向Master发送消息 .send [窗口] [待发送消息] //向指定窗口发送消息(权限4限定;权限5用户发送的消息不会标明转发来源,等效于骰娘亲自说话 )

窗口是指QQ收发消息的聊天窗口。窗口参数识别一下5种格式:

消息转发(.link)

link用于管理员与特定窗口保持交流(尤其是新加入、待审核的群),或者操纵骰娘跑团 link to/from/with [窗口] 当前窗口向目标窗口单向转发/单向接收/双向转发消息 .link close 关闭从当前聊天窗口发起的消息转发 转发自Master的消息不会标明转发来源,等效于骰娘亲自说话 无法确认目标聊天窗口是否存在,可能会导致没有反应 转发状态没有被写入文件,因此重载应用后会清空

系统指令(.system)

.system save //立即存储所有数据(相当于执行所有停用应用时的操作) .system load //立即读取外置文件(模块、牌堆和角色卡模板)。便于不重载应用的反复调试。save/load涉及的文件见附录。 .system state //显示插件运行时间及内存占用等硬件信息 .system clrimg //(不递归地)删除data\image\文件夹下所有(文件名长度达32的)图片,但保留被Dice!引用的图片(如welcome);有其他插件调用缓存图片且不另存于文件夹,不要使用此命令以免影响其他插件正常运作;每清除一万张图片大约需要半分钟至一分钟,避免在业务繁忙时使用此命令权限5可用 .system reload //立即保存数据后令酷Q进程自杀并快速重启。第一次使用请保持远程连接监控,如重启后出现黄色提示框提醒上次未正常退出,请勾选【不再提醒】并确认,以免耽误重启。Linux容器内的酷Q存在无法勾选的情况,请慎用权限5可用 .system rexplorer //杀死资源管理器后重启。当 Windows 服务器内存占用逐渐随时间而升高时,考虑由资源管理器逐渐占用内存导致,可能适用该指令。权限5可用

一键清群(.master groupclr)

遍历群列表并退出符合条件的群,也可以在应用菜单中【一键清退】。群列表上限500,请避免群数超过500 .master groupclr 可以实现一键退群,无参数时默认参数为unpower .master groupclr [天数] 将退出当前所有骰娘在指定天数内未发言的群 .master groupclr unpower 将退出当前所有骰娘不是群管/群主的群 .master groupclr preserve 将退出当前所有无许可使用的群 .master groupclr black 将退出当前所有黑名单群有危险的黑名单用户的群

全局配置

配置项目表见附录 .admin [关键词] //查看配置项状态,如.admin Private .admin [关键词]=[数值] //修改配置项。一般1表示开启,0表示关闭

通知窗口

运行过程中产生的提醒、警告等通知消息会分类型发送给设置的通知窗口。所有通知被分为0-5六种类型(具体通知类型见附录)。当产生通知时,会向通知窗口中所有接收该类型通知的窗口发送消息。如果没有窗口能发送消息,骰娘会将通知发送给自己;无论如何所有通知会自动保存在"DiceData\audit"中,请定期整理该文件夹。 .admin notice [窗口] +/-[通知类型](...+/-[通知类型]) //增减通知窗口类型 .admin notice - [窗口] //直接移除指定窗口。

例: .admin notice group 754494359 -0-1-2-3-4+5 变更通知类型的接收情况 .admin notice - this 直接移除当前通知窗口

全局开关(.admin DisabledGlobal=0/1)

DisabledGlobal=1等价于.admin off(全局关闭)。开启时一切如常,关闭则进入静默状态,所有群聊/讨论组会相当于.bot off状态而无视群内设置,私聊会回复关闭中的信息。也可以用.admin on/off 操作全局开启/关闭,也可以在应用菜单中点击"全局开关"自动切换。

定时点事件(.admin clock)

.admin clock +/- on/off/clear [时]:[分] 添加/移除 定时 全局开启/全局关闭/清群 每日执行,如果当日错过不会补回。 定时开启和定时关闭时会向窗口4发送通知文本 清群为基于黑名单清群(=.master groupclr black)

定时长事件

以下事件会在Dice!每运行固定时间后执行一次 .admin AutoSaveInterval=10 //定时保存(min),默认每十分钟保存一次 .admin AutoClearImage=0 //定时清理图片(h),默认关闭。作为参照,每120小时清理一次,清理量大约在10000~20000。 定时系统监测报警(.admin SystemAlarmRAM/SystemAlarmCPU/SystemAlarmDisk=90) :每半小时监测一次系统内存、CPU、硬盘占用(%),超过阈值即报警。报警状态下每5分钟监测一次,如果数值升高超过1个百分点则继续报警,低于阈值则会提醒解除报警。设置在1-99时生效。

用户策略

用户记录(.user)

用户在使用指令或被授予信任后会生成用户记录 .user state //查看自己用户记录 .user trust [用户qq] //查看用户信任级别(4以上限定,上级对下级屏蔽) .user trust [用户qq] [信任级别] //调整用户信任级别(4以上限定,只能调整下级用户,最高为255) .user diss [用户qq] //拉黑用户(type=local,danger=1)

用户授信(.user trust)

每名登记用户会标记信任级别,初始为0。级别越高享受的权限越多,上级包含下级的所有权限。

.admin whiteqq (-) [白名单QQ] 可以为用户授予信任1(带减号为收回信任)

信任级别权限
1(原用户白名单)为群分发使用许可,允许使用某些指令
2黑名单豁免
3响应退群指令,接受不良记录共享(warning)
4(原管理)查看、分发和收回低于4的用户权限,原管理权限
5及以上查看、分发和收回低于自身的用户权限,系统操作指令

监听好友申请(.admin ListenFriendRequest=1)

默认开启,仅好友验证方式为【需要验证信息】或【需要回答问题并由我确认】时有效,拦截消息并决定通过或拒绝。黑名单用户必定拒绝。同意好友邀请时将发送strAddFriend,特别地,通过受信任用户的好友时会发送strAddFriendWhiteQQ。当好友验证方式为【允许任何人】或【需要正确回答问题】时,通过开启ListenFriendAdd,也会向通过的好友发送strAddFriend,注意这种方式通过的好友可能仅为单向好友。

允许陌生好友邀请(.admin AllowStranger=1/2)

默认为1。决定是否接受陌生人的好友邀请:2-无条件接受;1-无用户记录不接受;0-无信任不接受。该项设定建议配合QQ自带的【允许陌生人邀请我加入群聊】选项。

单群设置(.group)

.group ([群号])+/-[词条] //修改单群设置,群内原地使用可省略群号

词条作用修改要求
许可使用私用模式/审核模式可正常邀请入群/群内使用信任1
未审核审核模式下标记新加入无【许可使用】的群,拒绝指令信任1
免清清群时和搜查黑名单时略过该群信任2
免黑发生在该群的不良记录无效;不搜查黑名单信任4
忽略不接受任何该群的事件信任4
停用指令停止响应指令和'.'开头的回复(即.bot off)信任或群管
禁用回复停止响应自定义回复信任或群管
拦截消息拦截消息,阻止低优先级插件响应信任或群管
禁用jrrp/禁用me/禁用ob
/禁用draw/禁用help
禁用对应指令信任或群管
授权许可(!authorize)

受信任用户可通过在群内发送!authorize或在任意窗口发送!authorize +[群号]来为目标群添加【许可使用】。非信任用户也可在群内使用!authorize [理由]向窗口2发送许可申请。 !authorize (+[群号]) //受信任用户为本群+许可使用 !authorize (+[群号]) [理由] //非信任用户申请本群许可

监听群邀请(.admin ListenGroupRequest=1)

默认开启。接收用户的群邀请(小群邀请将由QQ系统自动通过,因此骰娘无法处理或知晓邀请人),拒绝来自黑名单的邀请,邀请来自受信任用户时通过且自动为群添加【许可使用】,非信任用户时私用模式而定。通过邀请的同时标记邀请人。

入群检测(.admin ListenGroupAdd=1)

默认开启。遍历群员,获取群主信息(临时创建的群可能无法获取群管理信息)、检索黑名单,为私用模式二次确认【许可使用】,为审核模式检查【许可使用】。发送strAddGroup。

私用模式(.admin Private=1)

认主时私骰作成进入私用模式,仅在受信任用户或【许可使用】群邀请时接受邀请,在新加入管理员无信任用户(否则为群自动添加【许可使用】)且无【许可使用】的群时自动退出,退出时自动留言。也可以用.admin only/public 切换私用/公用状态。

审核模式(.admin CheckGroupLicense=1/2)

入群后,对于无【许可使用】的群,将自动标记【未审核】并发送strAddGroupNoLicense。该项生效时将拒绝提供除help之外的其他服务,其余指令仅authorize/dismiss/bot有效。该项为1时拒绝所有【未审核】的群(不溯及审核模式开启前已加入的群),该项为1时拒绝所有无【许可使用】的群(含开启前已加入的群)。 审核模式与私用模式的差别

入群检测(.admin ListenGroupAdd=1)

默认开启。入群时反馈群信息(群名、群号、群人数、邀请人);群内发现黑名单时会通知,有管理员是黑名单时会触发退群(群未设置【免清】或【免黑】时)。

自动退出讨论组(.admin LeaveDiscuss=1)

开启LeaveDiscuss后,只要讨论组有人发言,就会自动退出讨论组。但开启后始终无人发言的讨论组无法处理,只能手动处理。讨论组具有许多不适应酷Q的机制,如无法获取讨论组列表,无法获取邀请信息,无法获取成员列表,无法自动检测被踢。

黑名单(.admin blackqq/blackgroup)

任何情况下,来自黑名单的邀请不会被通过,指令除了dismiss都不会被响应 .admin blackgroup (-) ([黑名单理由]) [黑名单群号] 可以添加群黑名单(带减号是删除) .admin blackqq (-) ([黑名单理由]) [黑名单QQ] 可以添加用户黑名单(带减号是删除),带理由时危险等级为2且通知对方,否则危险等级为1。 .admin blackfriend //查看好友列表内的黑名单用户 危险的黑名单用户包括群内权限更高的用户或非免清群内相同权限用户(可选),同时危险等级需要达到2。危险等级只有1的黑名单用户不通知、不会触发退群。 现在自己、Master、信任2以上用户都不会新加入黑名单。

不良行为检测(.admin ListenGroupLick/ListenGroupBan/ListenSpam=1)

默认开启。分别开启后,移出、禁言、刷屏会被加入黑名单。生成危险等级2的不良记录后,会自动向通知5窗口广播生成的!warning指令。warning指令:接收到信任3或记录可识别的骰娘warning时,骰娘将自动录入黑名单。骰娘通过这一机制实现不良记录的传递共享。 拉黑群时会自动移除【许可使用】。 刷屏在程序内定义为发送指令超过20/30s,实际解释权归Master所有

邀请人连带(.admin KickedBanInviter/BannedBanInviter=1)

默认开启。被移出、禁言时将入群邀请者同时加入黑名单。 邀请者责任源于协议中不得擅自拉群的规定,这里的擅自是双向的:一边无视骰娘协议,一边无视群内意愿

云操作(.cloud)

查看更新(.cloud update)

远程获取Dice!exp正式版及开发版信息 .cloud update //检查版本更新 .cloud update release //下载最新发布版 .cloud update dev //下载最新开发版(使用测试版/开发版请保持与开发者的交流)

同步不良记录(.cloud black)

该指令会从后台获取经核验的不良记录,并更新本地黑名单库。骰娘不会自动同步云端记录。

不良记录共享

不良记录上传(.admin CloudBlackShare=1)

该选项默认开启。开启时,当骰娘原生生成Kick/Ban/Spam记录时,会同时向后台发送该记录。记录在后台收录后处于待核验状态,需要后台管理二次核验才会对其他骰娘生效。所有云记录有唯一的wid。上传可能因连接后台失败而失败。对于生成记录过于频繁,或不良记录源于非Dice!原因与用户产生不良互动的,后台会拒绝收录该骰娘的记录。

该选项开启时,其他QQ发送云端已核验的记录也会对该骰娘生效。

读取外源记录文件

将其他来源的不良记录BlackList.json重命名为BlackListEx.json,放置于DiceData/conf目录下。Dice!加载时会自动读取并更新记录,之后该文件会被销毁。两种情况下已有记录不会在读取时更新:DiceMaid就是自己;危险等级与本地记录不同。

云记录注销

当前记录核销在群(754494359)内完成,入群后私聊Shiki(Justice)(2131847004),以下指令是有效的:

也可请求管理来完成注销,最通用证明材料为:当事人对当事骰娘发送.admin isban [本人QQ],连同骰娘回复将聊天记录转发给管理。

用户自行解黑

云记录核销之后,所有骰娘并不会自动同步。遇到尚未注销黑名单的骰娘,请用户自行解黑。方法为对已注销的骰娘发送.admin isban [QQ],将得到的warning指令保存,用于私聊未注销的骰娘。由于骰娘存在连接后台失败的可能,导致无法获取记录更新的信息,因此无法保证指令有效。这时请联系相应骰主。

个性化

自定义帮助词条(.helpdoc)

.helpdoc [词条名] [词条内容] —— 自定义帮助词条 词条内容以&开头表示重定向,如.helpdoc 追仙子 &追仙后,.help追仙子 将重定向到追仙的词条 词条名不需要是源代码中已有的,请随意添加

外置帮助文档可放入DiceData/mod/读取。文件样例见附录。

自定义回复(.reply)

当存在触发词与收到的消息完全一致时,将随机选择一项回复发送。当群内开启【禁用回复】时,不会响应回复。触发回复也会算入刷屏计数! .reply [触发词] [回复文本1](|[回复文本2](...|[回复文本N])) //收到触发词后,从N项回复中随机取一项,所有回复使用"|"分隔 .reply [触发词] //清除触发词

自定义回执文本(.str)

将系统处理事件的回执替换为自定义文本 .[键值] [文本] ——自定义骰娘的某类回执 .[键值] NULL ——自定义文本为空白 .[键值] show ——查看自定义文本

强烈建议自定义strHlpMsg和strAddFriend、strAddGroup,向不熟悉的用户介绍私骰的特别之处(申请、使用须知)

例:

如果没有设置,strSelfName和strSelfCall将预设为QQ昵称,并且{self}会自动替换为strSelfCall

外置牌堆

将牌堆文件放入DiceData/PublicDeck内并重启或load,即可使用牌堆内的条目。牌堆名以'_'开头时,无法直接使用draw命令抽取。

附录

默认回执文本

可用的键值如下表(已用json格式表出,复制入CustomMsg.json时注意保持格式并去除注释

配置项目表

注:Disabled是不可用的意思!

关键词默认状态说明
DisabledGlobal0全局静默,只响应dismiss和bot,私聊会说明
DisabledBlock0bot off时拦截消息,阻止低优先级插件响应
DisabledListenAt1停用指令时可以通过at指名响应指令
DisabledMe0拒绝响应.me
DisabledJrrp0拒绝响应.jrrp
DisabledDeck1拒绝响应.deck
DisabledDraw0拒绝响应.draw
DisabledSend0拒绝响应.send
Private0私用模式开启(私骰作成=1)
LeaveDiscuss0检测到讨论组发言时自动退出
ListenGroupRequest1响应群添加请求
ListenGroupAdd1响应入群反馈
ListenFriendRequest1响应好友添加请求
ListenFriendAdd1响应好友添加反馈(由插件通过则不重复)
AllowStranger0私用模式下允许非白名单好友申请(公骰作成=1)
ListenGroupKick1响应群移出事件
ListenGroupBan1响应群禁言事件
ListenSpam1响应刷屏监测
LeaveBlackQQ0检测群权限相同的黑名单用户时自动退出(公骰作成=1)
BannedBanInviter0被禁言后拉黑邀请者(公骰作成=1)
KickedBanInviter0被踢后拉黑邀请者(公骰作成=1)
CloudBlackShare1与云不良记录同步
BelieveDiceList0信任来自骰娘列表成员的warning(公骰作成=1)
CloudVisible1允许通过骰娘网络公开骰娘的QQ和其他信息
SystemAlarmCPU90系统CPU占用触发报警的百分比阈值(0则不检测)
SystemAlarmRAM90系统内存占用触发报警的百分比阈值(0则不检测)
SystemAlarmDisk90系统硬盘占用触发报警的百分比阈值(0则不检测)
SendIntervalIdle500闲时消息队列处理一条消息发送的间隔(ms)
SendIntervalBusy100忙时消息队列处理一条消息发送的间隔(ms)
AutoSaveInterval10自动保存事件间隔(min)
AutoClearImage0自动图片清理间隔(h)

指令禁用对信任4以上用户无效 如果使用了容易刷屏又没有独立开关的回复插件,建议开启DisabledBlock并令Dice拥有更高优先级 对.me特别处理的理由是其在跑团中几乎零作用,却可以制造骰娘自己说话的假象,引发风险。

通知类型表

事件554输出通知类型
启动初始化发送recorder0
自定义回执文本发送recorder0
接收响应的warning发送recorder0
非黑受邀入群发送recorder0
非黑好友申请发送recorder0
刷屏初次提醒发送recorder0
解除禁言提醒发送admin1
增减黑名单发送recorder1
接收warning处理反馈发送admin1
申请/入群检测到黑名单发送admin1
黑名单触发退群发送admin1
接收陌生warning发送admin1
自定义全局设置发送recorder1
信任等级变动发送admin1
遥控单群退群/群设置1
撤销管理员发送admin2
批量修改群设置2
接收send信息发送admin2
群聊清查发送recorder2
刷屏二次提醒发送admin3
原生不良记录发送monitor3
系统负载报警3
切换公用/私用(only)发送admin4
定时开关发送monitor4
生成warning发送monitor5

文件位置表

文件路径说明读写时机
DiceData/conf/Console.xmlMaster模式配置修改时写入
DiceData/conf/NoticeList.txt通知窗口列表修改时写入
DiceData/conf/CustomMsg.json自定义回执文本修改时写入
DiceData/conf/CustomHelp.json自定义帮助文本修改时写入
DiceData/conf/CustomReply.json自定义回复文本修改时写入
DiceData/conf/BlackList.json黑名单记录修改时写入
DiceData/user/UserList.txt用户信任、时间记录退出或save时写入
DiceData/user/UserConf.RDconf用户配置退出或save时写入
DiceData/user/ChatList.txt群聊时间记录、邀请人退出或save时写入
DiceData/user/ChatConf.RDconf群聊配置退出或save时写入
DiceData/user/PlayerCards.RDconf角色卡记录退出或save时写入
DiceData/user/session/团内记录(先攻、ob)修改时写入
DiceData/audit/消息通知日志更新时写入
DiceData/mod/模块文件(目前限定帮助文档)load时读取,不写入
DiceData/PublicDeck/外置牌堆load时读取,不写入
DiceData/CardTemp/角色卡模板load时读取,不写入

Mod文件示例

 

后记

更新手记(2020.05.14)

这里是Shiki,在半年时间里,exp10经历了一个繁复拖沓的开发周期。虽然有部分现实因素,但更多受限于开发者的项目管理能力不足。为了一次性将所有存档文件从酷Q默认文件夹搬迁到DiceData/,开发者被迫将所有认为需要改进的涉及文件的机制更新了一遍。好在有众多用户的积极支持,Dice!exp终于迎来了新一版正式发布版。

exp10的更新体现了两极分化的开发思路:对用户的极简化和对深度用户的高度定制化。对于开包即用的用户(超过Shiki全部万千骰娘的半数),初始设定将更贴合用户体验。对于没有认主导致的接收信息量不足问题,无主骰娘现在会在初始化后向自己发送通知,此后所有通知都会发送给自己。如此或有助于非官方渠道接触骰娘的用户更容易接触到骰娘的常规用法。

可以看到,exp10对黑白名单的扩展大大增加了用户的学习成本。因此我全套向下兼容了旧有的黑白名单、管理、监视窗口指令,试图构建简洁功能-高级功能并存的模式。用户可以不理解信任等级,而像之前那样使用.admin whiteqq和.master admin,也可以不理解单群设置而简单实用.admin whitegroup。

经历了exp9挖坑牌堆exp10完善后,我体验到了在大版本更新前挖好坑的模式,即提前做好扩展的空间等着大版本填坑。鉴于整个开发过于耗时,又希望生态圈内的创作者能尽早熟悉文件格式进行开发,exp10先用一天的开发时间支持了mod文件的基本格式,等待后续填充helpdoc以外的类型。session、mod在exp10都是看起来没那么重要的更新,但它们的作用都可以期待一下。那么,尽情催更exp11的开发吧,说不定到那时候,log、随机回复、敏感词检测、模糊匹配回复……都实现了呢。

更新手记(2020.7.29)

这里是Shiki。我也没想到,exp11没了,饼不算数了。再回归成为Dice!主支的开发者,确实是我不曾想到的。当然这对用户而言没多大区别。作为一个整合过渡用的版本,这一说可以说没有什么明显的改动,尤其是在用户体验上。

当然又有新坑埋下了,那就是新的定时任务系统。我对造轮子有种额外的热衷,相较而言,新功能更像是机制建立后的水到渠成。所以我的饼做的比画的慢太多。等定时系统完善后,大概就可以用来跑团杀鸽子了。