Vk-io: λ¬Έμ„œ μ—…λ°μ΄νŠΈ

에 λ§Œλ“  2019λ…„ 04μ›” 12일  Β·  9μ½”λ©˜νŠΈ  Β·  좜처: negezor/vk-io

VKontakte API의 _100% λ²”μœ„_에도 λΆˆκ΅¬ν•˜κ³  λ¬Έμ„œλŠ” "λͺ…λ Ή -> 응닡"보닀 더 λ³΅μž‘ν•œ 봇을 λΉŒλ“œν•˜λŠ” 데 ν¬μ†Œν•˜κ³  μ“Έλͺ¨κ°€ μ—†μŠ΅λ‹ˆλ‹€.

enhancement

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

λ‹€μ–‘ν•œ 봇을 μž‘μ„±ν•˜κΈ° μœ„ν•œ κ°€μ΄λ“œ, VK API μž‘μ—…μ— λŒ€ν•œ λ¬Έμ„œλ₯Ό 보면 μ•ˆ λœλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

λͺ¨λ“  9 λŒ“κΈ€

λ‹€μ–‘ν•œ 봇을 μž‘μ„±ν•˜κΈ° μœ„ν•œ κ°€μ΄λ“œ, VK API μž‘μ—…μ— λŒ€ν•œ λ¬Έμ„œλ₯Ό 보면 μ•ˆ λœλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

μ•Ό! 닡변이 κΈΈμ–΄ μ£„μ†‘ν•©λ‹ˆλ‹€λ§Œ μ œμ•ˆ 사항은 μ •ν™•νžˆ λ¬΄μ—‡μž…λ‹ˆκΉŒ? μž₯면이 μžˆλŠ” λ΄‡μ˜ μ˜ˆκ°€ μžˆμŠ΅λ‹ˆλ‹€. μ˜ˆλŠ” κ°„λ‹¨ν•˜κ³  λͺ…ν™•ν•΄μ•Ό ν•©λ‹ˆλ‹€.

ν•œ 단어 - μ»¨ν…μŠ€νŠΈ.
각 μ»¨ν…μŠ€νŠΈ μœ ν˜•μ— μžˆλŠ” getter에 λŒ€ν•œ λ¬΄μ§€λ‘œ context.payload λ₯Ό μ°Έμ‘°ν•˜μ§€ μ•Šλ„λ‘ μ†ŒμŠ€ μ½”λ“œμ— 반볡적으둜 λ“€μ–΄κ°€μ•Ό ν–ˆμŠ΅λ‹ˆλ‹€.

TS의 μœ ν˜• κ°•μ‘° ν‘œμ‹œκ°€ μ‚¬μš©λ©λ‹ˆκΉŒ?

μ‚¬μš©λ˜μ§€λ§Œ μ»¨ν…μŠ€νŠΈ 및 λ©”μ‹œμ§€μ—μ„œλ§Œ μž‘λ™ν•©λ‹ˆλ‹€. λ‚˜λ¨Έμ§€ getterλŠ” μ–΄λ¦¬μ„κ²Œλ„ 보이지 μ•ŠμŠ΅λ‹ˆλ‹€.

μ—¬λ³΄μ„Έμš”.
라이브러리λ₯Ό μ‚¬μš©ν•˜μ—¬ ν”„λ‘μ‹œλ₯Ό 톡해 API μš”μ²­μ„ λ§Œλ“œλŠ” 방법을 μ£Όμ „μžμ— μ„€λͺ…ν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ?
κ°€λŠ₯ν•˜λ©΄ μ˜ˆκ°€ κ°€μž₯ μ’‹μŠ΅λ‹ˆλ‹€.

κ°€λŠ₯ν•˜λ©΄ μ˜ˆκ°€ κ°€μž₯ μ’‹μŠ΅λ‹ˆλ‹€.

Torλ₯Ό ν†΅ν•œ ν”„λ‘μ‹œμ˜ 예

const { VK } = require('vk-io');
const Agent = require('socks5-https-client/lib/Agent');
const HttpProxyAgent = require('http-proxy-agent');

let vk = new VK();
const agent = new Agent({ socksPort: 9050, socksHost: "127.0.0.1" });
// const agent = new HttpProxyAgent("http://127.0.0.1:8119");
vk.setOptions({ agent });

(() => {
  try {
    let [user] = await vk.api.users.get();
    console.log('User:', user);
  } catch(e) { console.log(e); }
})();

κ°€λŠ₯ν•˜λ©΄ μ˜ˆκ°€ κ°€μž₯ μ’‹μŠ΅λ‹ˆλ‹€.

Torλ₯Ό ν†΅ν•œ ν”„λ‘μ‹œμ˜ 예

const { VK } = require('vk-io');
const Agent = require('socks5-https-client/lib/Agent');
const HttpProxyAgent = require('http-proxy-agent');

let vk = new VK();
const agent = new Agent({ socksPort: 9050, socksHost: "127.0.0.1" });
// const agent = new HttpProxyAgent("http://127.0.0.1:8119");
vk.setOptions({ agent });

(() => {
  try {
    let [user] = await vk.api.users.get();
    console.log('User:', user);
  } catch(e) { console.log(e); }
})();

κ°μ‚¬ν•©λ‹ˆλ‹€

이 https://github.com/negezor/vk-io/issues/255 λ₯Ό μœ„ν•΄ 이 문제λ₯Ό λ‹«κ² μŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰