HRobot 支持配置文件,配置文件在 mcl/config/com.happysnaker.HRobot/config.json 中,您可以手动创建配置文件,不过建议您运行一次 mcl.cmd,这会自动生产配置文件 config.json,如下是配置文件的模板,请注意对于 QQ 号或群号请务必用单引号 ‘’ 表示,否则可能会被程序识别为一个整数,我们建议对于任何字符串,都使用单引号以避免歧义:
# 成员输入 帮助 或 help 或菜单后机器人回复的消息
menu: '欢迎使用 HRobotv3.1,请前往 https://github.com/happysnaker/mirai-plugin-HRobot 查看相关信息'
# 指明机器人生效的群,include 和 exclude 只能配置一个而置另一个为空
# include 表示机器人只在这些群内生效
# exclude 表示机器人在除这些群外的所有群内生效
# 若都为空则表示对所有群生效
include:
exclude:
- '群号1'
- '群号2'
# 配置超级管理员与管理员
# 超级管理员只有一个,并在第一项给出,管理员可有多个
administrator:
- '超级管理员 QQ 号'
- '管理员QQ号'
- '管理员QQ号'
# 配置群管理员,群管理员的配置通常只在其所在群内生效
groupAdministrator:
- '群管理员QQ号'
- '群管理员QQ号'
# 配置坎公管理员,管理坎公相关信息
gtAdministrator:
- '坎公管理员QQ号'
- '坎公管理员QQ号'
# 指定调用网络 API 的超时时间,单位毫秒
timeout: 3000
# 指定命令前缀,允许为空
commandPrefix: '#'
# 聊天是否需要 @ 机器人,如果此字段为 false,则任意一条消息机器人都回回复,建议为 true
enableAt: true
# 自动审批配置
# 当验证消息为空时则会默认同意
autoApproval:
- 'QQ 群号': '审批验证消息'
- 'QQ 群号': ''
# 是否开启涩图,可关闭涩图防止被封
colorSwitch: true
# 涩图撤回时间,单位为秒
pictureWithdrawalTime: 30
# 对机器人的回复替代
replyReplace:
- '菲菲': '欧尼酱' # 将回复语句中的菲菲替代为欧尼酱
- '猛男': '漂亮妹妹'
# 开启敏感词检测的群
enableSensitiveWordDetection:
- '群号'
- '群号'
# 敏感词检测是是否需要忽略一些无意义的词,例如假设 艹尼玛 为敏感词 艹&&&&&尼玛 其中的 & 为无意义的词,建议开启
skipIsMeaninglessWord: true
# 检测跳步,例如 艹天尼玛,中间跳一了一步(”天“),开启后将对跳步自动检测
# 不建议设置过大,否则很容易误判,建议设置小于等于 3
skipStep: 2
# 撤回阈值,当检测到多少个敏感词后机器人会警告成员并撤回成员消息
withdrawalThreshold: 1
# 坎公配置,需要配置群号对应的 cookie,其中 members 是可选项,如果不配置 members,在催刀时默认会将所有群成员作为公会成员
gtConfig:
- groupId: '群号1'
gtCookie: 'cookie1'
members:
- '成员1'
- '成员2'
- groupId: '群号2'
gtCookie: 'cookie2'
- groupId: '' # 当群号为空时,代表 cookie 对所有群生效,匹配时会自上向下检测
gtCookie: 'cookie3'
# 发送鸡汤时有一定概率生成毒鸡汤,在这里配置概率,这是一个 [0, 1] 之间的小数
duChickenSoupProbability: 0.2
# 俄罗斯轮盘赌配置,当必中或者必不中时游戏结束
russianRoulette:
totalNum: 6 # 总的弹夹数
realNum: 1 # 其中的真弹数,真弹数不得超过总弹数
# 奖励或惩罚最小基数(为积分系统做准备),实际奖惩积分数会根据实际概率进行调整,但大多总会落在 [base, 2*base] 区间内(不是绝对的)
# 注意如果一名玩家中枪,那么他会将本轮游戏全部获益积分全部亏损进去
base: 100
# 自定义关键字配置,支持群内关键字和全局关键字,群内关键字只在群内生效,关键字会有优先匹配群内关键字
# 群内关键字以群号作为关键字,嵌套一层 map,如下所示
customKeyword:
'全局关键字': '全局关键字回复'
'#regex#全局正则表达式': '回复'
'群号':
'群内关键字': '群内关键字回复'
# 群内关键词实例,如下 牛批 只在 903025723 群内生效
'903025723':
'牛批': '[mirai:face:317][mirai:face:317][mirai:face:317]'
# 定时任务配置
# 注意由配置文件配置的定时任务不会被立即提交,因为在这一时刻机器人可能还未登录,因此你必须在机器人登录后在任意群内发送一条任意消息以触发初始化事件。在命令行中看到定时任务提交成功后才算提交成功
periodicTask:
- groupId: '777147915' # 定时任务发送消息的群
hour: 13 # 配置时间
minute: 15 # 配置时间
count: 0 # 一共持续几次,0 代表无限循环
content: |- # 发布的内容,|- 是 yaml 的语法。这允许字符串换行
你好呀!我很喜欢你
爱你噢
image: true # 是否在消息末尾附加一张随机美图
# 上述任务表示在每日的 13 点 15 分 向群 777147915 发送一条消息,消息末尾包含一张美图
# 请注意定时任务无法中途取消,除非你强制性停止机器人