1.1.0 • Published 2 years ago

tabnews.js v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Instalação

npm install tabnews.js
yarn add tabnews.js

Exemplo de uso

import { Client } from "tabnews.js"
const client = new Client()

client.login({
    email: "example@example.com",
    password: "examplePassword",
    //ou então você pode logar direto pelo token, porém o token fica inválido depois de algum tempo.
    token: "token"
}).then((user) => {
    console.log(`Logado na conta ${user.username} com o token ${user.token}`)
}).catch(console.error)

Documentação(Não está pronta.)

Alerta: recomendo expandir tudo caso for ler as docs!

Eventos: ready, destroyed

Construtor

O constructor da classe Client aceita 1 parâmetro opcional, que é um objeto de configuração O objeto de configuração se parece com isso: |Nome|Descrição|tipo |--|--|--| |tabnewsUrl|uma url customizada do tabnews.|string, opcional |log|se o client deve usar o logger ou não|boolean, opcional |customAgentUser|um agent user customizado pro client, use o nome do seu projeto aqui!|string, opcional |debug|se o client deve usar o modo debug ou não(não é recomendado usar)|boolean, opcional


Métodos do client

Método login

O metódo login aceita 1 parâmetro obrigatório, que é um objeto de login. O objeto de login se parece com isso: |Nome|Descrição|tipo |--|--|--| |email|o email da conta|string, opcional |password|a senha da conta|string, opcional |token|o token da conta|string, opcional

Caso você use um token, você não precisa usar um email e password, caso você não use um token, você precisa usar o email e o password

esse método retorna uma Promise contendo um ClientUserData, ele também emite o evento ready

Método destroy

Este método destroi a conexão do client com a api. Para você se conectar novamente você tera que usar o método login ele também emite o evento destroyed


Propriedades do client

NomeDescriçãotipo
connectedse o client está conectadoboolean
tokeno token do clientstring
contentsum gerenciador de contéudosContentManager
statusum gerenciador do status do tabnewsStatusManager
usersum gerenciador de usuáriosUsersManager
userum gerenciador do usuário do clientUserManager

Vale lembrar que as propriedades contents, status, users, user só estão disponiveis após o login do bot!


ContentManager

Um content manager, como o nome já diz é responsavel por gerenciar os conteudos. Através dele você vai consegur publicar, deletar, editar, dar upvote/downvote em conteúdos, obter os conteúdos relevantes, etc... A seguir estão os metodos de um ContentManager

Método get

O método get obtém um conteudo com base em 2 parâmetros obrigatórios, sendo eles author e slug. Exemplo: se o author for igual a Gustavo33 e o slug for tabnews-js-uma-biblioteca-javascript-para-interagir-com-a-api-do-tabnews o contéudo que ele vai obter vai ser: https://www.tabnews.com.br/Gustavo33/tabnews-js-uma-biblioteca-javascript-para-interagir-com-a-api-do-tabnews Esse método retorna uma Promise contendo um Content

Método getContents

Este método obtém os contéudos mais novos, mais antigos, e mais relevantes com base no primeiro parâmetro. o segundo parâmetro é a página que ele vai obter os conteúdos(Cada página tem 30 conteúdos) Pârametros: |Nome|Valores|obrigatório| |--|--|--| |strategy|"new" - "old" - "relevant"|Não, o default é "new". |page|Qualquer número|Não, o default é 1.

Esse método retorna uma Promise contendo um Array de Contents.

Método post

Este método posta um contéudo, ele aceita 1 pârametro obrigatório, que o objeto listado abaixo: |Nome|Descrição|obrigatório|Efeito |--|--|--|--| |parentId|o id de um conteúdo|não obrigatório|faz o conteúdo ser uma resposta ao conteúdo com id igual ao parentId| |customSlug|um slug customizado|não obrigatório|adiciona um slug customizado| |title|o título do conteúdo|não obrigatório caso seja uma resposta|adiciona um título ao conteúdo| |body|o corpo do conteúdo, você pode usar markdown aqui nesse campo|obrigatório|adiciona texto ao conteúdo| |sourceUrl|a url da fonte|não obrigatório|adiciona uma fonte ao conteúdo|

Esse método retorna uma Promise contendo um Content

Método edit

Este método edita um conteúdo, ele aceita 3 pârametros obrigatórios, sendo eles: |Nome|Descrição| |--|--| |author|o autor do conteúdo| |slug|o slug do conteúdo| |content|o que vai ser alterado|

o pârametro content é um objeto, as propriedades desse objeto estão listadas abaixo: |Nome|Descrição|obrigatório|Efeito |--|--|--|--| |title|o título do conteúdo|não obrigatório|adiciona um título ao conteúdo| |body|o corpo do conteúdo, você pode usar markdown aqui nesse campo|não obrigatório|adiciona texto ao conteúdo| |sourceUrl|a url da fonte|não obrigatório|adiciona uma fonte ao conteúdo|

Esse método retorna uma Promise contendo um Content

Método delete

O método delete deleta um conteudo com base em 2 parâmetros obrigatórios, sendo eles author e slug. Exemplo: se o author for igual a Gustavo33 e o slug for tabnews-js-uma-biblioteca-javascript-para-interagir-com-a-api-do-tabnews o contéudo que ele vai deletar vai ser: https://www.tabnews.com.br/Gustavo33/tabnews-js-uma-biblioteca-javascript-para-interagir-com-a-api-do-tabnews Esse método retorna uma Promise contendo um Content

Método upvote e downvote

os Métodos upvote e downvote funcionam com base em 2 parâmetros obrigatórios, sendo eles author e slug. E com base nesses pârametros ele da um upvote/downvote Esse método retorna uma Promise contendo um objeto parecido com isso: |Nome|Descrição| |--|--| |tabcoins|O numero de tabcoins que o contéudo ficou depois do upvote/downvote|

Método watch

o método watch começa a assistir um contéudo, retornando um Watcher. Pârametros: |Nome|Descrição|obrigatório |--|--|--| |author|o autor do conteúdo que ele vai assistir.|sim |slug|o slug do conteúdo que ele vai assistir.|sim |observeWhat|em que o watcher deve assistir por mudanças|não, o padrão é ele assistir por todos. |ms|o tempo que o watcher vai procurar por mudanças(em milisegundos)|não, o padrão é 2 minutos e 5 segundos


UsersManager

Um UsersManager, como o nome já diz é responsavel por gerenciar os usuários. Através dele você vai consegur obter um usuário, obter os conteúdos relevantes de um usuário, etc... A seguir estão os metodos de um UsersManager

Método get

O método get obtém um usuário com base em 1 parâmetro obrigatório, sendo ele username. Exemplo: se o username for Gustavo33, o usuário que ele vai obter vai ser: https://www.tabnews.com.br/Gustavo33 Esse método retorna uma Promise contendo um UserData

Método getContentsOfUser

Este método obtém os contéudos mais novos, mais antigos, e mais relevantes de um usuário com base no primeiro e segundo parâmetro. o terceiro parâmetro é a página que ele vai obter os conteúdos(Cada página tem 30 conteúdos) Pârametros: |Nome|Valores|obrigatório| |--|--|--| |username|Nome do usuário que você quer obter|Sim |strategy|"new" - "old" - "relevant"|Não, o default é "new". |page|Qualquer número|Não, o default é 1.

Esse método retorna uma Promise contendo um Array de Contents.

Método watch

o método watch começa a assistir um usuário, retornando um Watcher. Pârametros: |Nome|Descrição|obrigatório |--|--|--| |username|o username do usuário que ele vai assistir.|sim |observeWhat|em que o watcher deve assistir por mudanças|não, o padrão é ele assistir por todos.

|ms|o tempo que o watcher vai procurar por mudanças(em milisegundos)|não, o padrão é 2 minutos e 5 segundos

UserManager

Um UserManager, é responsavel por gerenciar o usuário do client. Através dele você vai consegur obter o usuário do client, editar o usuário do client, etc... A seguir estão os metodos e propriedades de um UserManager

Método get

O método get atualiza o usuário do Client. Esse método retorna uma Promise contendo um ClientUserData

Método edit

Este método edita o usuário do client, ele aceita 1 pârametro que é um objeto, o objeto se parece com isso: |Nome|Descrição| |--|--| |username|o username do usuário|

Esse método retorna uma Promise contendo um ClientUserData

Método watch

o método watch começa a assistir o usuário do client, retornando um Watcher. Pârametros: |Nome|Descrição|obrigatório |--|--|--| |observeWhat|em que o watcher deve assistir por mudanças|não, o padrão é ele assistir por todos. |ms|o tempo que o watcher vai procurar por mudanças(em milisegundos)|não, o padrão é 2 minutos e 5 segundos

Propriedades de um UserManager

NomeDescriçãotipo
emailo email do clientstring
tokeno token do clientstring
ido id do clientstring
usernameo username do clientstring
featuresas features do clientarray
tabcoinsa quantidade de tabcoins do clientnumber
tabcasha quantidade de tabcash do clientnumber
created_atquando que o client foi criadoDate
updated_atultima vez que o client foi modificadoDate

StatusManager

Um StatusManager, é responsavel por gerenciar o status do tabnews Através dele você vai obter o status do tabnews.

Método get

o método get obtém o status do tabnews. Esse método retorna uma Promise contendo um Status

Um Watcher, é uma classe que assiste por mudanças um Conteúdo/Usuário. Todos os Watchers são iguais, a única coisa que muda é o que ele assiste. Eventos do watcher: watcherUpdate

Métodos de um watcher

Método start

o método start inicia o watcher, e faz ele começar a assistir o Conteúdo/usuário.

Método destroy

o método destroy destrói o Watcher, ou seja, para de assistir ao Conteúdo/usuário. Você pode iniciar novamente o watcher pelo método start.

Tipos de informação

UserData

Propriedades

NomeDescriçãotipo
ido id de um usuáriostring
usernameo username de um usuáriostring
featuresas features de um usuárioarray
tabcoinsa quantidade de tabcoins de um usuárionumber
tabcasha quantidade de tabcash de um usuárionumber
created_atquando que o usuário foi criadoDate
updated_atultima vez que o usuário foi modificadoDate

ClientUserData

Propriedades

NomeDescriçãotipo
emailo email do clientstring
tokeno token do clientstring
ido id do clientstring
usernameo username do clientstring
featuresas features do clientarray
tabcoinsa quantidade de tabcoins do clientnumber
tabcasha quantidade de tabcash do clientnumber
created_atquando que o client foi criadoDate
updated_atultima vez que o client foi modificadoDate

Content

Propriedades

NomeDescriçãotipo
ido id do conteúdostring
parent_ido id do conteúdo rootstring
slugo slug do conteúdostring
titleo título do conteúdostring
bodyo texto do conteúdostring
statuso status do conteúdostring
source_urla fonte do conteúdostring
thumbnaila thumbnail do conteúdostring
tabcoinso número de tabcoins do conteúdonumber
created_atdata da criação do conteúdoDate
published_atdata da postagem do conteúdoDate
updated_atdata de quando o conteúdo foi editadoDate
deleted_atdata de quando o conteúdo foi deletadoDate
is_childrense o conteúdo é uma respostaboolean
is_rootse o conteúdo é rootboolean
has_childrense o conteúdo tem respostasboolean
ownero criador do contéudo Nome Descrição Tipo id O id do criador string username O username do criador string

Métodos

Método fetchOwner

O método fetchOwner obtém o usuário criador do conteúdo. Retorna uma Promise contendo um UserData

Método fetchParent

O método fetchParent obtém o conteúdo root do conteúdo atual. Retorna uma Promise contendo um Content

Método fetchChildren

O método fetchChildren obtém as respostas do conteúdo atual. Retorna uma Promise contendo um Array de Content

Método edit

Este método edita o conteúdo, ele aceita 1 parâmetro obrigatório, sendo ele: |content|o que vai ser alterado| |--|--|

o pârametro content é um objeto, as propriedades desse objeto estão listadas abaixo: |Nome|Descrição|obrigatório|Efeito |--|--|--|--| |title|o título do conteúdo|não obrigatório|adiciona um título ao conteúdo| |body|o corpo do conteúdo, você pode usar markdown aqui nesse campo|não obrigatório|adiciona texto ao conteúdo| |sourceUrl|a url da fonte|não obrigatório|adiciona uma fonte ao conteúdo|

Esse método retorna uma Promise contendo um Content

Método delete

O método delete deleta o conteúdo. Esse método retorna uma Promise contendo um Content

Método upvote e downvote

os Métodos upvote e downvote não tem nenhum parâmetro. Esse método retorna uma Promise contendo um objeto parecido com isso: |Nome|Descrição| |--|--| |tabcoins|O numero de tabcoins que o contéudo ficou depois do upvote/downvote|

Aqui estão os eventos do tabnews.js, você pode escutar eles com:

<client ou watcher>.on("Nome do evento", (data) => {})

Ready

O evento ready é disparado quando o client faz login no tabnews, ele traz consigo um ClientUserData

<client>.on("ready", (clientUserData) => { console.log(clientUserData) })

Destroyed

O evento destroyed é disparado quando o client é destruído, ele traz consigo um ClientUserData

<client>.on("destroyed", (clientUserData) => { console.log(clientUserData) })

WatcherUpdate

o evento watcherUpdate é disparado quando um Watcher faz um update, ele traz consigo uma informação variada dependendo de o que você está assistindo.

<watcher>.on("watcherUpdate", (data) => { console.log(data) })

Problemas?

Caso você tenha um problema ou não entenda algo da documentação, não hesite em abrir uma issue ou entrar no discord do TabNews

1.1.0

2 years ago

1.0.5

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago