/competente

O bot do compet

Primary LanguageTypeScriptMIT LicenseMIT

Competente

Para adicionar o competente no seu servidor do discord, basta clicar neste link.

Getting Started

Para rodar o bot em sua máquina e adicioná-lo ao seu servidor, siga esses passos:

Adicione o Bot Base

  • Acesse o site discord developers pelo link. Caso você não tenha o competente adicionado, adicione-o clocando em New Application.

  • Estando dentro do Competente siga o caminho OAuth2 -> URL Generator. Segue as configurações nas abas internas:

  • Em seguida copie o link que aparecerá na aba Generated URL e cole em um navegador. Esse link convidará o bot para seu servidor.
  • OBS: você deve ter permisão de administrador para adicioná-lo ao servidor e, futuramente, utilizá-lo.

Clone Repository

  • Clone o repositório em sua máquina
$ git clone git@github.com:DEV-COMPET/competente.git

Configure variáveis ambiente

  • crie um arquivo, na pasta raiz do projeto, nomeado .env, o qual possua a mesma estrutura do .env.example
  • para um detalhamento mais aprofundado das variáveis ambiente, vá para a seção env

Configure a Google API

  • o arquivo a ser modificado está situado em :
src/bot/utils/googleAPT/competente.development.example.json
  • para uma explicação mais detalhada, vá para a seção google API

Running locally

  • em dois terminais separados exeucte
$ npm run api:dev

e em seguida

$ npm run bot:dev

env

  • Nota: toas as variaveis ambiente com [*] são únicas e, portanto, devem ser guardadas com segurança assim que forem geradas inicialmente. Caso contrário, será necessário gerar uma nova chave.

DISCORD_GUILD_ID

  • Com o bot adicionado, clique no seu servidor e clique com o botão direito em cima do nome do servidor e cloque em "Copiar ID do Servidor".
  • Caso essa opção não apareça para você, será necessário que você habilite a opção de desenvolvedor da sua conta do discord. Para isso, siga esse caminho: Configurações de Usuário -> Avançado -> Modo de Desenvolvedor e habilite-o. Agora será possível copiar o ID do servidor, como mostrado no passo anterior.
  • Com o ID copiado, cole-o na aba de DISCORD_GUILD_ID.

DISCORD_PUBLIC_KEY

  • Disponível no site discord discord developers.
  • Siga o caminho: Applications -> Competente -> General Information -> PUBLIC KEY.
  • Essa é a chave que deverá ser colada em DISCORD_PUBLIC_KEY.

DISCORD_CLIENT_ID

  • Disponível no site discord discord developers.
  • Siga o caminho: Applications -> Competente -> OAuth2 -> CLIENT ID.
  • Essa é a chave que deverá ser colada em DISCORD_CLIENT_ID.

DISCORD_TOKEN [*]

  • Disponível no site discord discord developers.
  • Siga o caminho: Applications -> Competente -> Bot -> TOKEN.
  • Essa é a chave que deverá ser colada em DISCORD_TOKEN.

ENVIRONMENT

  • Depende de qual ambiente você está desenvolvendo: development ou production. Seja qual for, copiar como foi mostrado e colar dessa maneira.

GOOGLE_FORM_ID

AUTENTIQUE_TOKEN

  • Acesse o site da api do Autentique, clicar em Chaves de API, logar na conta responsável pelo autentique, nesse caso a conta do COMPET, e copiar o token que aparecerá na tela.

AUTENTIQUE_URL

  • Acesse o site da api do Autentique, e usar o link dito como endpoint.
  • Até o momento da confecção dessa documentação, este é, por padrão, https://api.autentique.com.br/v2/graphql.
  • OBS: este link pode mudar dependendo da versão atual da API, portanto vale a pena consultar o site da API para checar.

HOST

MONGODB_USER

  • Usuário do MongoDB.

MONGODB_PASSWORD

  • Senha referente ao usuário do MongoDB.

googleAPI

  • para baixar o secret, acesse o cloud da google. Estando nele, clique em Console, estando na conta da google correta.
  • Com o projeto aberto, siga o caminho: APIs e serviços -> Credenciais -> Conta em Contas de Serviço -> Chaves. Caso não consiga gerar nunhuma das chaves cadastradas, adicione uma nova chave. Você pode revogar qualquer chave ja existente quando quiser.
  • Ela gera um arquivo, que deve ser salvo como competente.development.json.

API

A ideia é construir uma api baseada nas demandas que o próprio compet pode vir a necessitar ou mesmo que já necessita atualmente, como por exemplo o cadastro de novos membros, ou a saida de um membro. Tornar o membro scrum de uma equipe ou participante de intercâmbio. As rotas da api serão rotas em geral restritas apenas a membros do compet com autorização para tal, Tutores scrums e devs, com isso em mente, para fins de documentação, aqui estão listadas os ENDPOINTS disponíveis para acesso atualmente:

Endpoint Metódo Descrição Autorização
/competianos GET Recebe uma lista com todos os competianos já cadastrados standart
/competianos/email GET Recebe os dados do competiano cujo email é igual ao passado no corpo da requisição standart
/competianos POST Cria um novo competiano standart
/competianos DELETE Exclui um competiano standart
/competianos PUT Atualiza os dados de um competiano standart
/certificados GET Recebe uma lista com todos os certificados já cadastrados standart
/certificados POST Registra os certificados salvos no link do drive na base de dados standart