{"_id":"@tencent-connect/qqbot-connector","_rev":"6-a23c3668706734dd8d3cefc9945fc119","name":"@tencent-connect/qqbot-connector","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@tencent-connect/qqbot-connector","version":"1.0.0","author":"","license":"MIT","_id":"@tencent-connect/qqbot-connector@1.0.0","maintainers":[{"name":"uv-w","email":"9837438@qq.com"},{"name":"vnues","email":"1518190293@qq.com"},{"name":"zuosh","email":"13366589984@163.com"},{"name":"joyqwang","email":"645153050@qq.com"},{"name":"tencentconnectqqbot","email":"tencentconnectqqbot@gmail.com"},{"name":"ryanlee-gemini","email":"ryanlee.gemini@gmail.com"}],"dist":{"shasum":"46e54f546dd409447eb575f0dd40addebee733bf","tarball":"https://registry.npmjs.org/@tencent-connect/qqbot-connector/-/qqbot-connector-1.0.0.tgz","fileCount":8,"integrity":"sha512-pqIEflyI88298IZAP/uS9GEeBsegCAe8D/DWi+hKL/JRJcfHh/XiyAfVhQ0OWzJgdYNHlw9mGDfbfQBiRIx4mg==","signatures":[{"sig":"MEYCIQDhGLy9fxGnUTo+8P2sywjYPKdTWMN2ZEuEGmoHh4suPwIhALx+9hgxCwg8o9mHGH+QvZJCdKoEQ8fsNbK2www50BIi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19512},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"fadcf65e698586c940f58173f355e486cc155fe0","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -b","prepack":"npm run build","posttest":"npm run lint","typecheck":"tsc --noEmit","commitlint":"commitlint","test:watch":"vitest","test:coverage":"vitest run --coverage","semantic-release":"semantic-release","ci:prepare-test-pkg":"node scripts/prepare-test-pkg.js"},"_npmUser":{"name":"tencentconnectqqbot","email":"tencentconnectqqbot@gmail.com"},"_npmVersion":"11.11.0","description":"QQ Bot Connector SDK - 扫码连接 QQ 机器人,获取 AppID 与 AppSecret","directories":{},"_nodeVersion":"24.14.1","dependencies":{"qrcode-terminal":"^0.12"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.1.0","vitest":"^4.1.2","globals":"^17.4.0","@eslint/js":"^10.0.1","typescript":"^5","@types/node":"^22","@commitlint/cli":"^20.5.0","semantic-release":"^25.0.3","typescript-eslint":"^8.57.2","@vitest/coverage-v8":"^4.1.2","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^20.5.0"},"_npmOperationalInternal":{"tmp":"tmp/qqbot-connector_1.0.0_1776252563257_0.12185094727380186","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@tencent-connect/qqbot-connector","version":"1.0.1","author":"","license":"MIT","_id":"@tencent-connect/qqbot-connector@1.0.1","maintainers":[{"name":"uv-w","email":"9837438@qq.com"},{"name":"vnues","email":"1518190293@qq.com"},{"name":"zuosh","email":"13366589984@163.com"},{"name":"joyqwang","email":"645153050@qq.com"},{"name":"tencentconnectqqbot","email":"tencentconnectqqbot@gmail.com"},{"name":"ryanlee-gemini","email":"ryanlee.gemini@gmail.com"}],"dist":{"shasum":"7ba76d6f4b4314b9996bd28f91092a2bc5dfe235","tarball":"https://registry.npmjs.org/@tencent-connect/qqbot-connector/-/qqbot-connector-1.0.1.tgz","fileCount":8,"integrity":"sha512-w+TdH+hvtcohAPADzE7ajgwbvWnI4ZhR+38YJXn1XCis9pW6CM+apaEtPaCGgaA4hjvWvL8ksg6+CMpuu+vlkw==","signatures":[{"sig":"MEUCICscqy3z4wkOaOc2LFOKxsYRKuiLYg2TH8akm99KqYVWAiEA4COe1EmElVZ9RIj7G9jGBtwhs0przuw3gha3H91mReA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13515},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a4115b8ef83b6e682b22698a2a8f2a6563acd9fd","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -b && node scripts/obfuscate.js","prepack":"npm run build","posttest":"npm run lint","typecheck":"tsc --noEmit","commitlint":"commitlint","test:watch":"vitest","test:coverage":"vitest run --coverage","semantic-release":"semantic-release","ci:prepare-test-pkg":"node scripts/prepare-test-pkg.js"},"_npmUser":{"name":"tencentconnectqqbot","email":"tencentconnectqqbot@gmail.com"},"_npmVersion":"11.11.0","description":"QQ Bot Connector SDK - 扫码连接 QQ 机器人,获取 AppID 与 AppSecret","directories":{},"_nodeVersion":"24.14.1","dependencies":{"qrcode-terminal":"^0.12"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.1.0","vitest":"^4.1.2","esbuild":"^0.28.0","globals":"^17.4.0","@eslint/js":"^10.0.1","typescript":"^5","@types/node":"^22","@commitlint/cli":"^20.5.0","semantic-release":"^25.0.3","typescript-eslint":"^8.57.2","@vitest/coverage-v8":"^4.1.2","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^20.5.0"},"_npmOperationalInternal":{"tmp":"tmp/qqbot-connector_1.0.1_1776253210648_0.8905015248055248","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@tencent-connect/qqbot-connector","version":"1.0.2","author":"","license":"UNLICENSED","_id":"@tencent-connect/qqbot-connector@1.0.2","maintainers":[{"name":"uv-w","email":"9837438@qq.com"},{"name":"vnues","email":"1518190293@qq.com"},{"name":"zuosh","email":"13366589984@163.com"},{"name":"joyqwang","email":"645153050@qq.com"},{"name":"tencentconnectqqbot","email":"tencentconnectqqbot@gmail.com"},{"name":"ryanlee-gemini","email":"ryanlee.gemini@gmail.com"}],"dist":{"shasum":"1c828879f0d6766d65f153dfa3aeb5ff42152857","tarball":"https://registry.npmjs.org/@tencent-connect/qqbot-connector/-/qqbot-connector-1.0.2.tgz","fileCount":8,"integrity":"sha512-3Mj09VvmOYkJ4n0VTFwMbNPG+JU3KVthnlyY1OaTu3HnzsdKsRMwo8BHlp5Z/fWNoCo4kuZvdIHqmw/4mCHAIw==","signatures":[{"sig":"MEQCIEeEnXaQWqwq7nCIRusLRm4ZWaGEOcRGVPwDHBzah4/oAiAy04zXbxFQ2mx7sjYyIdPzYuUCxCQoZ7AoffaGEtcmHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13380},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"265340a697e08fb4ae7c783bfb008d90969177ab","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -b && node scripts/obfuscate.js","prepack":"npm run build","posttest":"npm run lint","typecheck":"tsc --noEmit","commitlint":"commitlint","test:watch":"vitest","test:coverage":"vitest run --coverage","semantic-release":"semantic-release","ci:prepare-test-pkg":"node scripts/prepare-test-pkg.js"},"_npmUser":{"name":"tencentconnectqqbot","email":"tencentconnectqqbot@gmail.com"},"_npmVersion":"11.11.0","description":"QQ Bot Connector SDK - 扫码连接 QQ 机器人,获取 AppID 与 AppSecret","directories":{},"_nodeVersion":"24.14.1","dependencies":{"qrcode-terminal":"^0.12"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.1.0","vitest":"^4.1.2","esbuild":"^0.28.0","globals":"^17.4.0","@eslint/js":"^10.0.1","typescript":"^5","@types/node":"^22","@commitlint/cli":"^20.5.0","semantic-release":"^25.0.3","typescript-eslint":"^8.57.2","@vitest/coverage-v8":"^4.1.2","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^20.5.0"},"_npmOperationalInternal":{"tmp":"tmp/qqbot-connector_1.0.2_1776253622043_0.6579384594384405","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@tencent-connect/qqbot-connector","version":"1.0.3","author":"","license":"UNLICENSED","_id":"@tencent-connect/qqbot-connector@1.0.3","maintainers":[{"name":"uv-w","email":"9837438@qq.com"},{"name":"vnues","email":"1518190293@qq.com"},{"name":"zuosh","email":"13366589984@163.com"},{"name":"joyqwang","email":"645153050@qq.com"},{"name":"tencentconnectqqbot","email":"tencentconnectqqbot@gmail.com"},{"name":"ryanlee-gemini","email":"ryanlee.gemini@gmail.com"}],"dist":{"shasum":"d1ad0b9e4cdeef04520fb8979e291a069f70ba24","tarball":"https://registry.npmjs.org/@tencent-connect/qqbot-connector/-/qqbot-connector-1.0.3.tgz","fileCount":8,"integrity":"sha512-hf8SIBTB8l4cxmJaBONiJD/4WMcIfGFV06faSsmoLgmV2BQm/QT39OBFT/FtnB+C3PtqsooHuxvsg5ZV987aSA==","signatures":[{"sig":"MEUCIQC2f5PO9GHR91wnhD0YdZvXqfzzyUAmFfNhgSqjyGZ/mwIgY+sw7aG41xQH5tdyQkOjAs8wAO4MjmDx5AwlS6q9GZg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14760},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"bb8120bddc414728e4bd33cb7dc6e31db0d8e1a0","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -b && node scripts/obfuscate.js","prepack":"npm run build","posttest":"npm run lint","typecheck":"tsc --noEmit","commitlint":"commitlint","test:watch":"vitest","test:coverage":"vitest run --coverage","semantic-release":"semantic-release","ci:prepare-test-pkg":"node scripts/prepare-test-pkg.js"},"_npmUser":{"name":"tencentconnectqqbot","email":"tencentconnectqqbot@gmail.com"},"_npmVersion":"11.11.0","description":"QQ Bot Connector SDK - 扫码连接 QQ 机器人,获取 AppID 与 AppSecret","directories":{},"_nodeVersion":"24.14.1","dependencies":{"qrcode-terminal":"^0.12"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.1.0","vitest":"^4.1.2","esbuild":"^0.28.0","globals":"^17.4.0","@eslint/js":"^10.0.1","typescript":"^5","@types/node":"^22","@commitlint/cli":"^20.5.0","semantic-release":"^25.0.3","typescript-eslint":"^8.57.2","@vitest/coverage-v8":"^4.1.2","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^20.5.0"},"_npmOperationalInternal":{"tmp":"tmp/qqbot-connector_1.0.3_1776254561884_0.529149447426688","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@tencent-connect/qqbot-connector","version":"1.0.4","author":"","license":"UNLICENSED","_id":"@tencent-connect/qqbot-connector@1.0.4","maintainers":[{"name":"uv-w","email":"9837438@qq.com"},{"name":"vnues","email":"1518190293@qq.com"},{"name":"zuosh","email":"13366589984@163.com"},{"name":"joyqwang","email":"645153050@qq.com"},{"name":"tencentconnectqqbot","email":"tencentconnectqqbot@gmail.com"},{"name":"ryanlee-gemini","email":"ryanlee.gemini@gmail.com"}],"dist":{"shasum":"71b1cb500b6493b2b82305ea8f5333895049c6dc","tarball":"https://registry.npmjs.org/@tencent-connect/qqbot-connector/-/qqbot-connector-1.0.4.tgz","fileCount":8,"integrity":"sha512-rYZLGPmLmAMyX+J72JAsI1TvfM728ZzcQ7OKqtIubVLnZOmKtFnIFsDPVU3OrHa5cltoyXDchmGE0moiffFWjA==","signatures":[{"sig":"MEUCIQDrYTmjrXtjUVsWXywLu3/DkVUFp53Ia41/HTqaD24T/gIgFAaKdHI4B4jqbz+gxDCIureBDy4FBzeFLC0HS7W3yx0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14639},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"385c9fc0b1162fdfc9ec0a450765aaad4bc6dc59","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -b && node scripts/obfuscate.js","prepack":"npm run build","posttest":"npm run lint","typecheck":"tsc --noEmit","commitlint":"commitlint","test:watch":"vitest","test:coverage":"vitest run --coverage","semantic-release":"semantic-release","ci:prepare-test-pkg":"node scripts/prepare-test-pkg.js"},"_npmUser":{"name":"tencentconnectqqbot","email":"tencentconnectqqbot@gmail.com"},"_npmVersion":"11.11.0","description":"QQ Bot Connector SDK - 扫码连接 QQ 机器人,获取 AppID 与 AppSecret","directories":{},"_nodeVersion":"24.14.1","dependencies":{"qrcode-terminal":"^0.12"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.1.0","vitest":"^4.1.2","esbuild":"^0.28.0","globals":"^17.4.0","@eslint/js":"^10.0.1","typescript":"^5","@types/node":"^22","@commitlint/cli":"^20.5.0","semantic-release":"^25.0.3","typescript-eslint":"^8.57.2","@vitest/coverage-v8":"^4.1.2","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^20.5.0"},"_npmOperationalInternal":{"tmp":"tmp/qqbot-connector_1.0.4_1776255210134_0.05282583225554971","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@tencent-connect/qqbot-connector","version":"1.1.0","description":"QQ Bot Connector SDK - 扫码连接 QQ 机器人,获取 AppID 与 AppSecret","publishConfig":{"access":"public"},"license":"UNLICENSED","author":"","type":"module","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/esm/index.d.ts","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"build":"tsc -b && tsc -p tsconfig.cjs.json && node scripts/fix-cjs.js && node scripts/obfuscate.js","typecheck":"tsc --noEmit","commitlint":"commitlint","prepack":"npm run build","posttest":"npm run lint","lint":"eslint .","ci:prepare-test-pkg":"node scripts/prepare-test-pkg.js","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","semantic-release":"semantic-release"},"dependencies":{"qrcode-terminal":"^0.12"},"devDependencies":{"@commitlint/cli":"^20.5.0","@commitlint/config-conventional":"^20.5.0","@eslint/js":"^10.0.1","@semantic-release/changelog":"^6.0.3","@semantic-release/exec":"^7.1.0","@semantic-release/git":"^10.0.1","@types/node":"^22","@types/qrcode-terminal":"^0.12.2","@vitest/coverage-v8":"^4.1.2","esbuild":"^0.28.0","eslint":"^10.1.0","globals":"^17.4.0","semantic-release":"^25.0.3","typescript":"^5","typescript-eslint":"^8.57.2","vitest":"^4.1.2"},"engines":{"node":">=18.0.0"},"gitHead":"37f5596215cba02dcd8abf35856efe3ed3e24f56","_id":"@tencent-connect/qqbot-connector@1.1.0","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-3nQ2mdyzPRKpBHjd3QiKZDwNzw1F7fBN+rSq8Xms2gg+JWZR4SY2Zdf+doqTyXdyVjG4Y0QM7IA4U42zT9xxzw==","shasum":"b388937d36d70d96d56a3d61d1b5e37415e891fb","tarball":"https://registry.npmjs.org/@tencent-connect/qqbot-connector/-/qqbot-connector-1.1.0.tgz","fileCount":14,"unpackedSize":23991,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGUr0zXsR40IQk5WLqq+LBmQn6x4orVuqEFRVtRuNe5KAiEAqKW8aAuR554HWJ16g/EJOrFK/NJoRpzq6gM1mRD50o4="}]},"_npmUser":{"name":"tencentconnectqqbot","email":"tencentconnectqqbot@gmail.com"},"directories":{},"maintainers":[{"name":"uv-w","email":"9837438@qq.com"},{"name":"vnues","email":"1518190293@qq.com"},{"name":"zuosh","email":"13366589984@163.com"},{"name":"joyqwang","email":"645153050@qq.com"},{"name":"tencentconnectqqbot","email":"tencentconnectqqbot@gmail.com"},{"name":"ryanlee-gemini","email":"ryanlee.gemini@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/qqbot-connector_1.1.0_1776255875446_0.38756876755370273"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-15T11:29:23.157Z","modified":"2026-04-15T12:24:35.737Z","1.0.0":"2026-04-15T11:29:23.385Z","1.0.1":"2026-04-15T11:40:10.788Z","1.0.2":"2026-04-15T11:47:02.195Z","1.0.3":"2026-04-15T12:02:42.031Z","1.0.4":"2026-04-15T12:13:30.280Z","1.1.0":"2026-04-15T12:24:35.585Z"},"license":"UNLICENSED","description":"QQ Bot Connector SDK - 扫码连接 QQ 机器人,获取 AppID 与 AppSecret","maintainers":[{"name":"uv-w","email":"9837438@qq.com"},{"name":"vnues","email":"1518190293@qq.com"},{"name":"zuosh","email":"13366589984@163.com"},{"name":"joyqwang","email":"645153050@qq.com"},{"name":"tencentconnectqqbot","email":"tencentconnectqqbot@gmail.com"},{"name":"ryanlee-gemini","email":"ryanlee.gemini@gmail.com"}],"readme":"# QQBot Connector\n\n[![npm version](https://img.shields.io/npm/v/@tencent-connect/qqbot-connector.svg)](https://www.npmjs.com/package/@tencent-connect/qqbot-connector)\n\nQQ 机器人扫码连接 SDK,在控制台展示二维码,用户使用手机 QQ 扫码后自动获取机器人的 AppID 与 AppSecret。\n\n默认情况下扫码页面会将接入方统一显示为\"第三方机器人\"。如需在扫码页面展示你的平台名称,或有其他商务合作需求,请通过邮件与我们联系:qq_bot_api@tencent.com。\n\n## 系统要求\n\n- Node.js >= 18.0.0\n\n## 安装\n\n```bash\nnpm install @tencent-connect/qqbot-connector\n```\n\n## 快速开始\n\n### Promise 风格\n\n始终在控制台打印二维码,扫码后返回凭据:\n\n```ts\nimport { qrConnect } from '@tencent-connect/qqbot-connector';\n\ntry {\n const [{ appId, appSecret }] = await qrConnect();\n console.log('绑定成功!');\n console.log('AppID:', appId);\n console.log('AppSecret:', appSecret);\n} catch (err) {\n console.error('绑定失败:', err.message);\n}\n```\n\n### 回调风格\n\n通过 `displayQrCodeToConsole` 控制是否在控制台打印二维码,`onQrDisplayed` 始终会在轮询开始前回调二维码 URL:\n\n```ts\nimport { startQrConnect } from '@tencent-connect/qqbot-connector';\n\n// 不打印二维码到控制台,通过 onQrDisplayed 自行处理 URL\nconst stop = startQrConnect({\n onSuccess([{ appId, appSecret }]) {\n console.log('绑定成功!');\n console.log('AppID:', appId);\n console.log('AppSecret:', appSecret);\n },\n onFailure(err) {\n console.error('绑定失败:', err.message);\n },\n onQrDisplayed(url) {\n // 始终回调,可自行生成二维码图片、发送给用户等\n console.log('二维码链接:', url);\n },\n onQrExpired() {\n console.log('二维码已过期,正在刷新…');\n },\n}, {\n displayQrCodeToConsole: false,\n});\n\n// 需要取消时调用 stop()\n// stop();\n```\n\n## API\n\n### `qrConnect(options?): Promise`\n\n在控制台展示二维码并等待扫码,返回 Promise。\n\n此模式下始终在控制台打印二维码(`displayQrCodeToConsole` 固定为 `true`,不可关闭)。如需自行处理二维码 URL 而不打印,请使用回调风格的 `startQrConnect`。\n\n**参数:**\n\n| 名称 | 类型 | 默认值 | 说明 |\n|------|------|--------|------|\n| `options.source` | `string` | `''` | 接入平台标识,留空则显示为\"第三方机器人\" |\n| `options.signal` | `AbortSignal` | — | 外部取消信号 |\n\n**返回值:**\n\n```ts\ninterface QrConnectCredentials {\n appId: string;\n appSecret: string;\n}\n```\n\n> **注意:** 绑定成功后返回的凭据类型是 `QrConnectCredentials[]` 数组。目前扫码仅支持绑定单个 QQ 机器人(数组长度为 1),未来可能会拓展支持同时绑定多个 QQ 机器人,建议业务侧提前做好对数组的遍历处理,以便后续平滑升级。\n\n### `startQrConnect(callbacks, options?): () => void`\n\n轮询等待扫码结果(回调风格)。返回一个 `stop` 函数,调用后可中止流程。\n\n二维码过期后会自动刷新并重新轮询,直到用户扫码成功或主动取消。无论 `displayQrCodeToConsole` 为何值,`onQrDisplayed` 都会在轮询开始前回调二维码 URL,供业务自行展示。\n\n**callbacks:**\n\n| 名称 | 类型 | 说明 |\n|------|------|------|\n| `onSuccess` | `(credentials: QrConnectCredentials[]) => void` | 扫码成功回调 |\n| `onFailure` | `(error: Error) => void` | 失败或取消回调 |\n| `onQrDisplayed?` | `(url: string) => void` | 二维码 URL 就绪,轮询开始前始终触发 |\n| `onQrExpired?` | `() => void` | 二维码已过期,即将刷新(可选) |\n\n**options:**\n\n| 名称 | 类型 | 默认值 | 说明 |\n|------|------|--------|------|\n| `options.displayQrCodeToConsole` | `boolean` | `true` | 是否在控制台打印二维码 |\n| `options.source` | `string` | `''` | 接入平台标识,留空则显示为\"第三方机器人\" |\n| `options.signal` | `AbortSignal` | — | 外部取消信号 |\n\n### 取消支持\n\n两种取消方式:\n\n```ts\n// 方式一:使用返回的 stop 函数\nconst stop = startQrConnect({ ... });\nstop();\n\n// 方式二:使用 AbortController\nconst ac = new AbortController();\nqrConnect({ signal: ac.signal }).catch(console.error);\nac.abort();\n```\n\n## 协助与反馈\n\n如在使用过程中遇到问题,欢迎前往以下地址查阅已有议题或提交新问题:\n\nhttps://github.com/tencent-connect/openclaw-qqbot/issues\n","readmeFilename":"README.md"}