本文讲述了如何使用酷Q搭建一个搭载Dice!v2的骰娘。

请注意,截至目前,酷Q机器人框架已经 完全停止运行。 本文提到的所有搭建部分教程 均已失效! 本文仅作为永久纪念。

骰娘相关问题,请移步官方论坛https://kokona.tech

在阅读本文章之前你应该知悉本文所引用的指令、版本、配置文件仅适用于Dice!v2.3.8(554-556),对于最新版本Dice!v2.4.0已经过时。如需下载最新版本及相关指引或说明,请登录Dice!官方论坛 和参阅Dice!v2官方说明书

若后续有正式发布版本时,将会撰写新的搭建教程指南。在此之前,本指南部分指令或说明在新版中亦可生效,但不应作为参考之依据。

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。您可以按照协议分发、复制、修改。但请注明作者及出处。


序言

首先,基于个人的感性认知,我不希望各位准骰主以三分钟热度的心态搭建骰子。不论是私骰还是公骰,都应该为用户负责

并且截至发文,已经有4000+的shiki序列注册骰娘,供求关系可能会导致你的骰娘不被关注。

当然我也很欢迎各位抱着学习的心态搭建QQbot,对于很多人来说,骰娘可能是搭建QQbot的入门砖。

我自己搭建骰子的初心是因为在很久以前第一次在QQ群接触跑团的时候,跑到一半骰子就死了。事后知道是冻了

这件事对我触动蛮大的。在成为社畜之后,繁忙的工作和家事,让我已经失去了跑团的热情。

小时候妈妈总是跟我讲,现在好好学习,少玩点游戏,等长大了有的是时间玩,现在看来果然是在骗我。

总之,虽然没有时间跑团,但是还是想尽一份力。

去年7月份,一个偶然的机会,看到有一个群里在说搭建骰子的事,我就悄悄的敲了敲大佬的窗,咨询怎么才能搭建骰子。

那时候也没想那么多吧,就是想:既然自己跑不了团了,给别人提供一点方便,也算是留下了些什么吧。

就这样,我搭建了自己的第一个骰子:狐狐

之后又陆陆续续搭建了艾雅法拉白面鸮,以及狐狐测试机。

虽然搭建骰娘比想象中简单,但是也是走了不少弯路。

在这里很感谢鱼仙好吃的、弗雷好吃的、夜鸢阿姨以及鱼窝和十王群里的其他各位小伙伴们,大家的思路和技术力对我的帮助很大。

特别感谢 shiki 维护的 Dice!exp 为我这样的小白提供了制作骰娘的机会~


比起娱乐功能,我更看重的是骰娘的稳定性。倒不是我自己不喜欢娱乐功能,而是有些调查员不喜欢也不希望使用这些功能。所以我觉得这些娱乐功能只是锦上添花,而不应该当作必需品,即使的确能带来很多人气。当然这只是我个人的保留意见。

最主要的是,这些功能更容易导致骰子冻结。

因此,艾雅法拉和白面鸮都是相对纯净的骰子,娱乐功能和自定义回复都很少。

最直观的是,这两个骰子的冻结次数是狐狐的零头。

不知不觉这也过去半年了,有欢乐,也有失落。

很多人对骰娘的认知就是一个机器人。 甚至还有人觉得,我们设置这么一个黑名单机制,就是纯粹的玻璃心。

有些黑名单用户甚至说:“踢了就踢了,黑名单我也不解了,四千个骰娘,我换一个没在云黑里的不就行了?还比你功能多!”

试问,如果你是骰主,你希望有这样的人使用你的骰子吗?

还有人跟我讲,踢/禁言/高频并不会导致QQ被冻结,黑名单就是骰主矫情。因为这没有写在QQ用户协议上。

可是你忘了,QQ协议上也没写频繁加好友会被标注,也没有写频繁被踢会被标注。这些标注大家有时被一些特殊用户添加的时候,能在加好友界面看见,这不是我捏造的,腾讯对QQ账号绝对是有标记的。

所以,云黑名单在我看来是一个很有效的防御机制。短短半年就能有一千多个黑名单产生,难以想象如果没有黑名单机制,会造成多少的复数骰娘被迫害的情况,又会有多少骰娘永远的离开我们。

阻挠你的不是技术力,而是心力。

公开型骰娘的搭建和稳定运行,在我看来其实是有运气成分在里面的。

首先一个新的QQ号,在挂上CQ程序后,一旦触发回复,就有极高的概率冻结。

然后本地配置好的骰娘,整体迁移到云服务器上之后,面临的又是群聊屏蔽。

更不要提频繁的冻结和程序崩溃

所以想要7x24小时的稳定提供服务,着实需要一些运气的。

当然这些也和骰主的优化有关,所以本文就是为了更好的指导新人骰主能够有效避雷而撰写。

希望我的贫瘠的经验,可以帮到你。


关键词:酷Q;骰娘;COC;搭建骰娘

骰娘如何搭建,骰娘如何制作,骰娘制作,如何搭建骰娘,如何制作骰娘,骰子娘,跑团骰子,跑团骰娘,骰娘如何设置主人,骰娘怎么设置master,骰娘 酷q,怎么把骰娘挂到服务器上,骰娘自定义draw,骰娘自定义draw放哪个文件,骰娘全局开关,酷q私聊可以骰点,无法在群里骰点,酷qshiki,酷qpro骰娘,酷q如何写一个骰娘,骰娘怎么添加白名单,骰娘冻结,酷q重启没有dice文件夹,跑团bot,骰娘怎么开deck,shiki骰娘,酷q骰娘,如何自己搭建骰娘,跑团 jrrp,酷q骰娘怎么制作,cqair with dice

1.硬件及软件

推荐硬件要求:1个 核心以上的逻辑处理器,1GB 以上的内存。

最低系统要求:Windows 7 / Windows Server 2012

使用时需保证电脑开机并且酷Q运行正常。

同时建议注册一个小号制作骰娘,而非使用本人QQ。

不会关机的云服务器

如果在自己的电脑上运行骰娘的程序,一旦关机,那么将无法使用。

如果希望24小时在线,请选用云服务器

云服务器是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务,
 用户无需提前购买硬件,即可迅速创建或释放多台云服务器,
 可独立分配CPU、内存、带宽等资源。
 云服务器托管在数据中心的机房内,可以24小时保持运行。   

云服务器推荐

滴滴云:新人活动1核2G1M云服务器68元1年 点击注册领券

腾讯云 :腾讯云十周年,1H2G1M仅售95一年,288三年!

阿里云 :新手助力上云 突发型服务器1核2G1M最低89/年!

(注意!突发型服务器无法长时高负载工作,不适合挂网站及多个骰娘,请务必注意)


认识酷Q

 酷Q是一款轻快实用的QQ机器人软件,它可以实现群管理、好友聊天、日常便民等多种功能。

搭建骰娘需要使用酷Q机器人程序,程序分为以下版本:

CQ Air ||免费、轻量化、高效

CQ Pro ||付费、解锁发送图片语音、多端登录等更多功能

CQ on Docker Linux系统下使用docker部署CQ

酷Q是一款智能机器人软件,严禁将酷Q用于广告、群发或其他违法、违规用途。 应用使用规范(必读) »

下载或使用软件即表示您已阅读并同意服务条款隐私政策


2.开始部署

本文以Windows10系统下的CQAir部署Dice!exp为例进行骰娘搭建说明

注意!请先在本地进行配置,配置完成后,再将整个酷Q目录压缩打包上传到云服务器运行。

CQ Air安装

CQ Air 官方下载 镜像下载

将下载的压缩包解压,然后运行CQA.exe,程序将会自动下载更新。

基于酷Q的跑团骰娘搭建指北
酷Q Air 目录
基于酷Q的跑团骰娘搭建指北
更新完成

更新完成后直接出现如下界面

基于酷Q的跑团骰娘搭建指北

然后你会发现文件夹里多了一个app子文件夹,这个文件夹是存放所有酷Q插件的目录,所有.cpk的文件请添加到这个文件夹中

基于酷Q的跑团骰娘搭建指北
酷Q Air 目录

Dice!exp shiki ver.安装

Dice!Exp shiki ver唯一指定官方QQ群:754494359

Dice!exp(稳定版) 554 下载 Dice!exp 556(正式版) 下载(556由于存在严重bug,暂时移除下载链接)

注意:

  • 强烈建议新人骰主安装554版本,理解成本较低。
  • 554版本相对于550版本,适配了最新版CQ框架,增加了多角色卡、手动保存等功能,是较大的版本更新。
  • 556版本相对于554版本,增加了权限分离、定时保存、黑名单分级、黑名单编号等功能 ,是较大的版本更新 。
  • 556版本的权限分离模式请自行参考说明书。

将Dice!exp插件放入/app目录中(不要更改.cpk文件的文件名

输入事先准备好的小号登录酷Q程序,事先请务必在手机登录开启设备锁。

此时会提示你接收短信验证码

基于酷Q的跑团骰娘搭建指北

按提示输入验证码后,就成功登录了CQ了。

然后右击头像,选择 应用-->应用管理 找到Dice!,点击下方的启用

基于酷Q的跑团骰娘搭建指北

询问全部选择

基于酷Q的跑团骰娘搭建指北

这时上面的 爱音乐、互动式教程、状态监控 都可以卸载了,没什么用。

恭喜!此时你的骰子已经开始响应骰点指令了。可以看作已经成功的搭建骰子了!

此时值得注意的是,如果骰子QQ为新注册的,应该关闭所有插件,使用CQ挂机静置几天,不然有可能在触发回复的一瞬间被冻结

如果骰子在搭建完毕后,迁移至云服务器或其他电脑,可能会遭遇异地登陆风险控制,从而导致无法触发群聊回复(私聊可能有反应)。这种情况可在 右击CQ-->日志 查看骰娘是否对相关命令有所回复,如果有回复却看不见,就是风控了。这种情况也是静置几天即可

基础设置

根据版本下载说明书,554版本建议两个说明书同时参照, 555版本建议三个说明书同时参照。出现歧义以最新版为准。

注意!炼骰手册必看!

Dice!exp 554 基础指令参考书

Dice!exp 554 角色卡及系统指令参考书

Dice!exp 556 指令说明书

炼骰手册0.2.0 <--官方排除疑难杂症的说明书,不下不是人

以下所有指令是适用于 554版本 对新骰的基础配置指令教学,以及部分新骰主应该了解的指令。如有提到555版本以上的指令将会特殊标注

这些在上述手册中也可以查到。555版本及以上可能有一些指令更换,建议同时参考555说明书进行食用。

首先打开Master模式 ,所有指令的前提!

骰娘怎么设置master?

应用-->Dice!-->Master模式切换

基于酷Q的跑团骰娘搭建指北
基于酷Q的跑团骰娘搭建指北

此时使用你的个人账号骰娘账号发送 .master public 来绑定主人并开启公用模式

  • 扩展阅读:
  • 若要制作私用模式的骰娘,直接发送.master即可
  • 若要放弃自己的master权限,发送.master delete
  • 若要增加管理员, 发送.master admin 被任命人QQ号
  • 若要删除管理员, 发送.master admin -被任命人QQ号
  • 若要查看管理员名单,发送 .master admin
  • 管理可以用.admin delete放弃权限

状态查看

使用.admin state可以查看骰子当前状态,请注意,这是一条公共查询指令,用户可以用这个指令查询master信息,但只有在管理员发送时才会反馈群聊数、黑白名单数等。

使用.system state可以查看骰子所属服务器的系统资源状态。

使用.group state可以查看本群状态,这是一条公共查询指令,群主及管理员可用。

全局设置

全局设置中,指令后接 0为关闭,1为开启。以下示例中数值为默认值

注意,这些指令本身有默认值,并不需要每一条都发送一遍,按需使用即可。

.admin DisabledGlobal 0 //开启后 全局静默,只响应dismiss和bot,私聊会说明。

.admin DisabledBlock 0 //开启后 bot off时拦截所有优先级低于dice!插件的响应

.admin DisabledMe 0 // 开启后 拒绝响应.me

.admin DisabledJrrp 0 //开启后 拒绝响应.jrrp

.admin DisabledDeck 1 //开启后 拒绝响应.deck

.admin DisabledDraw 0 //开启后 拒绝响应.draw

.admin DisabledSend 1 //拒绝响应.send(公骰作成时默认打开响应)

.admin Private 0 //打开私用模式(私骰作成时默认开启)

.admin LeaveDiscuss 0 //开启后 检测到讨论组发言时自动退出(讨论组有很多不适用于当前CQ的规则)

.admin ListenGroupRequest 1 //响应群添加请求

.admin ListenGroupAdd 1 //响应入群反馈

.admin ListenFriendRequest 1 //响应好友添加请求

.admin ListenFriendAdd 1 //响应好友添加反馈(由插件通过则不重复)

.admin AllowStranger 0 //私用模式下允许非白名单好友申请(公骰作成时默认开启)

.admin AutoClearBlack 0 //每日五点检查群内黑名单(公骰作成时默认开启)

.admin ListenGroupKick 1 //响应群移出事件

.admin ListenGroupBan 1 //响应群禁言事件

.admin ListenSpam 1 //响应刷屏监测

.admin LeaveBlackQQ 0 //检测群权限相同的黑名单用户时自动退出(公骰作成时默认开启)

.admin BannedLeave 0 //被禁言后自动退群(公骰作成时默认开启)

.admin BannedBanInviter 1 //被禁言后拉黑邀请者(公骰作成开启)

.admin KickedBanInviter 0 //被踢后拉黑邀请者(公骰作成开启)

.admin BelieveDiceList 0 //信任来自骰娘列表成员的warning(公骰作成开启)

.admin CloudVisible 1 //允许在骰娘网络中公开(暂无用处)

全局开关

使用.admin on/off 操作全局开启/关闭 ,开启全局关闭后所有群聊都不会响应指令,私聊则会回复关闭中 的信息。

使用.admin clockon/clockoff [时] [分] 定时全局开启/关闭

.admin clockon 06 00 设置后骰娘会在每天06:00时刻开启。设置为空或非法参数将清除定时。

远程开关

.admin boton/botoff 群号 //等效于所在群群管使用.boton .botoff

.admin dismiss 群号 //可以遥控骰娘退出所在的群,即使骰娘不在,也能将该群移出白名单

系统指令

system相关指令。仅限管理员及master可使用

.system save //手动保存数据

.system load //手动加载数据,用于增加牌堆后刷新缓存

.system state //查看骰娘所属服务器的系统状态信息以及Dice的运行时间等。

.system clrimg //清理CQ缓存的图片。

此命令会递归删除data\image\文件夹下所有(文件名长度达32的)图片,但保留 被Dice!引用的图片(如welcome)

CQ在运行中会自动保存群聊图片到本地,定期清理缓存有助于缓解硬盘空间。

注意:清理图片可能会导致其他插件引用的图片被一并清理(如铃心),所以请谨慎操作。

注意:每清除一万张图片大约需要半分钟至一分钟,避免在业务繁忙时使用此命令

添加牌堆

牌堆的目录为 CQ根目录/Dicedata/PublicDeck/

将牌堆的json文件放进这个目录里,然后使用.system load就可以重载牌堆数据了。

若插件没有自动生成该目录,请自行新建文件夹。

添加模板

模板的目录为 CQ根目录/Dicedata/CardTemp

自定义跑团模板文件请放进这个目录里。 然后同样使用.system load重载数据。

若插件没有自动生成该目录,请自行新建文件夹。

黑名单机制

公共型骰子默认打开全部拉黑机制,如要更改请在本文的全局设置栏目中找相应项目。默认开启包括:

骰娘被踢时,自动拉黑操作者 所在群 及邀请人。记录为kick。

骰娘被禁言时,自动拉黑操作者 所在群 及邀请人。记录为ban。

骰娘被高频刷屏时,自动拉黑操作人及所在群(如有)。记录为spam。

任何情况下,来自黑名单的邀请不会被通过,指令除了dismiss都不会被响应

当骰子处于无黑名单群,且权限高于黑名单时(如骰子为管理员,黑名单为群员),不会自动退群,但会向日志窗口告警。

.admin blackgroup QQ群号 //该指令将拉黑指定群

.admin blackgroup -QQ群号 //该指令将解黑指定群

.admin blackqq QQ号 //该指令将拉黑指定QQ。在QQ号前输入文字可以记录理由。如:.admin blackqq 连续多日刷屏无意义指令 123456

.admin blackqq -QQ号 //该指令将解黑指定QQ

注意:如果需要参与云黑名单分享计划,请将骰子加入群754494359,然后设置该群为监视窗口(.admin monitor 754494359 )。

白名单机制

白名单机制多为配合 私人模式 下的骰子使用。

由受信任用户邀请入群时,该群将自动获得使用许可

骰娘被踢、或由Master遥控退群时,将自动移除使用许可

重要的大群(跑团交流群、骰娘群)请加入白名单,以由于黑名单入群导致骰娘自动退群

.admin whitegroup QQ群号 //该指令将使指定群加入白名单

.admin whitegroup -QQ群号 //该指令将解除指定群白名单

.admin whiteqq QQ号 //该指令将使指定QQ号加入白名单

.admin whiteqq -QQ号 //该指令将解除指定QQ的白名单

3.个性化设置

帮助信息的自定义

.help是用户用来查询骰子帮助的指令,大多数时候,我们推荐用户在拉骰娘入群后及时发送.help帮助群员获取我们的帮助指导。

我们可以向骰娘发送 .strHlpMsg 内容 (注意字母大小写)来自定义想要展示的帮助信息。

例如:

.strHlpMsg 
请使用.dismiss使骰娘退群退讨论组
使用.bot on/off控制骰娘开启或关闭
当群里存在多个骰娘,需要单独控制时
请在指令前@指定骰娘(适用于所有投骰指令)
.help协议 确认服务协议
.help指令 查看指令列表
.help设定 确认骰娘设定
.help链接 查看源码文档
官方群:754494359
私骰群:863062599

注意:文字间的换行是可以被保存的。

指定的帮助信息也可以自定义(即使不存在预设)。

使用.helpdoc 词条名 词条内容 来自定义帮助回复

例如:

.helpdoc 协议 
请阅读适用于本骰娘的通用协议
http://dice.org.cn/UA

再来设定一条非预设的帮助信息

.helpdoc 贰狐 贰狐就是贰狐,别问,问就是贰狐。 

这时候向骰娘发送.help 贰狐 就可以测试效果了。

基于酷Q的跑团骰娘搭建指北

有时候看到一些骰娘的个性化回复非常可爱,是怎么设置的呢?

本节将说明如何自定义个性化回复。

关键词回复

Dice!exp自带一个 完全匹配 的关键词回复,当用户发送完整的不包含其他字符的字段时,将自动触发回复。

使用 .reply 关键词 回复 可以设置自定义关键词。

使用 .reply 关键词 关键词后不接任何字符时,可以删除指定词条。

例如:

.reply 贰狐 这是咱的master,有什么事吗?
基于酷Q的跑团骰娘搭建指北

如果需要单关键词多种回复随机,可以使用“|”分隔。

.reply 贰狐 这是咱的master,有什么事吗?|贰狐就是贰狐!|别叫,叫就是不在家!

注意:非常非常 非常不建议 骰主设置例如“哈哈”“早安”“在吗”这种非常日常的用语,不然容易出现扰民情况。另外也 不建议 设置 回复内容包含关键词 的词条。比如两个骰子同时设置了“哈哈”回复“哈哈”,那么将瞬间无限复读,导致骰娘 宕机并互相加入刷屏黑名单

投骰指令中的回执文本

本节讲述如何客制化骰娘的指令回执

通过文件来修改自定义回执

554及以后版本的自定义回执文件位置为

\DiceData\conf\CustomMsg.json

Dice! by 溯洄 Shiki.Ver 554 版本自定义回执文件下载

CustomMsg.json(554) (下载205)

Dice! by 溯洄 Shiki.Ver 555/556 版本自定义回执文件下载

CustomMsg.json(555later) (下载136)

通过在退出CQ的情况下修改文件,可以快速设置自定义回执。

当文件中的某个条目被删除时,将会自动返回默认值。

如果对json文件苦手的骰主,也可以通过↓下面的方式修改。

通过指令来修改个别自定义回执

通过指令来远程修改自定义回执的方式,一次仅限一条。

未更改的条目不会收到影响,依旧返回默认值。

.str 键值 回执内容 代表修改键值的回复内容

使用指令添加时,在回执内容中直接使用换行是可以保存的。

\n换行符是不被允许的。故下方指令表中的\n请自行替换成换行

.str 键值 NULL 代表该键值回复内容为空

.str 键值 show 代表查看该键值已经设定的回复内容

例如 .strBotOn 我要开始工作了

基于酷Q的跑团骰娘搭建指北

此时当用户输入.bot on时,骰娘会返回“我要开始工作了”

基于酷Q的跑团骰娘搭建指北

附:所有自定义回执键值

下述参考条目部分回执可能仅适用于554版本,且未列出555后对权限部分的回执

在之前版本(如550)中,用"本机器人"指代骰娘名称(新版用 {self}) ,回执中的{0/1/2},则指代用户或内容或数值等,具体可参考回执时语境。这些旧的回执标签在554版本中是可以被兼容的,但在新规则中,{0}{1}{2} 由于可能存在注入漏洞被更换为细分条目。

由于出于日后升级考虑,故本文已对指代标签进行转义。

例如: {@}为@该用户 {self} 代表骰娘名称 {nick} 代表用户名称 {option} 代表选项 {char} 代表人物卡名称 {pc}代表人物卡本身,用于st等指令 {key} 代表关键词名称 {res} 代表所生成的随机数,用于投骰或jrrp {attr} 代表属性名,用于st

所以请注意,以下回执设置仅兼容新的GlobalMsg规则(555Later)

注意//为注释内容,请勿一同复制

  • .strParaEmpty 参数不能为空× //偷懒用万能回复
  • .strParaIllegal 参数非法× //偷懒用万能回复
  • .strAdminOptionEmpty 找{self}有什么事么?{nick} //管理员.admin时回执
  • .strSpamFirstWarning 你够了,我无法容忍你的行为(刷屏初次警告)
  • .strSpamFinalWarning 希望不要,不是希望,就是呵斥,不要有这种行为出现,这个太野蛮了(刷屏最终警告)
  • .strReplySet {self}对关键词{key}的回复已设置√
  • .strReplyDel 关键词{key}的回复已清除√
  • .strStModify 已记录{pc}的属性变化: //存在技能值变化情况时,优先使用此文本
  • .strStDetail 已设置{pc}的属性: //存在掷骰时,使用此文本(暂时无用)
  • .strStValEmpty 未记录{attr}原值× //{attr}为属性名
  • .strBlackQQAddNotice {nick}你已被{self}加入黑名单,详情请联系Master
  • .strBlackQQAddNoticeReason 由于{reason},你已被本机器人加入黑名单,申诉解封请联系管理员:QQ号xxxxxxx
  • .strBlackQQDelNotice 你已被{self}移出黑名单,现在可以继续使用了
  • .strWhiteQQAddNotice 你已被{self}加入白名单,欢迎使用√
  • .strWhiteQQDenied 你不在白名单中×
  • .strWhiteGroupDenied 本群聊不在白名单中×
  • .strPcNewEmptyCard 已为{nick}新建{type}空白卡{char}√
  • .strPcNewCardShow 已为{nick}新建{type}卡{char}:{show} //由于预生成选项而存在属性
  • .strPcCardSet 已将{nick}当前角色卡绑定为{char}√ //{nick}-用户昵称 {pc}-原角色卡名 {char}-新角色卡名
  • .strPcCardReset 已解绑{nick}当前的默认卡√ //{nick}-用户昵称{pc}-原角色卡名
  • .strPcCardRename 已将{old_name}重命名为{new_name}√
  • .strPcCardDel 已将角色卡{char}删除√
  • .strPcCardCpy 已将{char2}的属性复制到{char1}√
  • .strPcClr 已清空{nick}的角色卡记录√
  • .strPcCardList {nick}的角色列表:{show}
  • .strPcCardBuild {nick}的{char}生成:{show}
  • .strPcCardShow {nick}的{type}:{char}:{show} //{nick}-用户昵称 {type}-角色卡类型 {char}-角色卡名
  • .strPcCardRedo {nick}的{char}重新生成:{show}
  • .strPcGroupList {nick}的各群角色列表:{show}
  • .strPcNotExistErr {self}无{nick}的角色卡记录,无法删除×
  • .strPcCardFull {nick}在{self}处的角色卡已达上限,请先清理多余角色卡×
  • .strPcTempInvalid {self}无法识别的角色卡模板×
  • .strPcNameEmpty 名称不能为空×
  • .strPcNameExist 已存在同名卡×
  • .strPcNameNotExist 该名称不存在×
  • .strPcNameInvalid 非法的人物卡名(存在冒号)×
  • .strPcInitDelErr 初始卡不可删除×
  • .strPcNoteTooLong 备注长度不能超过255×
  • .strPcTextTooLong 文本长度不能超过48×
  • .strSensNote 发现指令中带敏感词,{self}已记录并上报!
  • .strSensWarn 发现指令中带敏感词,{self}拒绝响应且已上报!
  • .strDeckProNew 已新建自定义牌堆√
  • .strDeckProSet 已将{key}设置为默认牌堆√
  • .strDeckProClr 已删除默认牌堆√
  • .strDeckProNull 默认牌堆不存在!
  • .strDeckTmpReset 已重置卡牌√
  • .strDeckTmpShow 当前剩余卡牌:
  • .strDeckTmpEmpty 已无剩余卡牌! //剩余卡牌数为0
  • .strDeckTmpNotFound 不存在剩余卡牌× //没有生成过牌堆
  • .strDeckNameEmpty 未指定牌堆名×
  • .strRollDice {pc}掷骰: {res}
  • .strRollDiceReason {pc}掷骰 {reason}: {res}
  • .strRollHidden {pc}进行了一次暗骰
  • .strRollTurn {pc}的掷骰轮数: {turn}轮
  • .strRollMultiDice {pc}掷骰{turn}次: {dice_exp}={res}
  • .strRollMultiDiceReason {pc}掷骰{turn}次{reason}: {dice_exp}={res}
  • .strRollSkill {pc}进行{attr}检定:
  • .strRollSkillReason 由于{reason} {pc}进行{attr}检定:
  • .strEnRoll {pc}的{attr}增强或成长检定:\n{res} //{attr}在用户省略技能名后替换为{strEnDefaultName}
  • .strEnRollNotChange {strEnRoll}\n{pc}的{attr}值没有变化
  • .strEnRollFailure {strEnRoll}\n{pc}的{attr}变化{change}点,当前为{final}点
  • .strEnRollSuccess {strEnRoll}\n{pc}的{attr}增加{change}点,当前为{final}点
  • .strEnDefaultName 属性或技能 //默认文本
  • .strEnValEmpty 未对{self}设定待成长属性值,请先.st {attr} 属性值 或查看.help en×
  • .strEnValInvalid {attr}值输入不正确,请输入1-99范围内的整数!
  • .strSendMsg 消息已送出√ //Master定向发送的回执
  • .strSendMasterMsg 消息已发送给Master√ //向Master发送的回执
  • .strSendMsgEmpty 发送消息内容为空×
  • .strSendMsgInvalid 没有可以发送的对象× //没有Master
  • .strDefaultCOCClr 默认检定房规已清除√
  • .strDefaultCOCNotFound 默认检定房规不存在×
  • .strDefaultCOCSet 默认检定房规已设置:
  • .strLinkLoss 时空连接已断开√
  • .strLinked 已创建时空门√
  • .strLinkWarning 尝试创建时空门,但不保证能否连通
  • .strLinkNotFound 时空门要通向不可名状的地方了×
  • .strNotMaster 你不是{self}的master!你想做什么?
  • .strNotAdmin 你不是{self}的管理员×
  • .strDismiss //.dismiss退群前的回执
  • .strHlpSet 已为{key}设置词条√
  • .strHlpReset 已清除{key}的词条,重启应用后重置默认词条√
  • .strHlpNameEmpty Master想要自定义什么词条呀?
  • .strClockToWork {self}已按时启用√
  • .strClockOffWork {self}已按时关闭√
  • .strNameGenerator {pc}的随机名称:{res}
  • .strDrawCard 来看看{pc}抽到了什么:{res}
  • .strHlpNotFound 未找到指定的帮助信息×
  • .strMeOn 成功在这里启用.me命令√
  • .strMeOff 成功在这里禁用.me命令√
  • .strMeOnAlready 在这里.me命令没有被禁用!
  • .strMeOffAlready 在这里.me命令已经被禁用!
  • .strObOn 成功在这里启用旁观模式√
  • .strObOff 成功在这里禁用旁观模式√
  • .strObOnAlready 在这里旁观模式没有被禁用!
  • .strObOffAlready 在这里旁观模式已经被禁用!
  • .strObList 当前的旁观者有:
  • .strObListEmpty 当前暂无旁观者
  • .strObListClr {self}成功删除所有旁观者√
  • .strObEnter {nick}成功加入旁观模式√
  • .strObExit {nick}成功退出旁观模式√
  • .strObEnterAlready {nick}已经处于旁观模式!
  • .strObExitAlready {nick}没有加入旁观模式!
  • .strQQIDEmpty QQ号不能为空×
  • .strGroupIDEmpty 群号不能为空×
  • .strBlackGroup 该群在黑名单中,如有疑问请联系master
  • .strBotOn 成功开启{self}√
  • .strBotOff 成功关闭{self}√
  • .strBotOnAlready {self}已经处于开启状态!
  • .strBotOffAlready {self}已经处于关闭状态!
  • .strFumble 大失败! //多轮检定用,请控制长度
  • .strFailure 失败
  • .strSuccess 成功
  • .strHardSuccess 困难成功
  • .strExtremeSuccess 极难成功
  • .strCriticalSuccess 大成功!
  • .strRollCriticalSuccess 大成功! //一般检定用
  • .strRollExtremeSuccess 极难成功
  • .strRollHardSuccess 困难成功
  • .strRollRegularSuccess 成功
  • .strRollFailure 失败
  • .strRollFumble 大失败!
  • .strNumCannotBeZero 无意义的数目!莫要消遣于我!
  • .strDeckNotFound 没听说过的牌堆名呢……
  • .strDeckEmpty {self}已经一张也不剩了!
  • .strNameNumTooBig 生成数量过多!请输入1-10之间的数字!
  • .strNameNumCannotBeZero 生成数量不能为零!请输入1-10之间的数字!
  • .strSetInvalid 无效的默认骰!请输入1-9999之间的数字!
  • .strSetTooBig 这面数……让我丢个球啊!请输入1-9999之间的数字!
  • .strSetCannotBeZero 默认骰不能为零!请输入1-9999之间的数字!
  • .strCharacterCannotBeZero 人物作成次数不能为零!请输入1-10之间的数字!
  • .strCharacterTooBig 人物作成次数过多!请输入1-10之间的数字!
  • .strCharacterInvalid 人物作成次数无效!请输入1-10之间的数字!
  • .strSanRoll {pc}的San Check:\n{res}
  • .strSanRollRes {strSanRoll}\n{pc}的San值减少{change}点,当前剩余{final}点
  • .strSanCostInvalid SC表达式输入不正确,格式为成功扣San/失败扣San,如1/1d6!
  • .strSanInvalid San值输入不正确,请输入1-99范围内的整数!
  • .strSanEmpty 未设定San值,请先.st san 或查看.help sc×
  • .strSuccessRateErr 这成功率还需要检定吗?
  • .strGroupIDInvalid 无效的群号!
  • .strSendErr 消息发送失败!
  • .strSendSuccess 命令执行成功√
  • .strDisabledErr 命令无法执行:机器人已在此群中被关闭!
  • .strActionEmpty 动作不能为空×
  • .strMEDisabledErr 管理员已在此群中禁用.me命令!
  • .strDisabledMeGlobal 恕不提供.me服务×
  • .strDisabledJrrpGlobal 恕不提供.jrrp服务×
  • .strDisabledDeckGlobal 恕不提供.deck服务×
  • .strDisabledDrawGlobal 恕不提供.draw服务×
  • .strDisabledSendGlobal 恕不提供.send服务×
  • .strHELPDisabledErr 管理员已在此群中禁用.help命令!
  • .strNameDelEmpty {nick}没有设置名称,无法删除!
  • .strValueErr 掷骰表达式输入错误!
  • .strInputErr 命令或掷骰表达式输入错误!
  • .strUnknownErr 发生了未知错误!
  • .strUnableToGetErrorMsg 无法获取错误信息!
  • .strDiceTooBigErr {self}被你扔出的骰子淹没了×
  • .strRequestRetCodeErr 访问服务器时出现错误! HTTP状态码:{error}
  • .strRequestNoResponse 服务器未返回任何信息×
  • .strTypeTooBigErr 哇!让我数数骰子有多少面先~1…2…
  • .strZeroTypeErr 这是…!!时空裂({self}被骰子产生的时空裂缝卷走了)
  • .strAddDiceValErr 你这样要让{self}扔骰子扔到什么时候嘛~(请输入正确的加骰参数:5-10之内的整数)
  • .strZeroDiceErr 咦?我的骰子呢?
  • .strRollTimeExceeded 掷骰轮数超过了最大轮数限制!
  • .strRollTimeErr 异常的掷骰轮数
  • .strObPrivate 你想看什么呀? //此项为私聊中使用.ob时的回执
  • .strDismissPrivate 滚! //此项为私聊中使用.dismiss时的回执
  • .strWelcomePrivate 你在这欢迎谁呢? //此项为私聊中使用.welcome时的回执
  • .strWelcomeMsgClearNotice 已清除本群的入群欢迎词√
  • .strWelcomeMsgClearErr 没有设置入群欢迎词,清除失败×
  • .strWelcomeMsgUpdateNotice {self}已更新本群的入群欢迎词√
  • .strPermissionDeniedErr 非群主或管理员无权命令{self}×
  • .strSelfPermissionErr {self}权限不够无能为力呢× //无群管理员权限时回复
  • .strNameTooLongErr 名称过长×(最多为50英文字符)
  • .strNameClr 已将{nick}的名称删除√
  • .strNameSet 已将{nick}的名称更改为{new_nick}√
  • .strUnknownPropErr 未设定{attr}成功率,请先.st {attr} 技能值 或查看.help rc×
  • .strEmptyWWDiceErr 格式错误:正确格式为.w(w)XaY!其中X≥1,5≤Y≤10
  • .strPropErr 请认真的输入你的属性哦~
  • .strSetPropSuccess 属性设置成功√
  • .strPropCleared 已清空{char}的所有属性√
  • .strRuleReset 已重置默认规则√
  • .strRuleSet 已设置默认规则√
  • .strRuleErr 规则数据获取失败,具体信息:\n
  • .strRulesFailedErr 请求失败,{self}无法连接数据库×
  • .strPropDeleted 已删除{pc}的{attr}√
  • .strPropNotFound 属性{attr}不存在×
  • .strRuleNotFound {self}未找到对应的规则信息×
  • .strProp {pc}的{attr}为{val}
  • .strPropList {nick}的{char}属性列表为:{show}
  • .strStErr 格式错误:请参考.help st获取.st命令的使用方法
  • .strRulesFormatErr 格式错误:正确格式为.rules[规则名称:]规则条目如.rules COC7:力量
  • .strLeaveDiscuss {self}现不支持讨论组服务,即将退出
  • .strLeaveNoPower {self}未获得群管理,即将退群
  • .strLeaveUnused {self}已经在这里被放置{day}天啦,马上就会离开这里了
  • .strGlobalOff {self}休假中,暂停服务×
  • .strPreserve {self}私有私用,勿扰勿怪 //私用模式时回复
  • .strJrrp {nick}今天的人品值是: {res}
  • .strJrrpErr JRRP获取失败! 错误信息: \n{res}
  • .strAddFriendWhiteQQ 尊敬的白名单用户{nick},欢迎使用{self}" //若此项非空,则白名单用户添加好友时会回复此句
  • .strAddFriend
  • 欢迎使用本机器人!
  • [.help协议] 确认服务协议
  • [.help指令] 查看指令列表
  • [.help设定] 确认骰娘设定
  • [.help链接] 查看源码文档
  • 使用服务默认视为同意以下服务协议
  • http://dice.org.cn/UA
  • .strAddGroup
  • 欢迎使用本骰娘!
  • 若需要本骰娘退群,请使用[.dismiss]
  • 输入[.bot on]/[.bot off]可以开关骰子功能
  • (如群内有多个骰子,请在指令后加 空格QQ号)
  • [.help协议] 确认服务协议
  • [.help指令] 查看指令列表
  • [.help设定] 确认骰娘设定
  • [.help链接] 查看源码文档
  • 邀请入群默认视为同意以下服务协议
  • http://dice.org.cn/UA
  • .strBotMsg
  • 使用.help更新 查看本机器人更新内容
  • .strHlpMsg
  • 若需要本骰娘退群,请使用[.dismiss]
  • 输入[.bot on]/[.bot off]可以开关骰子功能
  • (如群内有多个骰子,请在指令后加 空格QQ号)
  • [.help协议] 确认服务协议
  • [.help指令] 查看指令列表
  • [.help设定] 确认骰娘设定
  • [.help链接] 查看源码文档
  • 官方群:754494359
  • 私骰群:192499947

关于多端登录

注意,多端登录仅限CQ Pro使用,CQ Air不能使用此功能

打开 酷 Q 根目录\conf\CQP.cfg

如果里面已经有[Dev]段, 请在其下一行输入 Platform=2

如果里面没有[Dev]段,请在文件最后加入 [Dev] Platform=2

Platform=2 代表采用安卓平板协议 与手机 QQ 和 PCQQ 不冲突 可同时使用

此外 Platform=0 代表默认安卓 QQ 协议 Platform=4 代表企业 QQ(普通账号无法登陆) Platform=5 代表 MacQQ(与 PCQQ 冲突)

关于冻结和群聊无法触发回复

如果骰子QQ为新注册的,建议关闭所有插件,使用CQ挂机静置2-3天,不然有可能在触发回复的一瞬间被冻结

如果新骰娘已经被冻结,那么在解冻后建议不要再登录CQ,用手机登录静置2-3天再尝试使用CQ登录。

如果骰子在搭建完毕后,迁移至云服务器或其他电脑,可能会遭遇异地登陆风险控制,从而导致无法触发群聊回复(私聊可能有反应)。这种情况视IP归属地而定,比如之前就在北京,迁移的新服务器IP也在北京,那么大概率不会触发风控。发现没有回复时,可在 右击CQ-->日志 查看骰娘是否对相关命令有所回复(绿色代表回复),如果有回复却看不见,那就是风控了。这种情况也是静置几天即可

关于丢失回复 - 安全退出酷Q

由于Dice!插件的运行原理无法做到数据实时写入本地文件,所以请务必在关机前先右键点击CQ头像,选择退出。如果直接关闭电脑,将造成Dice!数据丢失

丢失的数据涵盖自定义回执、黑白名单、用户st的数据等

所以务必不要直接退出CQ!!!!

  • 2020-02-29新增特殊案例:有一位骰主新骰作成后,第一次输入的所有回复全部丢失,并且使用上文下载的 CustomMsg.json 也无效。所以我在远程帮他作成的时候发现,全新作成之后,快速重启一下,然后通过发送指令进行回复的自定义,成功生成\DiceData\conf\CustomMsg.json,退出CQ,然后我复制了我骰子生成的此文件过去,结果就可以成功读取和保存了。
  • 猜测原因是骰主电脑问题。我自己电脑无法复现这个bug。

关于!warning信息

以这条warning为例(涉事人QQ已经打马赛克-w-)

  • !warning{
  • "note":"2020-2-20 17:51:25 AAA(0000000000)将狐狐移出了群123456789;入群邀请者:BBB(9876543210)",
  • "time":"2020-2-20 17:51:25",
  • "type":"kick",
  • "DiceMaid":878574812,
  • "fromGroup":123456789,
  • "fromQQ":0000000000,
  • "inviterQQ":9876543210,
  • "masterQQ":1065033193
  • }

其中title为!warning

note 代表事件描述

time 为发生时间

type 为warning类型。目前554为止的warning类型一般为ban(禁言)/kick(踢出)/spam(高频刷屏,一般为20s内刷30条指令)/other(其他,这种类型不会被其他骰娘响应,因为一般为骰主手动拉黑时产生)

556新追加类型local(本地)

DiceMaid 为遭重的骰娘QQ

fromGroup 来源群,若私聊窗口spam类型时则没有此项目

fromQQ 操作人(被拉黑的人)的QQ号

inviterQQ 当触发kick和ban时会对邀请人进行连带责任。(如果当事骰娘没有开启邀请人连坐选项 则此项目不存在,详见上文中关于全局设置部分)

masterQQ 遭重骰娘的Master,解黑按QQ找此位即可

关于多插件时的优先级及回复拦截

使用中,我们可能会给骰娘装很多其他插件

但是由于Dice!的bot off只能控制Dice!插件,并不能控制其他插件。

此时最简单的方法是,使Dice!接管其他插件的回复,使其拦截。

.admin DisabledBlock 1 使用该命令,使Dice!插件拦截其他所有优先级低于它的插件。

那么优先级是什么呢?

右击头像-->应用-->应用管理,选择事件列表

基于酷Q的跑团骰娘搭建指北

然后弹出了优先级调整界面

基于酷Q的跑团骰娘搭建指北

在左上角可以切换不同事件的响应级列表

单击需要修改的插件名,然后在右侧输入数值即可

注意!并不是数值越大优先度越高!

CQ的优先度是数值越低 越优先,最低10000,最高30000,酌情设置

注意:不建议设置成20000

怎么把骰娘挂到服务器上

将骰娘挂在云端服务器上可以保证其24小时运行,且不需要开本地的pc

那么本地已经搭好的骰娘怎么迁移呢?

本节将详细讲述迁移步骤

云服务器推荐

滴滴云:新人活动1核2G1M云服务器68元1年 点击注册领券

腾讯云 :腾讯云十周年,1H2G1M仅售95一年,288三年!

阿里云 :新手助力上云 突发型服务器1核2G1M最低89/年!

(注意!突发型服务器无法长时高负载工作,不适合挂网站及多个骰娘,请务必注意)

购买服务器时,请选择Windows server 2012/2016/2019 系统

个人比较推荐Windows server 2016以上

购买后,进入云服务器提供商的后台,然后获取你服务器的IP信息以及账户及密码信息

以腾讯云为例,进入控制台后,可在左上角的云产品中找到云服务器

基于酷Q的跑团骰娘搭建指北

滴滴云同理:

基于酷Q的跑团骰娘搭建指北

然后找到自己的服务器

基于酷Q的跑团骰娘搭建指北

如果已购买,但是列表里没有,请在上方切换地域

基于酷Q的跑团骰娘搭建指北

如果购买时没有提示你输入实例密码,说明运营商为你生成了一个随机密码

此时你应该修改一个自己能记住的密码,方便你之后在非PC端操作。

在服务器列表最右侧的更多处,选择密码/密钥-->重置密码

按提示重置新密码并牢记

基于酷Q的跑团骰娘搭建指北

然后点击左面的 登录

基于酷Q的跑团骰娘搭建指北

点击 下载RDP文件

基于酷Q的跑团骰娘搭建指北

然后双击该文件,输入你设置的密码,即可登录远程服务器。

如果你使用其他设备(比如:他人电脑、手机等)登录远程桌面,但是没有RDP文件,或者无法运行此文件时,怎么登录服务器呢?

Windows10 为例

你可以在任务栏左下角的搜索框中搜索 远程桌面

基于酷Q的跑团骰娘搭建指北

IP地址在控制台获取,你应该将服务器地址记录在案

基于酷Q的跑团骰娘搭建指北

复制到弹出的界面中

基于酷Q的跑团骰娘搭建指北

在弹出的界面中不要直接输入密码,因为远程服务器的用户名并非你电脑的用户名

应先点击更多选项,选择使用其他账户,然后输入Administrator,然后在下方输入你的密码。

基于酷Q的跑团骰娘搭建指北

至此,远程登录成功。

将CQ目录整体打包

注意!由于在骰娘运行过程中,会自动接收所在群的图片,所以会造成大量的图片缓存。在迁移之前,我们应该把这些缓存清理,以加快迁移速度。

对骰娘发送.system clrimg

此命令会递归删除data\image\文件夹下所有(文件名长度达32的)图片,但保留 被Dice!引用的图片(如welcome)

如无法登录骰娘或不希望登录骰娘,也可以手动删除 data\image\ 下的所有文件(请自行甄别是否有引用到其他插件的图片)

在清理完毕后,将整个CQ目录打包

你可以直接右键单击该文件夹,并用任意压缩软件(7-zip/好压/快压/winrar)将其压缩为 .zip 格式(方便服务器解压缩)

基于酷Q的跑团骰娘搭建指北

也可以进到文件夹内,全选所有,右键-->添加到zip

基于酷Q的跑团骰娘搭建指北

Tips:压缩是为了在传输过程中出现丢包等情况,出于对数据完整性的考虑。

然后右击生成的zip文件,选择 复制

基于酷Q的跑团骰娘搭建指北

然后切换到远程桌面的窗口,在任意空白处右键单击,就能发现已经可以粘贴了。

基于酷Q的跑团骰娘搭建指北

选择 粘贴 ,耐心等待传输完成。

基于酷Q的跑团骰娘搭建指北

然后右键点击传输完成的压缩包,选择全部解压缩

基于酷Q的跑团骰娘搭建指北

在弹出的页面中直接选 提取 ,等待完成

基于酷Q的跑团骰娘搭建指北

提取完成后,会弹出解压缩的文件夹。

基于酷Q的跑团骰娘搭建指北

此时直接运行CQA即可。

至此,迁移完成

--------------------待续--------------------


知名杠精,一窍不通