npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

sprea

v0.0.6

Published

KRonae's a program to get information of users who use multiple games (etc.)

Downloads

20

Readme

잠깐, 뭐라고요..?

게임등을 플레이하는 유저의 정보를 가져오는 NPM 모듈! 바로 KRonae의 Sprea 입니다!

무엇을 할 수 있죠?

Sprea 는 Minecraft, Hypixel, Roblox 등의 대형 게임을 플레이하는 유저의 정보를 가져올 수 있으며, 웹서버를 만들어 편리하게 사용 할 수도 있습니다.

설치

다음과 같은 코드를 사용해 설치해보세요.

npm install sprea

사용법

일단, sprea 를 설치했다면 sprea 를 require 합니다.

const sprea = require("sprea");

이렇게 되면 sprea 를 사용할 준비가 완료된겁니다. 게임마다 사용법이 다르니, 다음을 확인하세요.

Minecraft

마인크래프트에서 할수있는 것들은 3가지입니다. 닉네임을 UUID 로 변환, UUID 를 닉네임으로 변환, UUID 로 유저의 정보를 가져오기 입니다.

여기에서 말하는 '유저의 정보' 는, 스킨, 아바타, 얼굴, UUID, 표시되는 이름 등의 정보를 말합니다. 자, 그래서 이제 이것을 어떻게 하는지 알아야겠죠? 일단, 닉네임을 UUID 로 변환하는 방법에 대해 알려드리겠습니다. 다음과같은 코드를 입력하면 유저의 UUID 를 가져올 수 있습니다.

sprea.Minecraft.convert.NameToID("KRonae").then((uuid) => {
    console.log(uuid); // '45fa03f6313d463c8f97b0b342d6f249'
});

이 함수는 async 함수이기 때문에, await 또는 then 을 사용해 데이터를 가져옵니다.

그럼 이제 UUID 를 닉네임으로 변환해 볼까요? 다음과 같은 코드를 사용해보세요!

sprea.Minecraft.convert.IDToName("45fa03f6313d463c8f97b0b342d6f249").then((name) => {
    console.log(name); // 'KRonae'
});

닉네임이 잘 나오죠?

이 두가지를 함께 사용할 수 있습니다. 다음의 코드는 이것의 예시입니다.

sprea.Minecraft.convert.NameToID("KRonae").then(async (uuid) => {
    var name = await sprea.Minecraft.convert.IDToName(uuid);
    console.log(name); // 'KRonae'
}

이 예시는 then 과 await 을 함께 사용하고, NameToID 와 IDToName 을 사용하여 닉네임을 UUID 로 바꾸고, 다시 그 UUID 를 닉네임으로 바꿨습니다.

그렇다면 이제, 유저의 정보를 가져와야겠죠? 다음과 같은 코드를 사용해보세요.

sprea.Minecraft.convert.NameToID("KRonae").then(async (uuid) => {
    console.log(await sprea.Minecraft(uuid));
})
{
  error: false,
  name: 'KRonae',
  id: '45fa03f6313d463c8f97b0b342d6f249',
  skin: {
    url: 'http://textures.minecraft.net/texture/1635eabaf846b81903cac5275c435723a657ed2767c2e4b08f88447d38402589',
    model: 'slim'
  },
  image: {
    body: 'https://crafthead.net/armor/body/45fa03f6313d463c8f97b0b342d6f249',
    face: 'https://crafthead.net/avatar/45fa03f6313d463c8f97b0b342d6f249'
  }
}

아마 이러한 결과가 나왔을겁니다.

error 에는 오류 여부가, name 에는 닉네임이, id 에는 uuid가, skin 에는 스킨 이미지의 주소와 모델 타입, image 에는 몸 사진과 얼굴 사진이 있습니다.

Minecraft - Hypixel(server)

하이픽셀에서 할수있는것은 조금 많습니다. UUID 로 유저의 친구추가 목록을 가져오고, APIKEY 로 사용가능한 키인지 여부를 확인하고, 여러개의 APIKEY 를 이용해서 사용 가능한 키를 고를수도 있습니다. 마지막으로 UUID 로 유저의 정보도 가져올 수 있죠.

일단 여기에서 말하는 '유저의 정보' 는, 유저가 온라인 상태인지, 어떤 로비(또는 게임) 에 있는지, 친구는 누구인지, 최근에 플레이한 게임이 무엇인지, 어느 길드에 있는지, 친구 추가 요청은 누구인지, 처음 접속 날짜는 언제고, 마지막 로그인, 로그아웃한 시간은 언제인지, 유저의 스텟은 어느정도인지, 챌린지, 카르마에, 유저가 사용하는 언어, 파쿠르 체크포인트 기록, 파쿠르 완료 기록, 퀘스트, 채팅채널, 대접받는 랭크, 현재 펫, 현재 가젯, 설정한 소셜 미디어, 마지막으로 플레이한 게임의 종류등의 정말 많은 것들을 확인할 수 있습니다.

(놀랍게도, 친구 추가가 되지 않은 사람도 확인 가능함)

그렇다면 사용하지 않을 이유가 없겠죠? 바로 사용법을 알려드리겠습니다.

일단, 하이픽셀 유저의 데이터를 가져오려면 하이픽셀 API 라는것을 사용해야합니다. 그런데, 이 하이픽셀 API 에는 보안이 조금 있어서, API Key 라는 것이 있어야 사용이 가능합니다. 이걸 어떻게 가져오냐고요? 쉽습니다.

그냥 하이픽셀에 접속해서 /api new 를 적으면 됩니다. 그렇게 되면 어떤 하늘색 글자가 나오는데요, 그걸 누르고 복사하면, 그게 바로 여러분의 API Key 입니다.

그렇다면 이제, 이 키가 사용가능한 키인지 확인을 해야겠죠? 다음과 같은 코드를 이용하면 됩니다.

sprea.Minecraft.server.Hypixel.key("(키)").then(async (data) => {
    console.log(data);
})

여기에서 (키) 에 방금 복사한 여러분의 API Key 를 적으시면 됩니다. 그러면 아마 다음과 같은 결과가 나올겁니다.

{
  available: true,
  invaild: false,
  cause: false,
  owner: '45fa03f6-313d-463c-8f97-b0b342d6f249',
  data: {
    success: true,
    record: {
      key: '(키)',
      owner: '45fa03f6-313d-463c-8f97-b0b342d6f249',
      limit: 120,
      queriesInPastMin: 0,
      totalQueries: 8433
    }
  }
}

available 에는 사용이 가능한 키인지, invaild 에는 없는 키인지, cuase 에는 만약 오류가 났을때 오류의 이유는 무엇인지, owner 에는 주인의 uuid, data 에는 상세 정보가 나와있습니다.

이곳에서 우리가 보아야되는것은 available 입니다. 이게 true 라면 사용이 가능하다는 것이기에, 이 키를 사용하면 됩니다.

또, 다음과 같은 코드를 사용해보세요.

sprea.Minecraft.server.Hypixel.key.getAvailableKey(["(키)", "(키)"]).then(async (key) => {
    console.log(key);
})

이렇게 하면, 여러 키 중에서 사용 가능한 키를 알려줍니다. 만약 모두 사용이 불가능하다면 false 가 출력됩니다.

그렇다면 이제 유저의 정보를 가져와볼까요? 참고로 친구추가 목록을 가져오는 함수는 유저의 정보를 가져오는 기능에서 자동으로 가져옵니다.

먼저 다음과 같은 코드를 사용해보세요.

var key = "(키)";
sprea.Minecraft.server.Hypixel.key(key).then(async (keyInfo) => {
    if(keyInfo.available) {
        var name = "KRonae";
        var uuid = await sprea.Minecraft.convert.NameToID(name);
        var data = await sprea.Minecraft.server.Hypixel(uuid, key);
        console.log(data);
    } else {
        console.error("사용할 수 없는 키입니다!");
    }
})

이렇게 하면 유저의 정보를 가져온것입니다! 출력을 확인해보죠.

Minecraft - Hypixel

Roblox