npm.io
1.0.0 • Published 5 years ago

bpl-wrapper

Licence
ISC
Version
1.0.0
Deps
2
Size
6 kB
Vulns
23
Weekly
0

bpl-wrapper

Bpl wrapper é um módulo que facilita o uso da API da blue pheonix, também com algumas funções pra você personalizar a conexão websocket!

Como usar

Antes você tem que invocar a classe do módulo.

const BP = require("bpl-wrapper")
const BPClient = new BP("id", options)

opções

As opções são um objeto que você passa depois de id, elas controlam o comportamento ao perder a conexão ws com a api.

propriedade sobre tipo padrão
id id do seu bot string undefined
options.reconnect websocket deve tentar reconectar? boolean true
options.delay quanto tempo deve demorar pra reconectar number 2000

exemplo de personalização

const BPClient = new BP("720063826652823594", { reconnect: true, delay: 7800 }) //se perder a conexão, esperar 7,8 segundos pra tentar se reconectar.

Caso queira que o módulo não tente se reconectar.

const BPClient = new BP("720063826652823594", { reconnect: false }) //não reconectar.

eventos

Os eventos são a principal coisa desse módulo, com eles você consegue por exemplo, decidir oque acontece quando alguém vota no seu bot

nome sobre retorna
ready disparado quando a conexão é feita com sucesso. objeto da conexão websocket, exemplo, o ID da conexão.
vote_create disparado quando alguém vota no seu bot. dados do seu bot, data de quando foi feito o voto (em milissegundos) e dados da pessoa que votou nele.
loss_connection disparado quando a conexão websocket é perdida. nada.

como ouvir os eventos

seguindo o código acima, veja esse exemplo:

const BP = require("bpl-wrapper")
const BPClient = new BP("720063826652823594", { reconnect: true, delay: 7800 })
BPClient.on("ready" /* assistindo o evento "ready" */, (socket) => {
    console.log("conectado com sucesso na API, id do websocket:", socket.id)
    //se você for curioso, dê um console.log(socket)
})
BPClient.on("vote_create" /* evento disparado quando votam no seu bot */, (user) => {
    console.log("novo voto!", user)
})
BPClient.on("loss_connection", () => {
    console.log("conexão perdida!")
})

funções

esse módulo também possuí funções para pegar algumas informações da API!

função sobre parâmetros tipo obrigatório
fetchUser Procura um usuário na bluepheonix e retorna informações dele userID - id do usuário string sim
fetchBot Procura um bot na bluephoenix e retorna informações dele botID - id do bot string sim
exemplos

Por padrão as funções retornam uma promise, então você deve usar then() ou await.

const BP = require("bpl-wrapper")
const BPClient = new BP("720063826652823594", { reconnect: true, delay: 7800 })
BPClient.fetchUser("470976775145390082").then(user => {
    console.log(user)
}).catch((e) => {
    console.log("aconteceu um erro!", e)
})
//com async/await
(async () => {
   const user = await BPClient.fetchUser("470976775145390082")
   console.log(user)
})()
//pegar algum bot na bluephoenix
BPClient.fetchBot("733504773021499423").then(bot => {
    console.log(bot)
}).catch((e) => {
    console.log("aconteceu um erro!", e)
})
//com async/await
(async () => {
    const bot = await BPClient.fetchBot("733504773021499423")
    console.log(bot)
})

Espero que esse módulo te ajude!