Skip to content

内置适配器(adapter-icqq)

icqq由来

在介绍该适配器之前,我想先让你了解一下什么是 icqq,相信知道 QQ NodeJS 机器人生态的都知道 oicq,他是由takayama-lily 大佬维护的 qq 机器人的 SDK。奈何近一年来,大佬似乎琐事缠身,没空更新了,我们便自发开始维护起来,而 icqq 就是所有维护分支中的其中之一,他在保留原有 oicq api 的同时增加了频道加精/取消加精群消息的 API,并优化了登录流程(createClient 不再传 uin,在 login 时才传递),更改了底层发布订阅的 EventEmitter为TripTrap,使得使用过滤器监听事件得以实现。

adapter-icqq的优势

adapter-icqq 则是能让你直接在 zhin 中登录使用 icqq 登录个人账号,来作为 qq 机器人的适配器,它不像 go-cqhhtpmiral-go 那样,需要你重新启动一个进程而是和 zhin使用同一个进程工作,并且,你可以使用 zhin 去调用 icqq 底层的api,来实现更多功能。

说了这么多,那怎么配置呢?

接入到zhin

  • adapter-icqq作为内置适配器,接入到zhin十分的简单
  • 你只需要在配置文件zhin.yamladapters中增加如下配置,即可接入一个qq账号:
yaml

adapters:
  icqq: # 指定使用icqq适配器
    bots: 
      - self_id: 147258369 # 机器人账号
        platform: 5 # 指定qq登录平台为iPad(可不配置  1:安卓  2:安卓平板  3:手表  4:苹果电脑  5:苹果平板)
        password: 123456789 # 机器人密码
        ver: 0 # 指定登录协议版本(可不配置,默认取签名支持的最新版本)
        sign_api_addr: 'zhin' # 签名接口地址
        [...]: '' # 其他icqq配置
  • 其中 self_id 对应icqq 的 uin,作为一个机器人的唯一标识
  • platform 代表你要登录的平台,默认为 1

关于签名

  • 由于 qq 版本升级,现在登录需要签名,而 icqq 也提供了签名的接口,你可以 开源项目 qsign 自行搭建签名服务,也使用他人提供的签名服务,只需要在配置文件中配置 sign_api_addr 即可。
  • 需要注意的是,当使用 qsign 自行部署时,请确保 sign_api_addr 中必须携带 ?key=${KEY} (${KEY} 替换为你qsign配置中的key),否则将无法正常使用。

TIP

具体更多的配置,请参考 icqq 的Config

完成配置后,重启 zhin,将自动开始启动 icqq,当遇到验证时,内置的 login 插件,将提供命令行辅助你完成登录的功能。