2.0.1 โ€ข Published 5 months ago

buzzk v2.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

๋ฟŒ์ง€์ง


๐Ÿ“– ์—…๋ฐ์ดํŠธ ๋‚ด์—ญ

๐ŸŽ‰ 2.0 ์—…๋ฐ์ดํŠธ

  • ๊ณต์‹ API๋ฅผ ์ผ๋ถ€ ์ง€์›ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์–ด์š”!

!CAUTION ์ด ๋ฒ„์ „ ์ดํ›„๋ถ€ํ„ฐ๋Š” ๊ณต์‹ API์™€ ๋น„๊ณต์‹ API๋ฅผ ํ˜ผ์šฉํ•˜์—ฌ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ณต์‹ API๋กœ ๋Œ€์ฒด ๊ฐ€๋Šฅํ•œ ๊ธฐ๋Šฅ์€ ๋ชจ๋‘ ๊ณต์‹ API๋ฅผ ์ด์šฉํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

!WARNING

  • ๋น„๊ณต์‹ API ์ „์šฉ ๋ชจ๋“ˆ์€ ๋” ์ด์ƒ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๋น„๊ณต์‹ API๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์‹œ๋ ค๋ฉด npm install buzzk@1.11.3

โœ’๏ธ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ฐ€์ด๋“œ (v.1.x -> v.2.0.0)

buzzk.auth
์ถ”๊ฐ€
buzzk.auth

buzzk.oauth
์ถ”๊ฐ€
buzzk.oauth.get

์ถ”๊ฐ€
buzzk.oauth.refresh

์ถ”๊ฐ€
buzzk.channel.resolve

buzzk.channel.get
(return).channel.description

(return).channel.isLive

๐Ÿ‘‹ ์„ค์น˜

  1. npm install buzzk
  2. const buzzk = require("buzzk");

๐Ÿ”ฅ ๋น ๋ฅธ. ์‹œ์ž‘.

const buzzk = require("buzzk");
buzzk.auth("ClientID ๊ฐ’", "ClientSecret ๊ฐ’");
buzzk.login("NID_AUT ์ฟ ํ‚ค ๊ฐ’", "NID_SES ์ฟ ํ‚ค ๊ฐ’");

const buzzkChat = buzzk.chat;

async function test () {

    let chSearch = await buzzk.channel.search("๋…น๋‘๋กœ๋กœ"); //์ฑ„๋„ ๊ฒ€์ƒ‰
    
    let channel = chSearch[0]; //๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ์ฒซ๋ฒˆ์งธ ์ฑ„๋„

    const lvDetail = await buzzk.live.getDetail(channel.channelID); //ํ˜„์žฌ ๋ฐฉ์†ก ์ •๋ณด

    let chat = new buzzkChat(channel.channelID);
    await chat.connect(); //์ฑ„ํŒ…์ฐฝ ์—ฐ๊ฒฐ

    let recentChat = await chat.getRecentChat(); //์ตœ๊ทผ ์ฑ„ํŒ… ๊ฐ€์ ธ์˜ค๊ธฐ (๊ธฐ๋ณธ๊ฐ’ 50๊ฐœ)
    console.log(recentChat);

    chat.onMessage(async (data) => { //์ฑ„ํŒ…์ด ์™”์„ ๋•Œ
        for (let o in data) {
            console.log(data[o].message);

			if (data[o].message === "!ping") await chat.send("pong!");
			//์ฑ„ํŒ… ๋ณด๋‚ด๊ธฐ (login ํ›„์—๋งŒ ๊ฐ€๋Šฅ)

			let userInfo = await chat.getUserInfo(data[o].author.id);
        	console.log(userInfo);
			//์ฑ„ํŒ… ๋ณด๋‚ธ ์œ ์ €์˜ ์ •๋ณด
        }
    });

	chat.onDisconnect(async () => { //์ฑ„ํŒ…์ฐฝ ์—ฐ๊ฒฐ์ด ๋Š๊ฒผ์„ ๋•Œ
		//TODO
	});
    
}

test();

๐ŸŽ€ ์‚ฌ์šฉ๋ฒ•

auth

โœ… Official API

buzzk.auth("ClientID ๊ฐ’", "ClientSecret ๊ฐ’");

https://developers.chzzk.naver.com/application ๋„ค์ด๋ฒ„ ์น˜์ง€์ง ๊ฐœ๋ฐœ์ž ์„ผํ„ฐ์—์„œ ๋“ฑ๋ก ํ›„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. โœ… Official API ํ‘œ๊ธฐ๊ฐ€ ์žˆ๋Š” ๋ชจ๋“  ํ•จ์ˆ˜์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

dotenv์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋งค์šฐ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

buzzk.auth(process.env.CLIENT_ID, process.env.CLIENT_SECRET);

login

buzzk.login("NID_AUT ์ฟ ํ‚ค ๊ฐ’", "NID_SES ์ฟ ํ‚ค ๊ฐ’");

dotenv์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋งค์šฐ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

buzzk.login(process.env.NID_AUT, process.env.NID_SES);

oauth

โœ… Official API

let oauth = await buzzk.oauth.get("Code ๊ฐ’");
console.log(oauth);
  • Return - access - refresh - expireIn

โœ… Official API

let oauth = await buzzk.oauth.refresh("refreshToken ๊ฐ’");
console.log(oauth);
  • Return - access - refresh - expireIn

โœ… Official API

let oauth = await buzzk.oauth.resolve("accessToken ๊ฐ’");
console.log(oauth);
  • Return - channelID - name - follower - imageURL

channel

let chSearch = await buzzk.channel.search("๋…น๋‘๋กœ๋กœ");
console.log(chSearch);
  • Return - 0 - channelID - name - description - follower - imageURL - isLive - 1 - 2 - 3 - ...

โœ… Official API

let channel = await buzzk.channel.get("channelID ๊ฐ’");
console.log(channel);
  • Return - channelID - name - follower - imageURL
await buzzk.channel.follow("channelID ๊ฐ’");
await buzzk.channel.unFollow("channelID ๊ฐ’");

live

const lvDetail = await buzzk.live.getDetail("channelID ๊ฐ’");
console.log(lvDetail);
  • Return - channelID - channel - name - imageURL - chatID - chatLimit //ํŒ”๋กœ์›Œ ์ „์šฉ ์ฑ„ํŒ… ๋“ฑ... - userCount - now - total - title - category - startOn - closeOn - status - polling - liveID - videoID
const lvStatus = await buzzk.live.getStatus("channelID ๊ฐ’");
console.log(lvStatus);
  • Return - channelID - chatID - userCount - now - total - title - status - polling

chat

const buzzkChat = buzzk.chat;
let chat = new buzzkChat("channelID ๊ฐ’");
await chat.connect(); //์ฑ„ํŒ…์ฐฝ ์—ฐ๊ฒฐ
let recentChat = await chat.getRecentChat(๊ฐฏ์ˆ˜); //์ตœ๊ทผ ์ฑ„ํŒ… ๊ฐ€์ ธ์˜ค๊ธฐ (๊ธฐ๋ณธ๊ฐ’ 50๊ฐœ)
console.log(recentChat);
  • Return - 0 - author - id - name - imageURL - hasMod //๊ด€๋ฆฌ ๊ถŒํ•œ์„ ๊ฐ€์กŒ๋Š”์ง€ (false / true) - message - time - 1 - 2 - 3 - ...
chat.onMessage((data) => { //์ฑ„ํŒ…์ด ์™”์„ ๋•Œ
	console.log(data);

    for (let o in data) {
        console.log(data[o].message); //๋ฉ”์„ธ์ง€๋งŒ ์ „๋ถ€ ๊บผ๋‚ด๊ธฐ
    }
});
  • Return - 0 - author - id - name - imageURL - hasMod //๊ด€๋ฆฌ ๊ถŒํ•œ์„ ๊ฐ€์กŒ๋Š”์ง€ (false / true) - message - time - 1 - 2 - 3 - ...
chat.onDonation((data) => { //๋„๋„ค์ด์…˜์ด ์™”์„ ๋•Œ
	console.log(data);

    for (let o in data) {
        console.log(data[o].amount); //ํ›„์› ๊ธˆ์•ก๋งŒ ์ „๋ถ€ ๊บผ๋‚ด๊ธฐ
    }
});
  • Return - 0 - amount //ํ›„์› ๊ธˆ์•ก - author - id - name - imageURL - hasMod //๊ด€๋ฆฌ ๊ถŒํ•œ์„ ๊ฐ€์กŒ๋Š”์ง€ (false / true) - message - time - 1 - 2 - 3 - ...
chat.onDisconnect(() => { //์ฑ„ํŒ…์ฐฝ ์—ฐ๊ฒฐ์ด ๋Š๊ฒผ์„ ๋•Œ
	//TODO
});
await chat.send("ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹"); //์ฑ„ํŒ… ๋ณด๋‚ด๊ธฐ (login ํ›„์—๋งŒ ๊ฐ€๋Šฅ)
let userInfo = await chat.getUserInfo("์œ ์ €์˜ channelID ๊ฐ’");
  • Return - channelID - name - imageURL - role //ex. streamer - followDate //ํŒ”๋กœ์šฐ ๋‚ ์งœ ex. 2024-02-19 23:28:11
await chat.disconnect(); //์ฑ„ํŒ…์ฐฝ ์—ฐ๊ฒฐ ๋Š๊ธฐ

video

const videoList = await buzzk.video.getList("channelID ๊ฐ’", 24); //channelID ๊ฐ’, ๊ฐ€์ ธ์˜ฌ ๊ฐฏ์ˆ˜
console.log(videoList);
  • Return - 0 - no - id - title - category - duration - uploadOn - imageURL - trailerURL - 1 - 2 - 3 - ...
const video = await buzzk.video.get("no ๊ฐ’"); //videoList ์—์„œ return ๋œ no ๊ฐ’
console.log(video);
console.log(video.videoURL[720]);
  • Return - id - title - category - duration - uploadOn - startOn - imageURL - trailerURL - videoURL - 144 - 720 - 1080
2.0.1

5 months ago

2.0.0

5 months ago

1.11.3

5 months ago

1.11.2

5 months ago

1.11.0

11 months ago

1.11.1

11 months ago

1.10.0

11 months ago

1.9.13

11 months ago

1.9.12

11 months ago

1.9.11

1 year ago

1.9.10

1 year ago

1.9.9

1 year ago

1.9.8

1 year ago

1.9.7

1 year ago

1.9.6

1 year ago

1.9.5

1 year ago

1.9.4

1 year ago

1.9.3

1 year ago

1.9.1

1 year ago

1.9.0

1 year ago

1.8.4

1 year ago

1.9.2

1 year ago

1.8.2

1 year ago

1.8.1

1 year ago

1.8.0

1 year ago

1.7.2

1 year ago

1.7.1

1 year ago

1.7.0

1 year ago

1.6.8

1 year ago

1.6.7

1 year ago

1.6.6

1 year ago

1.6.5

1 year ago

1.6.4

1 year ago

1.6.3

1 year ago

1.6.2

1 year ago

1.6.1

1 year ago

1.5.5

1 year ago

1.5.4

1 year ago

1.5.2

1 year ago

1.6.0

1 year ago

1.5.6

1 year ago

1.5.1

1 year ago

1.5.0

1 year ago

1.3.3

1 year ago

1.3.2

1 year ago

1.4.0

1 year ago

1.3.1

1 year ago

1.3.0

1 year ago

1.2.0

1 year ago

1.1.0

1 year ago

1.0.0

1 year ago