{"_id":"dingtalk-stream-sdk-nodejs","_rev":"3014788","name":"dingtalk-stream-sdk-nodejs","description":"Nodejs SDK for DingTalk Stream Mode API, Compared with the webhook mode, it is easier to access the DingTalk","dist-tags":{"latest":"2.0.4"},"maintainers":[{"name":"chzealot","email":""},{"name":"junlong.hjl","email":""},{"name":"opendingtalk","email":""},{"name":"paseo","email":""},{"name":"wulv","email":"wulv@live.cn"}],"time":{"modified":"2023-09-27T09:03:59.000Z","created":"2023-05-24T04:13:00.953Z","2.0.4":"2023-09-18T16:43:44.622Z","2.0.3":"2023-09-18T14:02:17.862Z","2.0.2":"2023-09-18T12:33:24.021Z","2.0.1":"2023-08-31T03:09:09.466Z","2.0.0":"2023-08-22T09:33:36.222Z","1.0.1":"2023-05-26T01:47:59.645Z","1.0.0":"2023-05-24T04:13:00.953Z"},"users":{},"author":{"name":"junlong.hjl@alibaba-inc.com"},"repository":{"type":"git","url":"git+https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs.git"},"versions":{"2.0.4":{"name":"dingtalk-stream-sdk-nodejs","version":"2.0.4","description":"Nodejs SDK for DingTalk Stream Mode API, Compared with the webhook mode, it is easier to access the DingTalk","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","type":"module","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"},"./client":{"types":"./dist/client.d.ts","require":"./dist/client.cjs","import":"./dist/client.mjs"},"./constants":{"types":"./dist/constants.d.ts","require":"./dist/constants.cjs","import":"./dist/constants.mjs"},"./*":"./*"},"scripts":{"start":"ts-node-esm example/index.ts","build":"rimraf dist && rollup -c","dev":"rollup -c --watch --watch.include 'src/**' -m inline","prepublishOnly":"pnpm build","typecheck":"tsc --noEmit"},"repository":{"type":"git","url":"git+https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs.git"},"keywords":["DingTalk Stream Mode","Nodejs","SDK"],"author":{"name":"junlong.hjl@alibaba-inc.com"},"license":"MIT","bugs":{"url":"https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs/issues"},"homepage":"https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs#readme","dependencies":{"axios":"^1.4.0","debug":"^4.3.4","ws":"^8.13.0"},"devDependencies":{"@rollup/plugin-alias":"^5.0.0","@rollup/plugin-commonjs":"^25.0.4","@rollup/plugin-json":"^6.0.0","@rollup/plugin-node-resolve":"^15.2.0","@types/debug":"^4.1.8","@types/node":">=16","@types/ws":"^8.5.5","rimraf":"^5.0.1","rollup":"^3.28.0","rollup-plugin-dts":"^6.0.0","rollup-plugin-esbuild":"^5.0.0","ts-node":"^10.9.1","typescript":"^5.1.6","vite":"^4.4.9"},"gitHead":"c6d8bd770e0b69255b3e71a0541a049179c8f409","_id":"dingtalk-stream-sdk-nodejs@2.0.4","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"shasum":"c1dadf2f50edb92b12b88e46345c952c7c27ced6","size":6718,"noattachment":false,"key":"/dingtalk-stream-sdk-nodejs/-/dingtalk-stream-sdk-nodejs-2.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/dingtalk-stream-sdk-nodejs/download/dingtalk-stream-sdk-nodejs-2.0.4.tgz"},"_npmUser":{"name":"opendingtalk","email":"dingtalk-open@service.dingtalk.com"},"directories":{},"maintainers":[{"name":"chzealot","email":""},{"name":"junlong.hjl","email":""},{"name":"opendingtalk","email":""},{"name":"paseo","email":""},{"name":"wulv","email":"wulv@live.cn"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dingtalk-stream-sdk-nodejs_2.0.4_1695055424388_0.38165819954634994"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-09-18T16:43:44.622Z","publish_time":1695055424622,"_source_registry_name":"default","_cnpm_publish_time":1695055424622},"2.0.3":{"name":"dingtalk-stream-sdk-nodejs","version":"2.0.3","description":"Nodejs SDK for DingTalk Stream Mode API, Compared with the webhook mode, it is easier to access the DingTalk","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","type":"module","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"},"./client":{"types":"./dist/client.d.ts","require":"./dist/client.cjs","import":"./dist/client.mjs"},"./constants":{"types":"./dist/constants.d.ts","require":"./dist/constants.cjs","import":"./dist/constants.mjs"},"./*":"./*"},"scripts":{"start":"ts-node-esm example/index.ts","build":"rimraf dist && rollup -c","dev":"rollup -c --watch --watch.include 'src/**' -m inline","prepublishOnly":"pnpm build","typecheck":"tsc --noEmit"},"repository":{"type":"git","url":"git+https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs.git"},"keywords":["DingTalk Stream Mode","Nodejs","SDK"],"author":{"name":"junlong.hjl@alibaba-inc.com"},"license":"MIT","bugs":{"url":"https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs/issues"},"homepage":"https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs#readme","dependencies":{"axios":"^1.4.0","debug":"^4.3.4","ws":"^8.13.0"},"devDependencies":{"@rollup/plugin-alias":"^5.0.0","@rollup/plugin-commonjs":"^25.0.4","@rollup/plugin-json":"^6.0.0","@rollup/plugin-node-resolve":"^15.2.0","@types/debug":"^4.1.8","@types/node":">=16","@types/ws":"^8.5.5","rimraf":"^5.0.1","rollup":"^3.28.0","rollup-plugin-dts":"^6.0.0","rollup-plugin-esbuild":"^5.0.0","ts-node":"^10.9.1","typescript":"^5.1.6","vite":"^4.4.9"},"gitHead":"bc6270716a71b61fed7a9c1434056f0ab3994344","_id":"dingtalk-stream-sdk-nodejs@2.0.3","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"shasum":"cb5fa202a457d8922cfb30df13a045de4529b04b","size":6713,"noattachment":false,"key":"/dingtalk-stream-sdk-nodejs/-/dingtalk-stream-sdk-nodejs-2.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/dingtalk-stream-sdk-nodejs/download/dingtalk-stream-sdk-nodejs-2.0.3.tgz"},"_npmUser":{"name":"opendingtalk","email":"dingtalk-open@service.dingtalk.com"},"directories":{},"maintainers":[{"name":"chzealot","email":""},{"name":"junlong.hjl","email":""},{"name":"opendingtalk","email":""},{"name":"paseo","email":""},{"name":"wulv","email":"wulv@live.cn"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dingtalk-stream-sdk-nodejs_2.0.3_1695045737668_0.5192110937880696"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-09-18T14:02:17.862Z","publish_time":1695045737862,"_source_registry_name":"default","_cnpm_publish_time":1695045737862},"2.0.2":{"name":"dingtalk-stream-sdk-nodejs","version":"2.0.2","description":"Nodejs SDK for DingTalk Stream Mode API, Compared with the webhook mode, it is easier to access the DingTalk","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","type":"module","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"},"./client":{"types":"./dist/client.d.ts","require":"./dist/client.cjs","import":"./dist/client.mjs"},"./constants":{"types":"./dist/constants.d.ts","require":"./dist/constants.cjs","import":"./dist/constants.mjs"},"./*":"./*"},"scripts":{"start":"ts-node-esm example/index.ts","build":"rimraf dist && rollup -c","dev":"rollup -c --watch --watch.include 'src/**' -m inline","prepublishOnly":"pnpm build","typecheck":"tsc --noEmit"},"repository":{"type":"git","url":"git+https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs.git"},"keywords":["DingTalk Stream Mode","Nodejs","SDK"],"author":{"name":"junlong.hjl@alibaba-inc.com"},"license":"MIT","bugs":{"url":"https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs/issues"},"homepage":"https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs#readme","dependencies":{"axios":"^1.4.0","debug":"^4.3.4","ws":"^8.13.0"},"devDependencies":{"@rollup/plugin-alias":"^5.0.0","@rollup/plugin-commonjs":"^25.0.4","@rollup/plugin-json":"^6.0.0","@rollup/plugin-node-resolve":"^15.2.0","@types/debug":"^4.1.8","@types/node":">=16","@types/ws":"^8.5.5","rimraf":"^5.0.1","rollup":"^3.28.0","rollup-plugin-dts":"^6.0.0","rollup-plugin-esbuild":"^5.0.0","ts-node":"^10.9.1","typescript":"^5.1.6","vite":"^4.4.9"},"gitHead":"6afcdf2628298217d9164d964dd4169a13e0df84","_id":"dingtalk-stream-sdk-nodejs@2.0.2","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"shasum":"0f824b719d66228ac5da1a7da6d8f10de408ed14","size":6679,"noattachment":false,"key":"/dingtalk-stream-sdk-nodejs/-/dingtalk-stream-sdk-nodejs-2.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/dingtalk-stream-sdk-nodejs/download/dingtalk-stream-sdk-nodejs-2.0.2.tgz"},"_npmUser":{"name":"opendingtalk","email":"dingtalk-open@service.dingtalk.com"},"directories":{},"maintainers":[{"name":"chzealot","email":""},{"name":"junlong.hjl","email":""},{"name":"opendingtalk","email":""},{"name":"paseo","email":""},{"name":"wulv","email":"wulv@live.cn"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dingtalk-stream-sdk-nodejs_2.0.2_1695040403803_0.37401682268840974"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-09-18T12:33:24.021Z","publish_time":1695040404021,"_source_registry_name":"default","_cnpm_publish_time":1695040404021},"2.0.1":{"name":"dingtalk-stream-sdk-nodejs","version":"2.0.1","description":"Nodejs SDK for DingTalk Stream Mode API, Compared with the webhook mode, it is easier to access the DingTalk","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","type":"module","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"},"./client":{"types":"./dist/client.d.ts","require":"./dist/client.cjs","import":"./dist/client.mjs"},"./constants":{"types":"./dist/constants.d.ts","require":"./dist/constants.cjs","import":"./dist/constants.mjs"},"./*":"./*"},"scripts":{"start":"ts-node-esm example/index.ts","build":"rimraf dist && rollup -c","dev":"rollup -c --watch --watch.include 'src/**' -m inline","prepublishOnly":"pnpm build","typecheck":"tsc --noEmit"},"repository":{"type":"git","url":"git+https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs.git"},"keywords":["DingTalk Stream Mode","Nodejs","SDK"],"author":{"name":"junlong.hjl@alibaba-inc.com"},"license":"MIT","bugs":{"url":"https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs/issues"},"homepage":"https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs#readme","dependencies":{"axios":"^1.4.0","debug":"^4.3.4","ws":"^8.13.0"},"devDependencies":{"@rollup/plugin-alias":"^5.0.0","@rollup/plugin-commonjs":"^25.0.4","@rollup/plugin-json":"^6.0.0","@rollup/plugin-node-resolve":"^15.2.0","@types/debug":"^4.1.8","@types/node":">=16","@types/ws":"^8.5.5","rimraf":"^5.0.1","rollup":"^3.28.0","rollup-plugin-dts":"^6.0.0","rollup-plugin-esbuild":"^5.0.0","ts-node":"^10.9.1","typescript":"^5.1.6","vite":"^4.4.9"},"gitHead":"f22b4d30409d602fc27e0b5f3db4793322badb12","_id":"dingtalk-stream-sdk-nodejs@2.0.1","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"shasum":"59b32cafdc3c072ebc1221670989240d822348dd","size":6401,"noattachment":false,"key":"/dingtalk-stream-sdk-nodejs/-/dingtalk-stream-sdk-nodejs-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/dingtalk-stream-sdk-nodejs/download/dingtalk-stream-sdk-nodejs-2.0.1.tgz"},"_npmUser":{"name":"paseo","email":"vularr@qq.com"},"directories":{},"maintainers":[{"name":"chzealot","email":""},{"name":"junlong.hjl","email":""},{"name":"opendingtalk","email":""},{"name":"paseo","email":""},{"name":"wulv","email":"wulv@live.cn"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dingtalk-stream-sdk-nodejs_2.0.1_1693451349247_0.8275100249260987"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-31T03:09:09.466Z","publish_time":1693451349466,"_source_registry_name":"default","_cnpm_publish_time":1693451349466},"2.0.0":{"name":"dingtalk-stream-sdk-nodejs","version":"2.0.0","description":"Nodejs SDK for DingTalk Stream Mode API, Compared with the webhook mode, it is easier to access the DingTalk","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","type":"module","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"},"./client":{"types":"./dist/client.d.ts","require":"./dist/client.cjs","import":"./dist/client.mjs"},"./constants":{"types":"./dist/constants.d.ts","require":"./dist/constants.cjs","import":"./dist/constants.mjs"},"./*":"./*"},"scripts":{"start":"node example/index.js","build":"rimraf dist && rollup -c","dev":"rollup -c --watch --watch.include 'src/**' -m inline","prepublishOnly":"pnpm build","typecheck":"tsc --noEmit"},"repository":{"type":"git","url":"git+https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs.git"},"keywords":["DingTalk Stream Mode","Nodejs","SDK"],"author":{"name":"junlong.hjl@alibaba-inc.com"},"license":"MIT","bugs":{"url":"https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs/issues"},"homepage":"https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs#readme","dependencies":{"axios":"^1.4.0","debug":"^4.3.4","ws":"^8.13.0"},"devDependencies":{"@rollup/plugin-alias":"^5.0.0","@rollup/plugin-commonjs":"^25.0.4","@rollup/plugin-json":"^6.0.0","@rollup/plugin-node-resolve":"^15.2.0","@types/debug":"^4.1.8","@types/node":">=16","@types/ws":"^8.5.5","rimraf":"^5.0.1","rollup":"^3.28.0","rollup-plugin-dts":"^6.0.0","rollup-plugin-esbuild":"^5.0.0","typescript":"^5.1.6","vite":"^4.4.9"},"gitHead":"4a7b9a608a993831866f11cc6ec40531dbf079ce","_id":"dingtalk-stream-sdk-nodejs@2.0.0","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"shasum":"bad6cc67ef720ec11721a04e64c078d84ce789c2","size":6244,"noattachment":false,"key":"/dingtalk-stream-sdk-nodejs/-/dingtalk-stream-sdk-nodejs-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dingtalk-stream-sdk-nodejs/download/dingtalk-stream-sdk-nodejs-2.0.0.tgz"},"_npmUser":{"name":"junlong.hjl","email":"junlong.hjl@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"chzealot","email":""},{"name":"junlong.hjl","email":""},{"name":"opendingtalk","email":""},{"name":"paseo","email":""},{"name":"wulv","email":"wulv@live.cn"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dingtalk-stream-sdk-nodejs_2.0.0_1692696816014_0.6576872950762596"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-22T09:33:36.222Z","publish_time":1692696816222,"_source_registry_name":"default","_cnpm_publish_time":1692696816222},"1.0.1":{"name":"dingtalk-stream-sdk-nodejs","version":"1.0.1","description":"Nodejs SDK for DingTalk Stream Mode API, Compared with the webhook mode, it is easier to access the DingTalk","main":"index.js","scripts":{"start":"node example/index.js","test":"test"},"repository":{"type":"git","url":"git+https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs.git"},"keywords":["DingTalk Stream Mode","Nodejs","SDK"],"author":{"name":"junlong.hjl@alibaba-inc.com"},"license":"MIT","bugs":{"url":"https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs/issues"},"homepage":"https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs#readme","dependencies":{"ws":"^8.13.0"},"gitHead":"51289918a3fb54de271a58a5218801092940a1f3","_id":"dingtalk-stream-sdk-nodejs@1.0.1","_nodeVersion":"18.16.0","_npmVersion":"9.6.7","dist":{"shasum":"9722791d0005f2bfe4900d6cbf722b8b8f5e69c4","size":7546,"noattachment":false,"key":"/dingtalk-stream-sdk-nodejs/-/dingtalk-stream-sdk-nodejs-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/dingtalk-stream-sdk-nodejs/download/dingtalk-stream-sdk-nodejs-1.0.1.tgz"},"_npmUser":{"name":"junlong.hjl","email":"junlong.hjl@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"chzealot","email":""},{"name":"junlong.hjl","email":""},{"name":"opendingtalk","email":""},{"name":"paseo","email":""},{"name":"wulv","email":"wulv@live.cn"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dingtalk-stream-sdk-nodejs_1.0.1_1685065679484_0.5965606372688279"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-05-26T01:47:59.645Z","publish_time":1685065679645,"_source_registry_name":"default","_cnpm_publish_time":1685065679645},"1.0.0":{"name":"dingtalk-stream-sdk-nodejs","version":"1.0.0","description":"Nodejs SDK for DingTalk Stream Mode API, Compared with the webhook mode, it is easier to access the DingTalk","main":"index.js","scripts":{"start":"node example/index.js","test":"test"},"repository":{"type":"git","url":"git+https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs.git"},"keywords":["DingTalk Stream Mode","Nodejs","SDK"],"author":{"name":"junlong.hjl@alibaba-inc.com"},"license":"MIT","bugs":{"url":"https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs/issues"},"homepage":"https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs#readme","dependencies":{"@midwayjs/core":"3.7.0","ws":"^8.13.0"},"gitHead":"83775ae4e8288c34c90133be840ed5c125ecb67f","_id":"dingtalk-stream-sdk-nodejs@1.0.0","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"shasum":"f3e828fdb57933b1aae247809d318accd9b09031","size":6524,"noattachment":false,"key":"/dingtalk-stream-sdk-nodejs/-/dingtalk-stream-sdk-nodejs-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dingtalk-stream-sdk-nodejs/download/dingtalk-stream-sdk-nodejs-1.0.0.tgz"},"_npmUser":{"name":"junlong.hjl","email":"junlong.hjl@alibaba-inc.com"},"directories":{},"maintainers":[{"name":"chzealot","email":""},{"name":"junlong.hjl","email":""},{"name":"opendingtalk","email":""},{"name":"paseo","email":""},{"name":"wulv","email":"wulv@live.cn"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dingtalk-stream-sdk-nodejs_1.0.0_1684901580807_0.7331078670723552"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-05-24T04:13:00.953Z","publish_time":1684901580953,"_source_registry_name":"default","_cnpm_publish_time":1684901580953}},"readme":"# dingtalk-stream-sdk-nodejs\nNodejs SDK for DingTalk Stream Mode API, Compared with the webhook mode, it is easier to access the DingTalk chatbot\n钉钉支持 Stream 模式接入事件推送、机器人收消息以及卡片回调，该 SDK 实现了 Stream 模式。相比 Webhook 模式，Stream 模式可以更简单的接入各类事件和回调。\n\n## 快速开始\n\n### 准备工作\n\n* Nodejs 开发环境，https://midwayjs.org/docs/how_to_install_nodejs\n* 需要Node version >= 18.17.1\n* 钉钉开发者账号，具备创建企业内部应用的权限，详见[成为钉钉开发者](https://open.dingtalk.com/document/orgapp/become-a-dingtalk-developer)\n\n### 快速开始指南\n\n1、创建企业内部应用\n\n进入[钉钉开发者后台](https://open-dev.dingtalk.com/)，创建企业内部应用，获取ClientID（即 AppKey）和ClientSecret（ 即AppSecret）。\n\n发布应用：在开发者后台左侧导航中，点击“版本管理与发布”，点击“确认发布”，并在接下来的可见范围设置中，选择“全部员工”，或者按需选择部分员工。\n\n\n2、Stream 模式的机器人（可选）\n\n如果不需要使用机器人功能的话，可以不用创建。\n\n在应用管理的左侧导航中，选择“消息推送”，打开机器人能力，设置机器人基本信息。\n\n注意：消息接收模式中，选择 “Stream 模式”\n\n![Stream 模式](https://img.alicdn.com/imgextra/i3/O1CN01XL4piO1lkYX2F6sW6_!!6000000004857-0-tps-896-522.jpg)\n\n点击“点击调试”按钮，可以创建测试群进行测试。\n\n3、使用demo项目测试，启动服务：\n\na、获取demo项目 \n```Shell\n git clone git@github.com:open-dingtalk/dingtalk-stream-sdk-nodejs.git\n```\nb、在example/config.json里配置应用信息。\n\nc、启动测试case\n```Shell\ncd dingtalk-stream-sdk-nodejs\nyarn\nnpm run build\nnpm start\n```\n\n4、在项目中引用sdk，安装 dingtalk-stream-sdk-nodejs\n\n```Shell\nnpm i dingtalk-stream-sdk-nodejs\n```\n\n代码中使用\n```javascript\nconst DWClient = require(\"dingtalk-stream-sdk-nodejs\");\nconst config = require(\"./config.json\");\n\nconst client = new DWClient({\n  clientId: config.clientId,\n  clientSecret: config.clientSecret,\n});\nclient.registerCallbackListener('/v1.0/im/bot/messages/get', async (res) => {\n    // 注册机器人回调事件\n    console.log(\"收到消息\");\n    const {messageId} = res.headers;\n    const { text, senderStaffId, sessionWebhook } = JSON.parse(res.data);\n  })\n  .connect();\n```\n\n### 事件订阅切换到 Stream 模式（可选）\n\n进入钉钉开发者后台，选择企业内部应用，在应用管理的左侧导航中，选择“事件与回调”。\n“订阅管理”中，“推送方式”选项中，选择 “Stream 模式”，并保存\n\n\n### 技术支持\n\n[点击链接，加入Stream模式共创群交流](https://open-dingtalk.github.io/developerpedia/docs/explore/support/?via=moon-group)\n","_attachments":{},"homepage":"https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs#readme","bugs":{"url":"https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs/issues"},"license":"MIT"}