isaacmsl / bot-dev-ifrn

Discord's Bot que monitora informações do Github relacionadas ao IFRN e as compartilha no servidor Dev IFRN
MIT License
0 stars 0 forks source link

Compartilhar o repositório atualizado recentemente #2

Closed isaacmsl closed 4 years ago

isaacmsl commented 4 years ago

Utilizando o enpoint público: https://api.github.com/search/repositories?q=ifrn+sort:updated

O primeiro item do resultado é o repositório recentemente atualizado.

Passo a passo

  1. Pegar o primeiro item de items
  2. Pegar o nome, descrição e link do repositório;
  3. Enviar mensagem para o servidor contendo:
    Contribua para o projeto <NOME_REPO>
    <DESCRIÇÃO_DO_REPO>
    <LINK_DO_REPO>
isaacmsl commented 4 years ago

Adicões:

Desenvolvi a nova funcionalidade da seguinte forma:

client.on('ready', async () => {
    try {
        const guild = client.guilds.cache.get(GUILD_ID)
        const channel = guild.channels.cache.get(CHANNEL_ID)

        const ghResponse = await axios.get('https://api.github.com/search/repositories?q=ifrn+sort:updated')
        const repositories = await ghResponse.data.items

        const recentlyRepo = repositories[0]

        await channel.send(`Contribua para o projeto **${recentlyRepo.name}**\n\n"${recentlyRepo.description}"\n\n**Linguagem**: ${(recentlyRepo.language) ? recentlyRepo.language: 'Não especificada'}\n\n${recentlyRepo.html_url}`)

        if (debug) {
            debug(`Enviei uma messagem ao canal ${channel.id} nome ${channel.name}`)
        }
    } catch (error) {
        if (debugErrors) {
            debugErrors(error)
        }
    } finally {
        client.destroy()
    }
})

Resultando em:

image