node-nim 9.10.0 → 9.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,126 +1,169 @@
1
- # NetEase IM Node.js addon wrapper
2
-
3
- [![codecov](https://codecov.io/gh/netease-im/node-nim/branch/master/graph/badge.svg?token=YUP8T7ZG6U)](https://codecov.io/gh/netease-im/node-nim) [![GitHub all releases](https://img.shields.io/github/downloads/netease-im/node-nim/total)](https://github.com/netease-im/node-nim/releases)
4
-
5
- ## Table of Contents
6
-
7
- - [NetEase IM Node.js addon wrapper](#netease-im-nodejs-addon-wrapper)
8
- - [Table of Contents](#table-of-contents)
9
- - [Introduction](#introduction)
10
- - [Installation](#installation)
11
- - [Build From Source](#build-from-source)
12
- - [Unit Test](#unit-test)
13
- - [Sample Code](#sample-code)
14
- - [Quick Start](#quick-start)
15
-
16
- ## Introduction
17
-
18
- node-nim is a wrapper of [NetEase IM](https://netease.im/).
19
- For more detailed documentation, changelog and tech support. See https://dev.yunxin.163.com/.
20
-
21
- ## Installation
22
-
23
- node-nim runs on Node.js and is available as a NPM package. You can specify architecture and platform by `--arch` and `--platform` flags.
24
-
25
- node-nim will download the nim SDK which has the same version, you can override the version by add `--nimSdkVersion` or `--nimSdkUrl` flag.
26
-
27
- ```
28
- npm install node-nim --save-dev --arch=x64 --platform=win32 --nimSdkVersion=9.1.0
29
- ```
30
-
31
- ## Build From Source
32
-
33
- Technically, nim sdk is shipped with a prebuilt node-nim.node binary file, so you don't need to build it yourself.
34
- But if you want to add some personal features or you just want to do so, feel free to build it!
35
- Build Requirements:
36
-
37
- - Node.js
38
- - npm
39
- - CMake
40
- - CMake supported generator(Unix Makefiles, Ninja, Visual Studio, Xcode...)
41
-
42
- Now you are all set to build, run following commands in the root directory of the project:
43
-
44
- ```cmake
45
- cmake -S . -B build
46
- cmake --build build --config Release
47
- ```
48
-
49
- And voilà, you now have your own node-nim binary file in the `build` directory.
50
-
51
- ## Unit Test
52
-
53
- Execute following script to run unit test, [check this](./test/test_all.js), and you can also get an coverage report under 'coverage'.
54
-
55
- ```
56
- npm run coverage
57
- ```
58
-
59
- ## Sample Code
60
-
61
- ```js
62
- // Chatroom
63
- import * as node_nim from 'node-nim'
64
- let ret = node_nim.chatroom.init('', '')
65
- if (!ret) {
66
- console.log('init failed')
67
- process.exit(1)
68
- }
69
- node_nim.chatroom.initEventHandlers()
70
- ret = node_nim.chatroom.enter('room_id', 'login_data', {}, '')
71
- if (!ret) {
72
- console.log('enter failed')
73
- process.exit(1)
74
- }
75
- ```
76
-
77
- ```js
78
- // NIM
79
- import * as node_nim from 'node-nim'
80
- const result = node_nim.nim.client.init('app_key', 'app_data_dir', 'app_install_dir', {
81
- db_encrypt_key: 'abcdefghijklmnopqrstuvwxyz012345'
82
- })
83
-
84
- if (!result) {
85
- console.log('init failed')
86
- process.exit(1)
87
- }
88
-
89
- node_nim.nim.initEventHandlers()
90
-
91
- let resp = await node_nim.nim.client.login(
92
- 'app_key',
93
- 'username',
94
- 'password',
95
- null, // pass your callback function if you dont use the return Promise
96
- ''
97
- )
98
- if (resp[0].res_code_ != node_nim.NIMResCode.kNIMResSuccess) {
99
- console.log('login failed')
100
- process.exit(1)
101
- }
102
- console.log('loginResult', res)
103
- // login has 3 steps, step 3 succeeded
104
- node_nim.nim.talk.on('receiveMsg', function (result) {
105
- console.log('receiveMsg', result)
106
- })
107
- node_nim.nim.talk.on('sendMsg', (msg) => {
108
- console.log('sendMsg', msg)
109
- })
110
-
111
- node_nim.nim.talk.sendMsg(
112
- {
113
- session_type_: 0, // p2p
114
- receiver_accid_: 'receiver_accid',
115
- timetag_: new Date().getTime(),
116
- type_: 0, // text message
117
- content_: 'Send from NIM node quick start.',
118
- client_msg_id_: new Date().getTime().toString() // use an uuid
119
- },
120
- ''
121
- )
122
- ```
123
-
124
- ## Quick Start
125
-
126
- Check out this [quick start project](https://github.com/netease-im/node-nim-quick-start) and try out NIM's outstanding features!
1
+ # NetEase Electron IM SDK
2
+
3
+ [![codecov](https://codecov.io/gh/netease-im/node-nim/branch/master/graph/badge.svg?token=YUP8T7ZG6U)](https://codecov.io/gh/netease-im/node-nim) [![GitHub all releases](https://img.shields.io/github/downloads/netease-im/node-nim/total)](https://github.com/netease-im/node-nim/releases)
4
+ [中文](README_CN.md)
5
+ [API Document](https://github.com/netease-im/node-nim/wiki)
6
+
7
+ ## Table of Contents
8
+
9
+ - [NetEase Electron IM SDK](#netease-electron-im-sdk)
10
+ - [Table of Contents](#table-of-contents)
11
+ - [Introduction](#introduction)
12
+ - [Runtime Requirements](#runtime-requirements)
13
+ - [System Requirements](#system-requirements)
14
+ - [Supported Platforms](#supported-platforms)
15
+ - [Installation](#installation)
16
+ - [Build From Source](#build-from-source)
17
+ - [Quick Start](#quick-start)
18
+ - [Initialize SDK](#initialize-sdk)
19
+ - [Login](#login)
20
+ - [Send Message](#send-message)
21
+
22
+ ## Introduction
23
+
24
+ `node-nim` is a Node.js wrapper for the [NetEase IM PC SDK](https://doc.yunxin.163.com/messaging/docs/home-page?platform=pc), enabling you to utilize all of its features in your preferred frontend framework with native platform performance.
25
+ For comprehensive documentation, changelog, and technical support, please visit https://dev.yunxin.163.com/.
26
+
27
+ ## Runtime Requirements
28
+
29
+ | Runtime | Version |
30
+ | -------- | ----------- |
31
+ | Electron | >= v8.5.5 |
32
+ | Node.js | >= v12.13.0 |
33
+
34
+ ## System Requirements
35
+
36
+ | System | Requirements |
37
+ | ------- | ------------- |
38
+ | Windows | >= Windows 7 |
39
+ | macOS | >= 10.14.0 |
40
+ | Linux | glibc >= 2.23 |
41
+
42
+ ## Supported Platforms
43
+
44
+ | Platform | Architecture |
45
+ | -------- | ------------ |
46
+ | Windows | x64 |
47
+ | Windows | ia32 |
48
+ | macOS | x64 |
49
+ | macOS | arm64 |
50
+ | Linux | x64 |
51
+ | Linux | arm64 |
52
+
53
+ ## Installation
54
+
55
+ `node-nim` is an NPM package that can be installed using the `npm install` command.
56
+ It will automatically download the prebuilt binary file that fits your current platform.
57
+
58
+ ```bash
59
+ npm install node-nim --save-dev
60
+ ```
61
+
62
+ Maybe you need to build ia32 app on x64 platform or something like that, you can use `--arch` and `--platform` to specify the platform you want to build.
63
+
64
+ - Windows x64
65
+
66
+ ```bash
67
+ npm install node-nim --save-dev --arch=x64 --platform=win32
68
+ ```
69
+
70
+ - Windows x86
71
+
72
+ ```bash
73
+ npm install node-nim --save-dev --arch=ia32 --platform=win32
74
+ ```
75
+
76
+ - macOS x64
77
+
78
+ ```bash
79
+ npm install node-nim --save-dev --arch=x64 --platform=darwin
80
+ ```
81
+
82
+ - macOS arm64
83
+
84
+ ```bash
85
+ npm install node-nim --save-dev --arch=arm64 --platform=darwin
86
+ ```
87
+
88
+ - Linux x64
89
+
90
+ ```bash
91
+ npm install node-nim --save-dev --arch=x64 --platform=linux
92
+ ```
93
+
94
+ - Linux arm64
95
+
96
+ ```bash
97
+ npm install node-nim --save-dev --arch=arm64 --platform=linux
98
+ ```
99
+
100
+ ## Build From Source
101
+
102
+ Technically, native nim sdk is shipped with a prebuilt node-nim.node binary file, so `there is no need to build it yourself.`.
103
+ But if you want to add personal features or simply prefer to do so, feel free to build it!
104
+ Build Requirements:
105
+
106
+ - Node.js
107
+ - npm
108
+ - CMake
109
+ - CMake supported generator(Unix Makefiles, Ninja, Visual Studio, Xcode...)
110
+
111
+ Now you are all set to build, run following commands in the root directory of the project:
112
+
113
+ ```cmake
114
+ cmake -S . -B build
115
+ cmake --build build --config Release
116
+ ```
117
+
118
+ And voilà, you now have your own node-nim binary file in the `build` directory.
119
+
120
+ ## Quick Start
121
+
122
+ ```ts
123
+ import * as node_nim from 'node-nim'
124
+ ```
125
+
126
+ ### Initialize SDK
127
+
128
+ ```ts
129
+ const result = node_nim.nim.client.init('appkey', '', '', {
130
+ database_encrypt_key_: 'abcdefghijklmnopqrstuvwxyz012345'
131
+ })
132
+ if (result) {
133
+ node_nim.nim.initEventHandlers() // init event handlers
134
+ node_nim.nim.talk.on('receiveMsg', (result) => {
135
+ console.log('receiveMsg', result)
136
+ })
137
+ node_nim.nim.talk.on('sendMsg', (message: node_nim.IMMessage) => {
138
+ console.log('sendMsg: ', message)
139
+ })
140
+ // add more event handlers here
141
+ // ...
142
+ }
143
+ return result
144
+ ```
145
+
146
+ ### Login
147
+
148
+ ```ts
149
+ let [loginResult] = await node_nim.nim.client.login('appkey', 'account', 'password', null, '')
150
+ if (loginResult.res_code_ == node_nim.NIMResCode.kNIMResSuccess) {
151
+ console.log('login succeeded')
152
+ } else {
153
+ console.log('login failed')
154
+ }
155
+ ```
156
+
157
+ ### Send Message
158
+
159
+ ```ts
160
+ node_nim.nim.talk.sendMsg(
161
+ {
162
+ session_type_: node_nim.NIMSessionType.kNIMSessionTypeP2P,
163
+ receiver_accid_: 'receiver',
164
+ type_: node_nim.NIMMessageType.kNIMMessageTypeText,
165
+ content_: 'Send from NIM node quick start.'
166
+ },
167
+ ''
168
+ )
169
+ ```
@@ -1 +1 @@
1
- {"version":3,"file":"msglog_def.js","sourceRoot":"","sources":["../../ts/nim_def/msglog_def.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"msglog_def.js","sourceRoot":"","sources":["../../ts/nim_def/msglog_def.ts"],"names":[],"mappings":"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"}
@@ -1,40 +1,40 @@
1
- #! /usr/bin/env node
2
-
3
- const { Command } = require('commander')
4
- const WebAT = require('hawk-web')
5
- const program = new Command()
6
- const downloadSDK = require('./script/download-sdk.js').downloadSDK
7
- program
8
- .command('run')
9
- .description('run node-nim tester')
10
- .requiredOption('--deviceId <deviceId>', 'tester device id')
11
- .option('--taskId <taskId>', 'hawk test suite task id')
12
- .option('--url <url>', 'hawk websocket url')
13
- .option('--version <version>', 'test sdk version')
14
- .option('--nimSdkUrl <nimSdkUrl>', 'nim native sdk download url')
15
- .allowUnknownOption(true)
16
- .action(async (options) => {
17
- console.log('run node-nim tester, options:', options)
18
- if (options.nimSdkUrl) {
19
- await downloadSDK(options.nimSdkUrl)
20
- }
21
- const NIM = require('./dist/node-nim')
22
- new WebAT({
23
- applicationName: 'nim',
24
- platform: 'Windows&MacOS',
25
- version: options.version,
26
- url: options.url,
27
- deviceId: options.deviceId,
28
- taskId: options.taskId,
29
- targets: {
30
- NIM
31
- },
32
- oncompleted: () => {
33
- // 执行完成后退出进程
34
- process.exit(0)
35
- }
36
- })
37
- })
38
-
39
- // parse
40
- program.parse()
1
+ #! /usr/bin/env node
2
+
3
+ const { Command } = require('commander')
4
+ const WebAT = require('hawk-web')
5
+ const program = new Command()
6
+ const downloadSDK = require('./script/download-sdk.js').downloadSDK
7
+ program
8
+ .command('run')
9
+ .description('run node-nim tester')
10
+ .requiredOption('--deviceId <deviceId>', 'tester device id')
11
+ .option('--taskId <taskId>', 'hawk test suite task id')
12
+ .option('--url <url>', 'hawk websocket url')
13
+ .option('--version <version>', 'test sdk version')
14
+ .option('--nimSdkUrl <nimSdkUrl>', 'nim native sdk download url')
15
+ .allowUnknownOption(true)
16
+ .action(async (options) => {
17
+ console.log('run node-nim tester, options:', options)
18
+ if (options.nimSdkUrl) {
19
+ await downloadSDK(options.nimSdkUrl)
20
+ }
21
+ const NIM = require('./dist/node-nim')
22
+ new WebAT({
23
+ applicationName: 'nim',
24
+ platform: 'Windows&MacOS',
25
+ version: options.version,
26
+ url: options.url,
27
+ deviceId: options.deviceId,
28
+ taskId: options.taskId,
29
+ targets: {
30
+ NIM
31
+ },
32
+ oncompleted: () => {
33
+ // 执行完成后退出进程
34
+ process.exit(0)
35
+ }
36
+ })
37
+ })
38
+
39
+ // parse
40
+ program.parse()
package/package.json CHANGED
@@ -1,73 +1,74 @@
1
- {
2
- "name": "node-nim",
3
- "version": "9.10.0",
4
- "description": "NetEase IM nodejs wrapper based on NetEase IM C++ SDK",
5
- "main": "dist/node-nim.js",
6
- "bin": {
7
- "node-nim-tester": "node-nim-tester.js"
8
- },
9
- "types": "types/node-nim.d.ts",
10
- "author": "Netease",
11
- "license": "ISC",
12
- "homepage": "https://github.com/netease-im/node-nim",
13
- "repository": {
14
- "type": "git",
15
- "url": "git://github.com/netease-im/node-nim.git"
16
- },
17
- "scripts": {
18
- "coverage": "nyc mocha test/test_all.js -slow 200 -timeout 10000",
19
- "build_ts": "rimraf ./dist && rimraf ./types && tsc",
20
- "build_doc": "typedoc",
21
- "prepublishOnly": "npm run build_ts",
22
- "install": "npm run download_sdk",
23
- "download_sdk": "node -e \"require('./script/download-sdk.js').downloadSDK()\"",
24
- "publish_to_netease_npm": "node script/publish-to-netease-npm.js"
25
- },
26
- "nyc": {
27
- "cache": false,
28
- "reporter": [
29
- "lcov"
30
- ]
31
- },
32
- "dependencies": {
33
- "compare-versions": "^4.1.3",
34
- "download": "^8.0.0",
35
- "eventemitter3": "^4.0.7",
36
- "node-fetch": "^2.6.5"
37
- },
38
- "optionalDependencies": {
39
- "commander": "^8.3.0",
40
- "hawk-web": "^1.3.2"
41
- },
42
- "devDependencies": {
43
- "@types/node": "^16.10.5",
44
- "@typescript-eslint/eslint-plugin": "^5.17.0",
45
- "@typescript-eslint/parser": "^5.17.0",
46
- "bluebird": "^3.7.2",
47
- "cmake-js": "^6.3.0",
48
- "eslint": "^7.32.0",
49
- "git-describe": "^4.1.0",
50
- "mocha": "^9.1.1",
51
- "node-addon-api": "^4.3.0",
52
- "nyc": "^15.1.0",
53
- "typedoc": "^0.23.6",
54
- "typedoc-github-wiki-theme": "^1.0.1",
55
- "typedoc-plugin-markdown": "^3.13.3",
56
- "typescript": "^4.3.5"
57
- },
58
- "keywords": [
59
- "netease",
60
- "nim",
61
- "im sdk",
62
- "nim sdk",
63
- "nim node",
64
- "nim electron"
65
- ],
66
- "files": [
67
- "dist/",
68
- "types/",
69
- "package.json",
70
- "script/",
71
- "node-nim-tester.js"
72
- ]
73
- }
1
+ {
2
+ "name": "node-nim",
3
+ "version": "9.11.1",
4
+ "description": "NetEase IM nodejs wrapper based on NetEase IM C++ SDK",
5
+ "main": "dist/node-nim.js",
6
+ "bin": {
7
+ "node-nim-tester": "node-nim-tester.js"
8
+ },
9
+ "types": "types/node-nim.d.ts",
10
+ "author": "Netease",
11
+ "license": "ISC",
12
+ "homepage": "https://github.com/netease-im/node-nim",
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git://github.com/netease-im/node-nim.git"
16
+ },
17
+ "scripts": {
18
+ "coverage": "nyc mocha test/test_all.js -slow 200 -timeout 10000",
19
+ "build_ts": "rimraf ./dist && rimraf ./types && tsc",
20
+ "build_wiki_doc": "typedoc --plugin typedoc-plugin-markdown --plugin typedoc-github-wiki-theme --theme github-wiki --out wiki_doc",
21
+ "build_markdown_doc": "typedoc --plugin typedoc-plugin-markdown --theme markdown --out markdown_doc",
22
+ "prepublishOnly": "npm run build_ts",
23
+ "install": "npm run download_sdk",
24
+ "download_sdk": "node -e \"require('./script/download-sdk.js').downloadSDK()\"",
25
+ "publish_to_netease_npm": "node script/publish-to-netease-npm.js"
26
+ },
27
+ "nyc": {
28
+ "cache": false,
29
+ "reporter": [
30
+ "lcov"
31
+ ]
32
+ },
33
+ "dependencies": {
34
+ "compare-versions": "^4.1.4",
35
+ "download": "^8.0.0",
36
+ "eventemitter3": "^4.0.7",
37
+ "node-fetch": "^2.6.9"
38
+ },
39
+ "optionalDependencies": {
40
+ "commander": "^8.3.0",
41
+ "hawk-web": "latest"
42
+ },
43
+ "devDependencies": {
44
+ "@types/node": "^16.18.23",
45
+ "@typescript-eslint/eslint-plugin": "^5.58.0",
46
+ "@typescript-eslint/parser": "^5.58.0",
47
+ "bluebird": "^3.7.2",
48
+ "cmake-js": "^6.3.2",
49
+ "eslint": "^7.32.0",
50
+ "git-describe": "^4.1.1",
51
+ "mocha": "^9.2.2",
52
+ "node-addon-api": "^4.3.0",
53
+ "nyc": "^15.1.0",
54
+ "typedoc": "^0.24.1",
55
+ "typedoc-github-wiki-theme": "^1.1.0",
56
+ "typedoc-plugin-markdown": "^3.15.1",
57
+ "typescript": "^4.9.5"
58
+ },
59
+ "keywords": [
60
+ "netease",
61
+ "nim",
62
+ "im sdk",
63
+ "nim sdk",
64
+ "nim node",
65
+ "nim electron"
66
+ ],
67
+ "files": [
68
+ "dist/",
69
+ "types/",
70
+ "package.json",
71
+ "script/",
72
+ "node-nim-tester.js"
73
+ ]
74
+ }
@@ -1,78 +1,78 @@
1
- const fetch = require('node-fetch')
2
- const fs = require('fs')
3
- const compareVersions = require('compare-versions')
4
- const download = require('download')
5
- const arch = process.env.npm_config_arch || process.arch
6
- const platform = process.env.npm_config_platform || process.platform
7
- const sdk_group = 'message'
8
- const sdk_name = 'nim'
9
- const sdk_path = `${__dirname}/../sdk`
10
- if (process.env.npm_config_ignoredownloadsdk) {
11
- console.log('ignore download sdk')
12
- process.exit(0)
13
- }
14
- let sdk_version
15
- let sdk_url = process.env.npm_config_nimsdkurl
16
- if (process.env.npm_package_version) {
17
- sdk_version = process.env.npm_package_version.split('-')[0]
18
- }
19
- if (process.env.npm_config_nimsdkversion) {
20
- sdk_version = process.env.npm_config_nimsdkversion
21
- }
22
- async function downloadSDK(custom_sdk_url) {
23
- if (custom_sdk_url) {
24
- sdk_url = custom_sdk_url
25
- }
26
- // fetch publish list
27
- const res = await fetch('https://admin.netease.im/public-service/free/publish/list')
28
- const publish_json = await res.json()
29
- // get sdk list
30
- if (!sdk_url) {
31
- let latest_version = '0.0.0'
32
- let latest_sdk_url = ''
33
- Object.keys(publish_json.data[sdk_group]).forEach((temp) => {
34
- if (compareVersions.compare(latest_version, temp, '<')) {
35
- publish_json.data[sdk_group][temp].forEach((member) => {
36
- if (member.filename.includes(sdk_name) && member.filename.includes(platform) && member.filename.includes(arch)) {
37
- latest_version = temp
38
- latest_sdk_url = member.cdnlink
39
- }
40
- })
41
- }
42
- if (sdk_version === temp) {
43
- publish_json.data[sdk_group][temp].forEach((member) => {
44
- if (member.filename.includes(sdk_name) && member.filename.includes(platform) && member.filename.includes(arch)) {
45
- sdk_url = member.cdnlink
46
- }
47
- })
48
- }
49
- })
50
- if (!sdk_url || sdk_url.length === 0) {
51
- console.log(`${sdk_name} sdk version ${sdk_version} not found, use latest version ${latest_version}`)
52
- sdk_url = latest_sdk_url
53
- }
54
- console.log(`[node-nim] downloadSDK sdk_name:${sdk_name}, platform:${platform}, arch:${arch}`)
55
- }
56
- if (!sdk_url) {
57
- console.error(`[node-nim] downloadSDK sdk_name:${sdk_name}, platform:${platform}, arch:${arch} not found`)
58
- return
59
- }
60
- console.info(`[node-nim] Downloading prebuilt sdk from ${sdk_url} to ${sdk_path}`)
61
- // remove sdk_path
62
- if (fs.existsSync(sdk_path)) {
63
- fs.rmSync(sdk_path, { recursive: true, force: true })
64
- }
65
- // download sdk
66
- try {
67
- await download(sdk_url, sdk_path, {
68
- extract: true,
69
- filter: (file) => {
70
- return !file.path.includes('._')
71
- }
72
- })
73
- console.info(`[node-nim] Downloading prebuilt sdk complete`)
74
- } catch (err) {
75
- console.error(`[node-nim] downloadSDK error:${err}`)
76
- }
77
- }
78
- exports.downloadSDK = downloadSDK
1
+ const fetch = require('node-fetch')
2
+ const fs = require('fs')
3
+ const compareVersions = require('compare-versions')
4
+ const download = require('download')
5
+ const arch = process.env.npm_config_arch || process.arch
6
+ const platform = process.env.npm_config_platform || process.platform
7
+ const sdk_group = 'message'
8
+ const sdk_name = 'nim'
9
+ const sdk_path = `${__dirname}/../sdk`
10
+ if (process.env.npm_config_ignoredownloadsdk) {
11
+ console.log('ignore download sdk')
12
+ process.exit(0)
13
+ }
14
+ let sdk_version
15
+ let sdk_url = process.env.npm_config_nimsdkurl
16
+ if (process.env.npm_package_version) {
17
+ sdk_version = process.env.npm_package_version.split('-')[0]
18
+ }
19
+ if (process.env.npm_config_nimsdkversion) {
20
+ sdk_version = process.env.npm_config_nimsdkversion
21
+ }
22
+ async function downloadSDK(custom_sdk_url) {
23
+ if (custom_sdk_url) {
24
+ sdk_url = custom_sdk_url
25
+ }
26
+ // fetch publish list
27
+ const res = await fetch('https://admin.netease.im/public-service/free/publish/list')
28
+ const publish_json = await res.json()
29
+ // get sdk list
30
+ if (!sdk_url) {
31
+ let latest_version = '0.0.0'
32
+ let latest_sdk_url = ''
33
+ Object.keys(publish_json.data[sdk_group]).forEach((temp) => {
34
+ if (compareVersions.compare(latest_version, temp, '<')) {
35
+ publish_json.data[sdk_group][temp].forEach((member) => {
36
+ if (member.filename.includes(sdk_name) && member.filename.includes(platform) && member.filename.includes(arch)) {
37
+ latest_version = temp
38
+ latest_sdk_url = member.cdnlink
39
+ }
40
+ })
41
+ }
42
+ if (sdk_version === temp) {
43
+ publish_json.data[sdk_group][temp].forEach((member) => {
44
+ if (member.filename.includes(sdk_name) && member.filename.includes(platform) && member.filename.includes(arch)) {
45
+ sdk_url = member.cdnlink
46
+ }
47
+ })
48
+ }
49
+ })
50
+ if (!sdk_url || sdk_url.length === 0) {
51
+ console.log(`${sdk_name} sdk version ${sdk_version} not found, use latest version ${latest_version}`)
52
+ sdk_url = latest_sdk_url
53
+ }
54
+ console.log(`[node-nim] downloadSDK sdk_name:${sdk_name}, platform:${platform}, arch:${arch}`)
55
+ }
56
+ if (!sdk_url) {
57
+ console.error(`[node-nim] downloadSDK sdk_name:${sdk_name}, platform:${platform}, arch:${arch} not found`)
58
+ return
59
+ }
60
+ console.info(`[node-nim] Downloading prebuilt sdk from ${sdk_url} to ${sdk_path}`)
61
+ // remove sdk_path
62
+ if (fs.existsSync(sdk_path)) {
63
+ fs.rmSync(sdk_path, { recursive: true, force: true })
64
+ }
65
+ // download sdk
66
+ try {
67
+ await download(sdk_url, sdk_path, {
68
+ extract: true,
69
+ filter: (file) => {
70
+ return !file.path.includes('._')
71
+ }
72
+ })
73
+ console.info(`[node-nim] Downloading prebuilt sdk complete`)
74
+ } catch (err) {
75
+ console.error(`[node-nim] downloadSDK error:${err}`)
76
+ }
77
+ }
78
+ exports.downloadSDK = downloadSDK
@@ -1,17 +1,17 @@
1
- const child_process = require('child_process')
2
- const fs = require('fs')
3
- const testDir = 'node-nim-tester'
4
- if (!fs.existsSync(testDir)) {
5
- fs.mkdirSync(testDir)
6
- }
7
- process.chdir(testDir)
8
- child_process.execSync(`npm init --force`, { stdio: 'inherit' })
9
- child_process.execSync(`npm install node-nim@latest --registry=http://npm.netease.im/`, { stdio: 'inherit' })
10
- const args = process.argv.slice(2).join(' ')
11
- if (process.platform === 'win32') {
12
- child_process.execSync(`.\\node_modules\\.bin\\node-nim-tester.cmd run ${args}`, { stdio: 'inherit' })
13
- } else {
14
- child_process.execSync(`./node_modules/.bin/node-nim-tester run ${args}`, { stdio: 'inherit' })
15
- }
16
- process.chdir('..')
17
- fs.rmSync(testDir, { recursive: true, force: true })
1
+ const child_process = require('child_process')
2
+ const fs = require('fs')
3
+ const testDir = 'node-nim-tester'
4
+ if (!fs.existsSync(testDir)) {
5
+ fs.mkdirSync(testDir)
6
+ }
7
+ process.chdir(testDir)
8
+ child_process.execSync(`npm init --force`, { stdio: 'inherit' })
9
+ child_process.execSync(`npm install node-nim@latest --registry=http://npm.netease.im/`, { stdio: 'inherit' })
10
+ const args = process.argv.slice(2).join(' ')
11
+ if (process.platform === 'win32') {
12
+ child_process.execSync(`.\\node_modules\\.bin\\node-nim-tester.cmd run ${args}`, { stdio: 'inherit' })
13
+ } else {
14
+ child_process.execSync(`./node_modules/.bin/node-nim-tester run ${args}`, { stdio: 'inherit' })
15
+ }
16
+ process.chdir('..')
17
+ fs.rmSync(testDir, { recursive: true, force: true })
@@ -1,28 +1,28 @@
1
- const process = require('child_process')
2
- let gitTag = ''
3
- let gitBranch = ''
4
- let gitCommitCount = ''
5
- try {
6
- gitTag = process.execSync('git describe --abbrev=0 --tags --exact-match').toString().trim()
7
- } catch (e) {}
8
- try {
9
- gitBranch = process.execSync('git rev-parse --abbrev-ref HEAD').toString().trim()
10
- } catch (e) {}
11
- try {
12
- gitCommitCount = process.execSync('git rev-list --count HEAD').toString().trim()
13
- } catch (e) {}
14
-
15
- console.log(`[node-nim] gitTag: ${gitTag}`)
16
- console.log(`[node-nim] gitBranch: ${gitBranch}`)
17
- console.log(`[node-nim] gitCommitCount: ${gitCommitCount}`)
18
- let version = gitTag
19
- if (version === '') {
20
- // remove characters before '/' in branch name
21
- version = gitBranch.replace(/.*\//, '')
22
- // remove characters after '-' in branch name
23
- version = version.replace(/-.*/, '')
24
- }
25
- version = version + '-alpha.' + gitCommitCount
26
- console.log(`[node-nim] version: ${version}`)
27
- process.execSync(`npm version ${version} --no-git-tag-version`)
28
- process.execSync(`npm publish --registry=http://npm.netease.im/`)
1
+ const process = require('child_process')
2
+ let gitTag = ''
3
+ let gitBranch = ''
4
+ let gitCommitCount = ''
5
+ try {
6
+ gitTag = process.execSync('git describe --abbrev=0 --tags --exact-match').toString().trim()
7
+ } catch (e) {}
8
+ try {
9
+ gitBranch = process.execSync('git rev-parse --abbrev-ref HEAD').toString().trim()
10
+ } catch (e) {}
11
+ try {
12
+ gitCommitCount = process.execSync('git rev-list --count HEAD').toString().trim()
13
+ } catch (e) {}
14
+
15
+ console.log(`[node-nim] gitTag: ${gitTag}`)
16
+ console.log(`[node-nim] gitBranch: ${gitBranch}`)
17
+ console.log(`[node-nim] gitCommitCount: ${gitCommitCount}`)
18
+ let version = gitTag
19
+ if (version === '') {
20
+ // remove characters before '/' in branch name
21
+ version = gitBranch.replace(/.*\//, '')
22
+ // remove characters after '-' in branch name
23
+ version = version.replace(/-.*/, '')
24
+ }
25
+ version = version + '-alpha.' + gitCommitCount
26
+ console.log(`[node-nim] version: ${version}`)
27
+ process.execSync(`npm version ${version} --no-git-tag-version`)
28
+ process.execSync(`npm publish --registry=http://npm.netease.im/`)
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter } from 'eventemitter3';
2
2
  import { ChatRoomIndependentEnterInfo, ChatRoomAnoymityEnterInfo, ChatRoomEnterInfo, NIMChatRoomLoginState, ChatRoomMessage, ChatRoomGetMembersParameters, GetMembersCallback, GetMembersCountByTagCallback, ChatRoomGetMsgHistoryParameters, GetMsgHistoryCallback, ChatRoomSetMemberAttributeParameters, SetMemberAttributeCallback, GetChatRoomInfoCallback, KickMemberCallback, NIMChatRoomProxyType, TempMuteMemberCallback, ChatRoomInfo, UpdateRoomInfoCallback, ChatRoomMemberInfo, UpdateMyRoomRoleCallback, ChatRoomQueueElement, ChatRoomQueueOfferOption, QueueOfferCallback, QueuePollCallback, QueueListCallback, QueueHeaderCallback, QueueDropCallback, QueueBatchUpdateCallback, NIMChatRoomLocation, UpdateLocationCallback, ChatRoomUpdateTagsInfo, UpdateTagsCallback, ChatRoomNotification, NIMChatRoomEnterStep, NIMChatRoomExitReason, NIMChatRoomLinkCondition, ChatRoomGetMsgHistoryByTagsParameters, ChatRoomConfig, ChatRoomGetMembersByTagParameters, ChatRoomBatchMembers } from '../chatroom_def/chatroom_def';
3
- import { NIMResCode } from 'ts/nim_def/client_def';
3
+ import { NIMResCode } from '../nim_def/client_def';
4
4
  export declare interface ChatRoomEvents {
5
5
  /** 登录 */
6
6
  enter: [number, NIMChatRoomEnterStep, number, ChatRoomInfo, ChatRoomMemberInfo];
@@ -1,4 +1,4 @@
1
- import { NIMResCode } from 'ts/nim_def/client_def';
1
+ import { NIMResCode } from '../nim_def/client_def';
2
2
  export declare enum NIMChatRoomLoginState {
3
3
  kNIMChatRoomLoginStateLogin = 1 /**< 登录状态 */,
4
4
  kNIMChatRoomLoginStateUnLogin = 2 /**< 未登录状态 */
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter } from 'eventemitter3';
2
2
  import { DeleteFriendOption, FriendProfile, NIMFriendAPI, FriendOptCallback, GetFriendProfileCallback, GetFriendsListCallback, NIMVerifyType, FriendChangeEvent } from '../nim_def/friend_def';
3
- import { NIMResCode } from 'ts/nim_def/client_def';
3
+ import { NIMResCode } from '../nim_def/client_def';
4
4
  export declare interface NIMFriendEvents {
5
5
  /** 好友变更通知 */
6
6
  change: [FriendChangeEvent];
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter } from 'eventemitter3';
2
2
  import { CachedFileInfo, DeleteCachedFileCallback, DetectProxyCallback, ExceptionCallback, GetCachedFileInfoCallback, NIMCachedFileType, NIMGlobalAPI, NIMProxyDetectStep, NIMProxyType, NIMSDKException, SDKDBErrorInfo, SDKFeedbackCallback, UploadSDKLogCallback } from '../nim_def/global_def';
3
- import { NIMResCode } from 'ts/nim_def/client_def';
3
+ import { NIMResCode } from '../nim_def/client_def';
4
4
  export declare interface NIMGlobalEvents {
5
5
  /** SDK DB操作出错 */
6
6
  dbError: [SDKDBErrorInfo];
@@ -1,7 +1,7 @@
1
1
  import { EventEmitter } from 'eventemitter3';
2
2
  import { NIMSessionType } from '../nim_def/session_def';
3
3
  import { NIMMsgLogAPI, QuerySingleMsgCallback, QueryMsgCallback, NIMMessageType, ModifyMultipleMsglogCallback, NIMMsgLogStatus, ModifySingleMsglogCallback, NIMMsgLogSubStatus, DBFunctionCallback, ImportDbPrgCallback, MessageStatusChangedCallback, LogsBackupExportInfo, LogsBackupImportInfo, DeleteHistoryOnLineAsyncCallback, DeleteHistoryOnLineAsyncExCallback, DeleteMessageSelfAsyncCallback, QueryMessageIsThreadRootCallback, QueryMsgAsyncParam, QueryMessageOnlineCallback, QueryThreadHistoryMsgAsyncParam, QueryThreadHistoryMsgCallback, FullTextSearchOnlineAsyncParam, FullTextSearchOnlineAsyncCallback, IMMessage, QueryMsgByKeywordOnlineParam, QueryMsgOnlineAsyncParam, DeleteMsglogSelfNotifyItemInfo, DeleteMsglogSelfNotifyParam, MessageStatusChangedResult, QueryMsgByOptionsAsyncParam, QueryMsglogResult, NIMMsglogSearchDirection, GetMessagesDynamicallyCallback, GetMessagesResult } from '../nim_def/msglog_def';
4
- import { NIMResCode } from 'ts/nim_def/client_def';
4
+ import { NIMResCode } from '../nim_def/client_def';
5
5
  export declare interface NIMMsgLogEvents {
6
6
  /** 单向删除消息记录通知 */
7
7
  localMsgDeleted: [Array<DeleteMsglogSelfNotifyItemInfo>];
@@ -1,7 +1,7 @@
1
1
  import { EventEmitter } from 'eventemitter3';
2
2
  import { DownloadMediaCallback, DownloadMediaExCallback, DownloadMediaResult, InitNosConfigParam, InitNosResult, InitNosResultCallback, NIMNOSAPI, NOSParams, ProgressCallback, ProgressExCallback, SafeURLToOriginURLCallback, SpeedCallback, TransferInfoCallback, UploadMediaExCallback, UploadMediaResult } from '../nim_def/nos_def';
3
3
  import { IMMessage } from '../nim_def/msglog_def';
4
- import { NIMResCode } from 'ts/nim_def/client_def';
4
+ import { NIMResCode } from '../nim_def/client_def';
5
5
  export declare interface NIMNOSEvents {
6
6
  /** 下载回调 */
7
7
  downloadComplete: [number, string, string, string];
@@ -1,7 +1,7 @@
1
1
  import { EventEmitter } from 'eventemitter3';
2
2
  import { NIMSessionType } from '../nim_def/session_def';
3
3
  import { DeleteOnlineSessionInfoCallback, DeleteSessionParam, NIMOnlineSessionAPI, QueryOnlineSessionInfoCallback, QueryOnlineSessionListCallback, QuerySessionListResult, SessionInfo, UpdateOnlineSessionInfoCallback } from '../nim_def/online_session_def';
4
- import { NIMResCode } from 'ts/nim_def/client_def';
4
+ import { NIMResCode } from '../nim_def/client_def';
5
5
  export declare interface NIMOnlineSessionEvents {
6
6
  /** 会话变更 */
7
7
  change: [SessionInfo];
@@ -1,6 +1,6 @@
1
1
  import { NIMPassThroughProxyAPI, NIMSendHttpRequestMethods, SendHttpRequestCallback } from '../nim_def/pass_through_proxy_def';
2
2
  import { EventEmitter } from 'eventemitter3';
3
- import { NIMResCode } from 'ts/nim_def/client_def';
3
+ import { NIMResCode } from '../nim_def/client_def';
4
4
  export declare interface NIMPassThroughProxyEvents {
5
5
  /** 接受到 HTTP 透传消息 */
6
6
  receiveHttpMsg: [string, string, number];
@@ -1,6 +1,6 @@
1
1
  import { NIMPluginAPI, ChatRoomRequestEnterCallback, QChatRequestLinkAddressCallback } from '../nim_def/plugin_def';
2
2
  import { EventEmitter } from 'eventemitter3';
3
- import { NIMResCode } from 'ts/nim_def/client_def';
3
+ import { NIMResCode } from '../nim_def/client_def';
4
4
  export declare interface NIMPluginEvents {
5
5
  }
6
6
  export declare class NIMPlugin extends EventEmitter<NIMPluginEvents> {
@@ -1,7 +1,7 @@
1
1
  import { EventEmitter } from 'eventemitter3';
2
2
  import { IMMessage, NIMMessageType } from '../nim_def/msglog_def';
3
3
  import { CancelToStickTopSessionCallback, DeleteHasmoreRoammsgCallback, DeleteSessionRoamingMessageCallback, MultiUnreadCountZeroInfo, NIMSessionAPI, NIMSessionType, QueryAllHasmoreRoammsgCallback, QueryHasmoreRoammsgCallback, QuerySessionDataCallback, QuerySessionListCallback, QueryStickTopSessionListCallback, SessionChangeCallback, SessionData, SessionDataList, SessionRoamMsgHasMoreTagInfo, SetMultiUnreadCountZeroAsyncCallback, SetToStickTopSessionCallback, UpdateHasmoreRoammsgCallback, UpdateStickTopSessionCallback } from '../nim_def/session_def';
4
- import { NIMResCode } from 'ts/nim_def/client_def';
4
+ import { NIMResCode } from '../nim_def/client_def';
5
5
  export declare interface NIMSessionEvents {
6
6
  /** 会话变更 */
7
7
  change: [number, SessionData, number];
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter } from 'eventemitter3';
2
2
  import { NIMSubscribeEventAPI, EventData, PublishEventCallback, NIMEventType, NIMEventSubscribeSyncEventType, SubscribeEventCallback, UnSubscribeEventCallback, BatchUnSubscribeEventCallback, QuerySubscribeEventCallback, EventSubscribeData } from '../nim_def/subscribe_event_def';
3
- import { NIMResCode } from 'ts/nim_def/client_def';
3
+ import { NIMResCode } from '../nim_def/client_def';
4
4
  export declare interface NIMSubscribeEventEvents {
5
5
  /** 订阅的事件 */
6
6
  push: [number, EventData];
@@ -1,7 +1,7 @@
1
1
  import { EventEmitter } from 'eventemitter3';
2
2
  import { NIMSysMsgAPI, SysMessage, NIMSysMsgStatus, NIMSysMsgType, NotifySingleSysmsgCallback, NotifySysmsgResCallback, QuerySysmsgCallback } from '../nim_def/sysmsg_def';
3
3
  import { SendMessageArc } from '../nim_def/talk_def';
4
- import { NIMResCode } from 'ts/nim_def/client_def';
4
+ import { NIMResCode } from '../nim_def/client_def';
5
5
  export declare interface NIMSysMsgEvents {
6
6
  /** 系统通知 */
7
7
  receiveSystemMsg: [SysMessage];
@@ -1,7 +1,7 @@
1
1
  import { EventEmitter } from 'eventemitter3';
2
2
  import { IMMessage, NIMMessageType } from '../nim_def/msglog_def';
3
3
  import { BroadcastMessage, MessageFilterCallback, NIMTalkAPI, RecallMsgNotify, RecallMsgsCallback, SendMessageArc, TeamNotificationFilterCallback } from '../nim_def/talk_def';
4
- import { NIMResCode } from 'ts/nim_def/client_def';
4
+ import { NIMResCode } from '../nim_def/client_def';
5
5
  export declare interface NIMTalkEvents {
6
6
  /** 发送消息回调 */
7
7
  sendMsg: [SendMessageArc];
@@ -1,7 +1,7 @@
1
1
  import { EventEmitter } from 'eventemitter3';
2
2
  import { NIMTalkExAPI, CollectInfo, AddCollectCallback, RemoveCollectsParm, RemoveCollectsCallback, MatchCollectParm, UpdateCollectCallback, QueryCollectsParm, QueryCollectsCallback, QuickCommentInfo, AddQuickCommentCallback, RemoveQuickCommentParam, RemoveQuickCommentCallback, QueryQuickCommentsParam, QueryQuickCommentCallback, PinMessageInfo, PinMessageCallback, ModifyPinMessageParam, UnPinMessageCallback, UpdatePinMessageCallback, QueryPinMessageCallback, CollectInfoList, QueryQuickCommentsResponse, QueryAllPinMessageResponse } from '../nim_def/talkex_def';
3
3
  import { IMMessage } from '../nim_def/msglog_def';
4
- import { NIMResCode } from 'ts/nim_def/client_def';
4
+ import { NIMResCode } from '../nim_def/client_def';
5
5
  export declare interface NIMTalkExEvents {
6
6
  /** 添加快捷回复 */
7
7
  addQuickComment: [number, QuickCommentInfo];
@@ -1,7 +1,7 @@
1
1
  import { EventEmitter } from 'eventemitter3';
2
2
  import { IMMessage } from '../nim_def/msglog_def';
3
3
  import { NIMTeamAPI, TeamInfo, TeamEventCallback, QueryAllMyTeamsCallback, QueryAllMyTeamsInfoCallback, QueryTeamMyAllMemberInfosCallback, QueryTeamMembersCallback, QueryTeamMemberCallback, QueryTeamInfoCallback, QueryTeamMembersOnlineCallback, TeamMsgAckReadCallback, QueryTeamMembersInvitorCallback, QueryTeamsInfoCallback, UpdateTInfoLocalCallback, GetTeamInfoBatchSFTransCallback, GetTeamInfoListCallback, TeamMemberProperty, TeamEvent } from '../nim_def/team_def';
4
- import { NIMResCode } from 'ts/nim_def/client_def';
4
+ import { NIMResCode } from '../nim_def/client_def';
5
5
  export declare interface NIMTeamEvents {
6
6
  /** 群事件 */
7
7
  teamEvent: [TeamEvent];
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter } from 'eventemitter3';
2
2
  import { NIMToolAPI, NIMAppDataType, AudioInfo, GetAudioTextCallback, FilterClientAntispamCallback } from '../nim_def/tool_def';
3
- import { NIMResCode } from 'ts/nim_def/client_def';
3
+ import { NIMResCode } from '../nim_def/client_def';
4
4
  export declare interface NIMToolEvents {
5
5
  }
6
6
  export declare class NIMTool extends EventEmitter<NIMToolEvents> {
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter } from 'eventemitter3';
2
2
  import { NIMUserAPI, SetRelationCallback, GetSpecialListCallback, GetUserNameCardCallback, UpdateMyUserNameCardCallback, NINPushType, UserNameCard, SpecialRelationshipChangeEvent, BlackMuteListInfo } from '../nim_def/user_def';
3
- import { NIMResCode } from 'ts/nim_def/client_def';
3
+ import { NIMResCode } from '../nim_def/client_def';
4
4
  export declare interface NIMUserEvents {
5
5
  /** 用户属性变更 */
6
6
  specialRelationChange: [SpecialRelationshipChangeEvent];
@@ -182,7 +182,7 @@ export interface SDKConfig {
182
182
  ip_protocol_version_?: number; /**< int IP地址族设置 0:ipv4 1:ipv6 2:auto,经SDK测试后,自行选择,会有少许性能损耗。缺省 0(ipv4) */
183
183
  /***********地址族相关设置 end************/
184
184
  dedicated_cluste_flag_?: boolean; /**< boolean 是否为专属集群 {true,false} def:false */
185
- hand_shake_type_?: number; /**< int 登录时使用的握手协议类型 0:支持配置多种对称与非对称加密算法,1:只支持RAS + RC4,缺省 1 */
185
+ hand_shake_type_?: number; /**< int 登录时使用的握手协议类型 0:支持配置多种对称与非对称加密算法,1:只支持RAS + RC4,缺省 0 */
186
186
  nego_key_neca_?: number; /**< int "交换密钥"协议加密算法 {1(RSA),2(SM2)}, def:1(RSA) 非对称加密 */
187
187
  comm_neca_?: number; /**< int 通信加密算法 {1(RC4),2(AES128),4(SM4)} def:1(RC4) 对称加密 */
188
188
  server_conf_file_path_?: string; /**< string 私有云服务器相关地址配置文件本地绝对路径,如果不填默认执行文件目录下的server_conf.txt */
@@ -193,6 +193,12 @@ export interface IMMessageThreadInfo {
193
193
  thread_msg_id_client_?: string;
194
194
  deleted_?: number;
195
195
  }
196
+ export interface IMMessageRobotInfo {
197
+ function_?: string;
198
+ topic_?: string;
199
+ custom_content_?: string;
200
+ account_?: string;
201
+ }
196
202
  export interface IMMessage {
197
203
  rescode_?: NIMResCode; /**< 错误码 */
198
204
  feature_?: NIMMessageFeature; /**< 消息属性 */
@@ -212,7 +218,8 @@ export interface IMMessage {
212
218
  local_res_id_?: string; /**< 媒体文件ID(客户端) */
213
219
  status_?: NIMMsgLogStatus; /**< 消息状态(客户端) */
214
220
  sub_status_?: NIMMsgLogSubStatus; /**< 消息子状态(客户端) */
215
- thread_info_?: IMMessageThreadInfo;
221
+ thread_info_?: IMMessageThreadInfo; /**< thread消息信息 */
222
+ robot_info_?: IMMessageRobotInfo; /**< 机器人消息信息 */
216
223
  readonly_sender_client_type_?: NIMClientType; /**< 发送者客户端类型(只读) */
217
224
  readonly_sender_device_id_?: string; /**< 发送者客户端设备ID(只读) */
218
225
  readonly_sender_nickname_?: string; /**< 发送者昵称(只读) */
@@ -294,6 +294,8 @@ export interface QChatQuickCommentDetail {
294
294
  type?: number;
295
295
  /** 表示这个评论的数量 */
296
296
  count?: number;
297
+ /** 创建时间 */
298
+ create_time: number;
297
299
  /** 表示自己是否添加过这个标签 */
298
300
  include_yourself?: boolean;
299
301
  /** 若干个添加过表情的 account ID */