github.com/Mrs4s/go-cqhttp@v1.2.0/docs/config.md (about)

     1  # 配置
     2  
     3  > 注意, 最新文档已经移动到 [go-cqhttp-docs](https://github.com/ishkong/go-cqhttp-docs), 当前文档只做兼容性保留, 所以内容可能有不足.
     4  
     5  go-cqhttp 包含 `config.yml` 和 `device.json` 两个配置文件, 其中 `config.yml` 为运行配置 `device.json` 为虚拟设备信息.
     6  
     7  ## 配置信息
     8  
     9  go-cqhttp 的配置文件采用 YAML , 在使用之前希望你能了解 YAML 的语法([教程](https://www.runoob.com/w3cnote/yaml-intro.html))
    10  
    11  默认生成的配置文件如下所示:
    12  
    13  ````yaml
    14  # go-cqhttp 默认配置文件
    15  
    16  account: # 账号相关
    17    uin: 1233456 # QQ账号
    18    password: '' # 密码为空时使用扫码登录
    19    encrypt: false  # 是否开启密码加密
    20    status: 0      # 在线状态 请参考 https://docs.go-cqhttp.org/guide/config.html#在线状态
    21    relogin: # 重连设置
    22      delay: 3   # 首次重连延迟, 单位秒
    23      interval: 3   # 重连间隔
    24      max-times: 0  # 最大重连次数, 0为无限制
    25  
    26    # 是否使用服务器下发的新地址进行重连
    27    # 注意, 此设置可能导致在海外服务器上连接情况更差
    28    use-sso-address: true
    29  
    30  heartbeat:
    31    # 心跳频率, 单位秒
    32    # -1 为关闭心跳
    33    interval: 5
    34  
    35  message:
    36    # 上报数据类型
    37    # 可选: string,array
    38    post-format: string
    39    # 是否忽略无效的CQ码, 如果为假将原样发送
    40    ignore-invalid-cqcode: false
    41    # 是否强制分片发送消息
    42    # 分片发送将会带来更快的速度
    43    # 但是兼容性会有些问题
    44    force-fragment: false
    45    # 是否将url分片发送
    46    fix-url: false
    47    # 下载图片等请求网络代理
    48    proxy-rewrite: ''
    49    # 是否上报自身消息
    50    report-self-message: false
    51    # 移除服务端的Reply附带的At
    52    remove-reply-at: false
    53    # 为Reply附加更多信息
    54    extra-reply-data: false
    55    # 跳过 Mime 扫描, 忽略错误数据
    56    skip-mime-scan: false
    57  
    58  output:
    59    # 日志等级 trace,debug,info,warn,error
    60    log-level: warn
    61    # 日志时效 单位天. 超过这个时间之前的日志将会被自动删除. 设置为 0 表示永久保留.
    62    log-aging: 15
    63    # 是否在每次启动时强制创建全新的文件储存日志. 为 false 的情况下将会在上次启动时创建的日志文件续写
    64    log-force-new: true
    65    # 是否启用 DEBUG
    66    debug: false # 开启调试模式
    67  
    68  # 默认中间件锚点
    69  default-middlewares: &default
    70    # 访问密钥, 强烈推荐在公网的服务器设置
    71    access-token: ''
    72    # 事件过滤器文件目录
    73    filter: ''
    74    # API限速设置
    75    # 该设置为全局生效
    76    # 原 cqhttp 虽然启用了 rate_limit 后缀, 但是基本没插件适配
    77    # 目前该限速设置为令牌桶算法, 请参考:
    78    # https://baike.baidu.com/item/%E4%BB%A4%E7%89%8C%E6%A1%B6%E7%AE%97%E6%B3%95/6597000?fr=aladdin
    79    rate-limit:
    80      enabled: false # 是否启用限速
    81      frequency: 1  # 令牌回复频率, 单位秒
    82      bucket: 1     # 令牌桶大小
    83  
    84  # 连接服务列表
    85  servers:
    86    # HTTP 通信设置
    87    - http:
    88        # 服务端监听地址
    89        # 如需指定监听ipv4, 可使用 `address: tcp4://0.0.0.0:5700` (ipv6同理)
    90        address: 0.0.0.0:5700
    91        # 反向HTTP超时时间, 单位秒
    92        # 最小值为5,小于5将会忽略本项设置
    93        timeout: 5
    94        middlewares:
    95          <<: *default # 引用默认中间件
    96        # 反向HTTP POST地址列表
    97        post:
    98        #- url: '' # 地址
    99        #  secret: ''           # 密钥
   100        #- url: 127.0.0.1:5701 # 地址
   101        #  secret: ''          # 密钥
   102  
   103    # 正向WS设置
   104    - ws:
   105        # 正向WS服务器监听地址
   106        # 如需指定监听ipv4, 可使用 `address: tcp4://0.0.0.0:6700` (ipv6同理)
   107        address: 0.0.0.0:6700
   108        middlewares:
   109          <<: *default # 引用默认中间件
   110  
   111    - ws-reverse:
   112        # 反向WS Universal 地址
   113        # 注意 设置了此项地址后下面两项将会被忽略
   114        universal: ws://your_websocket_universal.server
   115        # 反向WS API 地址
   116        api: ws://your_websocket_api.server
   117        # 反向WS Event 地址
   118        event: ws://your_websocket_event.server
   119        # 重连间隔 单位毫秒
   120        reconnect-interval: 3000
   121        middlewares:
   122          <<: *default # 引用默认中间件
   123    # pprof 性能分析服务器, 一般情况下不需要启用.
   124    # 如果遇到性能问题请上传报告给开发者处理
   125    # 注意: pprof服务不支持中间件、不支持鉴权. 请不要开放到公网
   126    - pprof:
   127        # pprof服务器监听地址
   128        host: 127.0.0.1
   129        # pprof服务器监听端口
   130        port: 7700
   131        
   132    # LambdaServer 配置
   133    - lambda:
   134        type: scf # 可用 scf,aws (aws未经过测试)
   135        middlewares:
   136          <<: *default # 引用默认中间件
   137  
   138    # 可添加更多
   139    #- ws-reverse:
   140    #- ws:
   141    #- http:
   142  
   143  database: # 数据库相关设置
   144    leveldb:
   145      # 是否启用内置leveldb数据库
   146      # 启用将会增加10-20MB的内存占用和一定的磁盘空间
   147      # 关闭将无法使用 撤回 回复 get_msg 等上下文相关功能
   148      enable: true
   149  ````
   150  
   151  > 注1: 开启密码加密后程序将在每次启动时要求输入解密密钥, 密钥错误会导致登录时提示密码错误.
   152  > 解密后密码的哈希将储存在内存中,用于自动重连等功能. 所以此加密并不能防止内存读取.
   153  > 解密密钥在使用完成后并不会留存在内存中, 所以可用相对简单的字符串作为密钥
   154  
   155  > 注2: 对于不需要的通信方式,你可以使用注释将其停用(推荐),或者添加配置 `disabled: true` 将其关闭
   156  
   157  > 注3: 分片发送为原酷Q发送长消息的老方案, 发送速度更优/兼容性更好,但在有发言频率限制的群里,可能无法发送。关闭后将优先使用新方案, 能发送更长的消息, 但发送速度更慢,在部分老客户端将无法解析.
   158  
   159  > 注4:关闭心跳服务可能引起断线,请谨慎关闭
   160  
   161  > 注5:关于MIME扫描, 详见[MIME](file.md#MIME)
   162  
   163  ### 环境变量
   164  
   165  go-cqhttp 配置文件可以使用占位符来读取**环境变量**的值。
   166  
   167  ```yaml
   168  account: # 账号相关
   169    uin: ${CQ_UIN} # 读取环境变量 CQ_UIN
   170    password: ${CQ_PWD:123456} # 当 CQ_PWD 为空时使用默认值 123456
   171  ```
   172  
   173  ## 在线状态
   174  
   175  | 状态 | 值 |
   176  | -----|----|
   177  | 在线  |  0 |
   178  | 离开 | 1 |
   179  | 隐身 | 2 |
   180  | 忙 | 3 |
   181  | 听歌中 | 4 |
   182  | 星座运势 | 5 |
   183  | 今日天气 | 6 |
   184  | 遇见春天 | 7 |
   185  | Timi中 | 8 |
   186  | 吃鸡中 | 9 |
   187  | 恋爱中 | 10 |
   188  | 汪汪汪 | 11 |
   189  | 干饭中 | 12 |
   190  | 学习中 | 13 |
   191  | 熬夜中 | 14 |
   192  | 打球中 | 15 |
   193  | 信号弱 | 16 |
   194  | 在线学习 | 17 |
   195  | 游戏中 | 18 |
   196  | 度假中 | 19 |
   197  | 追剧中 | 20 |
   198  | 健身中 | 21 |
   199  
   200  ## 设备信息
   201  
   202  默认生成的设备信息如下所示:
   203  
   204  ``` json
   205  {
   206  	"protocol": 0,
   207  	"display": "xxx",
   208  	"finger_print": "xxx",
   209  	"boot_id": "xxx",
   210  	"proc_version": "xxx",
   211  	"imei": "xxx"
   212  }
   213  ```
   214  
   215  在大部分情况下 我们只需要关心 `protocol` 字段:
   216  
   217  | 值  | 类型          | 限制                                                             |
   218  | --- | ------------- | ---------------------------------------------------------------- |
   219  | 0   | iPad          | 无                                                               |
   220  | 1   | Android Phone | 无                                                               |
   221  | 2   | Android Watch | 无法接收 `notify` 事件、无法接收口令红包、无法接收撤回消息            |
   222  | 3   | MacOS         | 无                                                               |
   223  | 4   | 企点           | 只能登录企点账号或企点子账号                                        |
   224  
   225  > 注意, 根据协议的不同, 各类消息有所限制
   226  
   227  ## 自定义服务器IP
   228  
   229  > 某些海外服务器使用默认地址可能会存在链路问题,此功能可以指定 go-cqhttp 连接哪些地址以达到最优化.
   230  
   231  将文件 `address.txt` 创建到 `go-cqhttp` 工作目录, 并键入 `IP:PORT` 以换行符为分割即可.
   232  
   233  示例:
   234  
   235  ````
   236  1.1.1.1:53
   237  1.1.2.2:8899
   238  ````
   239  
   240  ## 云函数部署
   241  
   242  使用CustomRuntime进行部署, bootstrap 文件在 `scripts/bootstrap` 中已给出。
   243  在部署前,请在本地完成登录,并将 `config.yml` , `device.json` ,`bootstrap` 和 `go-cqhttp`
   244  一起打包。
   245  
   246  在触发器中创建一个API网关触发器,并启用集成响应,创建完成后即可通过api网关访问go-cqhttp(建议配置 AccessToken)。
   247  
   248  > scripts/bootstrap 中使用的工作路径为 /tmp, 这个目录最大能容下500M文件, 如需长期使用,
   249  > 请挂载文件存储(CFS).