Resultado do que aprendemos no #library do Discord.
Este projeto utiliza:
- Firebase
- Discord.js
- create-react-app
- CSS modules
- Sass
- Redux
- Redux Thunk
cp .env.example .env
npm install
npm run start
para iniciar o sitenpm run bot
para iniciar o bot
Se utiliza o Buddy para colocar o projeto no ar (tanto o site quanto o bot). Ele é um aplicativo automatizador de tarefas (como fazer build, entrar no SSH e rodar comandos, etc.). As pipelines para ele já existem, mas você pode saber como funciona indo até a pasta _buddy
, onde tem todos os passos.
Cada uma das duas pipelines fazem conexão com o SSH do CITi e a senha original foi omitida por razões óbvias.
Bot | Site |
---|---|
O bot da library não roda no mesmo arquivo que o bot do Joãozinho. O comando /library
é ignorado no Joãozinho para ser lidado com nosso outro bot.
Apesar disso, o bot da library está no mesmo diretório do Joãozinho no servidor (no webfaction: webapps/discord_joaozinho
) e eles rodam em dois processos diferentes.
-
Se conecte no SSH
-
Vá até o diretório do discord_joaozinho:
cd ~/webapps/discord_joaozinho
-
Como cada aplicação é isolada no Webfaction, você precisa exportar o diretório
bin
para poder chamar comandos comonpm
ounode
.export PATH=$HOME/webapps/discord_joaozinho/bin:$PATH
-
Digite
forever list
e veja as aplicações rodando.
-
Se conecte no SSH
-
Vá até o diretório do discord_joaozinho:
cd ~/webapps/discord_joaozinho
-
Como cada aplicação é isolada no Webfaction, você precisa exportar o diretório
bin
para poder chamar comandos comonpm
ounode
.export PATH=$HOME/webapps/discord_joaozinho/bin:$PATH
-
Digite
forever list
e veja quais aplicações estão rodando. Você pode pegar o caminho de cada log e digitarvim caminho/do/log
-
Para reiniciar, digite
forever restartall
A título de informação, o banco de dados do bot da library (eu realmente deveria escolher um nome pra ele) é completamente independente do Joãozinho.
- Baixe o site para seu computador
- Rode
npm install
- Rode
npm run build
para gerar os arquivos - Digite
scp build/* citi@citi.org.br:webapps/discord_library
e insira a senha do SSH - Espere todos os arquivos serem transferidos
- Logue-se no SSH, vá até o diretório
discord_library
- Digite
export PATH=$HOME/webapps/discord_library/bin:$PATH
- Digite
forever restart server.js
- Done! ✨
É uma boa depois passar o bot pra o repositório do Joãozinho, que tem deploy automático.
- Baixe o site para seu computador
- Rode
npm install
- Modifique o que precisar no bot (e garanta que ele está funcionando com suas modificações)
- Do diretório principal, digite
scp bot/index.js citi@citi.org.br:webapps/discord_joaozinho/library.js
e insira a senha do SSH - Espere tudo ser transferido
- Logue no SSH, vá até o diretório
discord_joaozinho
- Digite
export PATH=$HOME/webapps/discord_joaozinho/bin:$PATH
- Digite
forever restartall
- Done! ✨
- Baixe o site para seu computador
- Rode
npm install
- Use
nodemon bot/index.js
para rodar (toda vez que você atualizar algo no arquivo, o bot reiniciará)