buzzk 1.3.2 โ†’ 1.4.0

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.
Files changed (3) hide show
  1. package/README.md +18 -2
  2. package/lib/chat.js +18 -1
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -17,12 +17,15 @@
17
17
 
18
18
  ## ๐Ÿ“– ์—…๋ฐ์ดํŠธ ๋‚ด์—ญ
19
19
 
20
+ - onDisconnect ํ•จ์ˆ˜ ์ถ”๊ฐ€
21
+ - ์ฑ„ํŒ…์— ์—ฐ๊ฒฐํ•˜์ง€ ๋ชปํ–ˆ๋˜ ๋ฌธ์ œ ํ•ด๊ฒฐ (UID๋ฅผ ์ œ๊ฑธ๋กœ ํ•ด๋†จ๋˜... ๋น™๊ตฌ...)
22
+
23
+ >
24
+
20
25
  - ํ•จ์ˆ˜ ์ด๋ฆ„ ์ˆ˜์ •
21
26
 
22
27
  **ํ•˜๋‹จ์˜ 1.3.0 ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ฐ€์ด๋“œ ์ฐธ๊ณ **
23
28
 
24
- >
25
-
26
29
  - channelID๋กœ ์ฑ„๋„ ์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ ํ•จ์ˆ˜ ์ถ”๊ฐ€
27
30
  - ws ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ข…์†์„ฑ ์ถ”๊ฐ€
28
31
 
@@ -133,6 +136,13 @@
133
136
  //์ฑ„ํŒ… ๋ณด๋‚ด๊ธฐ (login ํ›„์—๋งŒ ๊ฐ€๋Šฅ)
134
137
  }
135
138
  });
139
+
140
+ chat.onDisconnect(async () => { //์ฑ„ํŒ…์ฐฝ ์—ฐ๊ฒฐ์ด ๋Š๊ฒผ์„ ๋•Œ
141
+ console.log("Reconnect...");
142
+ chat = new buzzkChat(channel.channelID);
143
+ await chat.connect();
144
+ //๋‹ค์‹œ ์ƒ์„ฑ ํ›„ ์—ฐ๊ฒฐ or liveStatus ํ™•์ธ ํ›„ ๋ฐฉ์†ก์ค‘์ด๋ฉด ์—ฐ๊ฒฐ
145
+ });
136
146
 
137
147
  }
138
148
 
@@ -298,6 +308,12 @@ dotenv์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋งค์šฐ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
298
308
 
299
309
  </details>
300
310
 
311
+ chat.onDisconnect(() => { //์ฑ„ํŒ…์ฐฝ ์—ฐ๊ฒฐ์ด ๋Š๊ฒผ์„ ๋•Œ
312
+ //TODO
313
+ });
314
+
315
+ >
316
+
301
317
  await chat.send("ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹"); //์ฑ„ํŒ… ๋ณด๋‚ด๊ธฐ (login ํ›„์—๋งŒ ๊ฐ€๋Šฅ)
302
318
 
303
319
  >
package/lib/chat.js CHANGED
@@ -13,6 +13,7 @@ class chzzkChat {
13
13
  #ssID; //kr-ss?.chat.naver.com/chat
14
14
  #accTkn; //Account Access Token
15
15
  #svcid; //game
16
+ #uid;
16
17
  #sid;
17
18
  #chatID;
18
19
 
@@ -26,6 +27,11 @@ class chzzkChat {
26
27
  return new Promise(async (resolve, reject) => {
27
28
  if (this.#ws) return resolve(null);
28
29
 
30
+ //Get UID
31
+ let myInfo = await reqGame("nng_main/v1/user/getUserStatus");
32
+ if (myInfo.code != 200) return resolve(null);
33
+ this.#uid = myInfo.content.userIdHash;
34
+
29
35
  //Get ChatID
30
36
  let cidRes = await getStatus(this.channelID);
31
37
  this.#chatID = cidRes.chatID;
@@ -60,7 +66,7 @@ class chzzkChat {
60
66
  "svcid": "game",
61
67
  "cid": this.#chatID,
62
68
  "bdy": {
63
- "uid":"7d98a20c25251e404ca61d0981bb1ab9",
69
+ "uid": this.#uid,
64
70
  "devType":2001,
65
71
  "accTkn": this.#accTkn,
66
72
  "auth":"SEND"
@@ -202,6 +208,17 @@ class chzzkChat {
202
208
  });
203
209
  }
204
210
 
211
+ /**
212
+ * @param {function} callback
213
+ */
214
+ onDisconnect(callback) {
215
+ if (!this.#ws) return callback(null);
216
+
217
+ this.#ws.on("close", () => {
218
+ callback();
219
+ });
220
+ }
221
+
205
222
  /**
206
223
  * @param {?number} size
207
224
  * @return {Promise<chzzkMessages>}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "buzzk",
3
3
  "displayName": "BUZZK",
4
- "version": "1.3.2",
4
+ "version": "1.4.0",
5
5
  "description": "๋ฟŒ์ง€์ง (BUZZK) - ์น˜์ง€์ง(CHZZK) ์ฑ—๋ด‡์„ ๋”์šฑ ์‰ฝ๊ฒŒ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ๋น„๊ณต์‹ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ.",
6
6
  "main": "lib/index.js",
7
7
  "type": "commonjs",