Skip to content

用多个账号运营同一套业务 ​

适合这样的团队:要同时接多个平台、在同一平台上用多个账号,或者把测试号和正式号分开。目标是业务代码只写一份,每个账号各自连接、出问题时能单独定位。

先分清两个词 ​

  • 适配器(Adapter):一个平台的接入插件,比如 icqq、slack。
  • Endpoint:Bot 在平台上登录的一个具体账号或连接。一个适配器下可以有多个 Endpoint。

命令、组件、中间件属于你的插件,所有 Endpoint 共用一份,不会每个账号复制一份,也不直接调用平台的私有 SDK。

实施步骤 ​

  1. 在 Sandbox 里验证命令和回复内容。
  2. 运行 npx zhin setup --adapters,为每个要接的平台安装适配器。
  3. 在适配器配置的 endpoints 下为每个账号写一项;账号密钥只放环境变量。
  4. 启动后,在 Console 的“聊天账号”里用每个 Endpoint 各发一条测试消息。
  5. 在“运行时能力”查看每个 Endpoint 支持的操作(operations)。同一适配器的不同连接方式能力可能不同,不要假定都一样。
  6. 出问题时在“日志”按级别和 Endpoint 筛选,在“工作台”确认 Host 与消息推送是否正常。

配置写法示例见 多平台社区 Bot。

验收清单 ​

  • 停掉任意一个 Endpoint,其他账号不受影响。
  • 同一条命令在 Sandbox 和真实平台上得到相同的业务结果。
  • 平台不支持撤回、表情回应等操作时,界面会自动隐藏或降级,而不是去调用私有 SDK。
  • 生产环境的 HTTP Host 设置了 token;平台密钥不出现在代码仓库或 Console Demo 中。

下一步 ​