Bot配置文件
示例
属性描述
- component
固定值:
simbot.qqguild
- ticket
bot用于登录的票据信息,必填。
- appId
String
bot开发配置中的
appID
- secret
String
bot开发配置中的
AppSecret
,4.0.0-beta6
版本开始用于获取API访问所需的access_token
。- token
String
bot开发配置中的
Token
。4.0.0-beta6
版本之前用作API访问所需的 token。
- config
可选项,提供一些额外的可配置属性。
- serverUrl
String
目标服务器地址。默认为
null
。当值为特殊值:
"SANDBOX"
时会选择使用QQGuild.SANDBOX_URL_STRING
, 也就是沙箱服务器地址。配置值
实际值
null
"https://api.sgroup.qq.com"
"SANDBOX"
"https://sandbox.api.sgroup.qq.com"
其他
与配置值一致
- shard
ShardConfig
分片信息配置,默认为
Full
。根据
type
值的不同,可使用不同的属性。- type='full'
无额外属性,代表一个全量单片。
{ "type": "full" }- type='simple'
- { "type": "simple", "value": 0, "total": 1 }
- value
对应的分片信息属性。
- total
对应的分片信息属性。
- intents
IntentsConfig?
要订阅的事件的 intents 信息。默认
1073741827
, 也就是订阅:频道相关事件
频道成员相关事件
公域消息相关事件
{ "config": { "intents": { "type": "raw", "intents": 1073741827 } } }根据
type
的不同可选的属性不同。GUILDS (1 << 0) - GUILD_CREATE // 当机器人加入新guild时 - GUILD_UPDATE // 当guild资料发生变更时 - GUILD_DELETE // 当机器人退出guild时 - CHANNEL_CREATE // 当channel被创建时 - CHANNEL_UPDATE // 当channel被更新时 - CHANNEL_DELETE // 当channel被删除时 GUILD_MEMBERS (1 << 1) - GUILD_MEMBER_ADD // 当成员加入时 - GUILD_MEMBER_UPDATE // 当成员资料变更时 - GUILD_MEMBER_REMOVE // 当成员被移除时 GUILD_MESSAGES (1 << 9) // 消息事件,仅 *私域* 机器人能够设置此 intents。 - MESSAGE_CREATE // 发送消息事件,代表频道内的全部消息,而不只是 at 机器人的消息。 // 内容与 AT_MESSAGE_CREATE 相同 - MESSAGE_DELETE // 删除(撤回)消息事件 GUILD_MESSAGE_REACTIONS (1 << 10) - MESSAGE_REACTION_ADD // 为消息添加表情表态 - MESSAGE_REACTION_REMOVE // 为消息删除表情表态 DIRECT_MESSAGE (1 << 12) - DIRECT_MESSAGE_CREATE // 当收到用户发给机器人的私信消息时 - DIRECT_MESSAGE_DELETE // 删除(撤回)消息事件 GROUP_AND_C2C_EVENT (1 << 25) - C2C_MESSAGE_CREATE // 用户单聊发消息给机器人时候 - FRIEND_ADD // 用户添加使用机器人 - FRIEND_DEL // 用户删除机器人 - C2C_MSG_REJECT // 用户在机器人资料卡手动关闭"主动消息"推送 - C2C_MSG_RECEIVE // 用户在机器人资料卡手动开启"主动消息"推送开关 - GROUP_AT_MESSAGE_CREATE // 用户在群里@机器人时收到的消息 - GROUP_ADD_ROBOT // 机器人被添加到群聊 - GROUP_DEL_ROBOT // 机器人被移出群聊 - GROUP_MSG_REJECT // 群管理员主动在机器人资料页操作关闭通知 - GROUP_MSG_RECEIVE // 群管理员主动在机器人资料页操作开启通知 INTERACTION (1 << 26) - INTERACTION_CREATE // 互动事件创建时 MESSAGE_AUDIT (1 << 27) - MESSAGE_AUDIT_PASS // 消息审核通过 - MESSAGE_AUDIT_REJECT // 消息审核不通过 FORUMS_EVENT (1 << 28) // 论坛事件,仅 *私域* 机器人能够设置此 intents。 - FORUM_THREAD_CREATE // 当用户创建主题时 - FORUM_THREAD_UPDATE // 当用户更新主题时 - FORUM_THREAD_DELETE // 当用户删除主题时 - FORUM_POST_CREATE // 当用户创建帖子时 - FORUM_POST_DELETE // 当用户删除帖子时 - FORUM_REPLY_CREATE // 当用户回复评论时 - FORUM_REPLY_DELETE // 当用户回复评论时 - FORUM_PUBLISH_AUDIT_RESULT // 当用户发表审核通过时 AUDIO_ACTION (1 << 29) - AUDIO_START // 音频开始播放时 - AUDIO_FINISH // 音频播放结束时 - AUDIO_ON_MIC // 上麦时 - AUDIO_OFF_MIC // 下麦时 PUBLIC_GUILD_MESSAGES (1 << 30) // 消息事件,此为公域的消息事件 - AT_MESSAGE_CREATE // 当收到@机器人的消息时 - PUBLIC_MESSAGE_DELETE // 当频道的消息被删除时- type='raw'
直接使用
intents
原始的标记位最终数值。所有的事件对应的位值信息可前往参考 官方文档。
{ "type": "raw", "intents": 1073741824 }- type='nameBased'
通过名称寻找所有可用的
EventIntents
并合并为最终的intents
。 名称基于继承了EventIntents
的 object 的简单名称,例如Guilds
。名称支持开头大写或小写的驼峰,例如
Guilds
,guilds
, 或者全大写或全小写的snake(下划线)格式,例如PUBLIC_GUILD_MESSAGES
,public_guild_messages
。虽然支持的格式比较宽松,但名称匹配仍然是区分大小写的, 比如一个混用大小写的snake格式就是不允许的:
public_GUILD_messages
❌。{ "type": "nameBased", "names": ["Guilds", "PublicGuildMessages"] }再举个例子,如果你想要订阅频道事件和群聊消息事件:
{ "type": "nameBased", "names": ["Guilds", "PublicGuildMessages", "GROUP_AND_C2C_EVENT"] }- type='bitBased'
通过
intents
的位索引值来配置intents
的结果。{ "type": "bitBased", "bits": [0, 1, 30] }上面的
0, 1, 30
即代表订阅1<<0 | 1<<1 | 1<<30
。bits
的元素值应当在 0 ~ 31 之内,但是代码内不做校验。
- clientProperties
Map<String, String>?
用作
Signal.Identify.Data.properties
中的参数。{ "config": { "clientProperties": { "k1": "v1", "foo": "bar" } } }- timeout
TimeoutConfig?
与部分超时相关的配置信息。 当任意属性不为
null
时会为 bot 中用于请求API的HttpClient
配置 HttpTimeout 插件。默认为
null
。- apiHttpRequestTimeoutMillis
Long?
API请求中的超时请求配置。参考 HttpTimeout 中的相关说明。
默认为
null
。- apiHttpConnectTimeoutMillis
Long?
API请求中的超时请求配置。参考 HttpTimeout 中的相关说明。
默认为
null
。- apiHttpSocketTimeoutMillis
Long?
API请求中的超时请求配置。参考 HttpTimeout 中的相关说明。
默认为
null
。
- cache
CacheConfig?
缓存相关配置。
{ "config": { "cache": { "transmit": { "enable": true } } } }有关
transmit
的详细描述, 请参考TransmitCacheConfig
的文档注释或 API Doc。- disableWs
Boolean
是否禁用ws的连接。如果为
true
, 则启动bot时不会创建 websocket 连接。默认为
false
。{ "config": { "disableWs": false } }