🚀 Tagarela é uma aplicação open source construída em NodeJS e Express que permite o envio de mensagens para um canal específico no Discord através de um endpoint /send
. O objetivo deste projeto é simplificar o processo de integração com o Discord, facilitando a comunicação de eventos e alertas diretamente em um canal configurado.
- Envia mensagens para um canal no Discord via webhook
- Fácil integração com outros sistemas através de um simples POST no endpoint
/send
- Configuração rápida e direta de um webhook no Discord
- NodeJS
- Express
- Discord Webhooks
-
Clone este repositório:
git clone https://github.com/username/tagarela.git cd tagarela
-
Instale as dependências:
pnpm install
-
Configure as variáveis de ambiente no arquivo
.env
:DISCORD_WEBHOOK_URL=your_webhook_url_here TAGARELA_SECRET=your_secret_api_key_here
-
Inicie a aplicação em modo de desenvolvimento:
pnpm dev
-
Faça o build:
pnpm build
-
Inicie a aplicação:
pnpm start
A aplicação estará rodando em http://localhost:3000
.
A aplicação já está com o Dockerfile
e o docker-compose.yaml
devidamente configurados.
Para rodar o projeto no docker execute:
docker compose up --build
Certifique-se que realizou a build do projeto.
- Renomeie o arquivo
test.example.sh
paratest.sh
- Adicione permissão
chmod +x .teste.sh
- Incluia a sua
api-key
- Execute o teste
chmod +x .teste.sh
Envie uma requisição POST para o endpoint /send
com o seguinte corpo:
{
"message": "Sua mensagem aqui"
}
curl -X POST http://localhost:3000/send \
-H "Content-Type: application/json" \
-H "api-key: XXX" \
-d '{
"username": "Webhook",
"avatar_url": "https://i.imgur.com/4M34hi2.png",
"content": "Text message. Up to 2000 characters.",
"embeds": [
{
"author": {
"name": "Birdie♫",
"url": "https://www.reddit.com/r/cats/",
"icon_url": "https://i.imgur.com/R66g1Pe.jpg"
},
"title": "Title",
"url": "https://google.com/",
"description": "Text message. You can use Markdown here. *Italic* **bold** __underline__ ~~strikeout~~ [hyperlink](https://google.com) `code`",
"color": 15258703,
"fields": [
{
"name": "Text",
"value": "More text",
"inline": true
},
{
"name": "Even more text",
"value": "Yup",
"inline": true
},
{
"name": "Use `\"inline\": true` parameter, if you want to display fields in the same line.",
"value": "okay..."
},
{
"name": "Thanks!",
"value": "Hey :wink:"
}
],
"thumbnail": {
"url": "https://upload.wikimedia.org/wikipedia/commons/3/38/4-Nature-Wallpapers-2014-1_ukaavUI.jpg"
},
"image": {
"url": "https://upload.wikimedia.org/wikipedia/commons/5/5a/A_picture_from_China_every_day_108.jpg"
},
"footer": {
"text": "Woah! So cool! :smirk:",
"icon_url": "https://i.imgur.com/fKL31aD.jpg"
}
}
]
}'
- Acesse seu servidor no Discord e selecione o canal onde deseja receber as mensagens.
- Clique no ícone de configurações ao lado do canal e vá até a seção Integrações.
- Clique em Webhooks e, em seguida, em Criar Webhook.
- Configure o nome e a imagem do webhook, e copie a URL gerada.
- Defina a variável
DISCORD_WEBHOOK_URL
no arquivo.env
com a URL copiada.
Contribuições são bem-vindas! Siga os passos abaixo para colaborar:
- Faça um fork do projeto.
- Crie uma nova branch:
git checkout -b feature/nova-feature
- Faça suas alterações e adicione um commit:
git commit -m 'Adiciona nova feature'
- Envie as alterações:
git push origin feature/nova-feature
- Abra um Pull Request.
- Mantenha o código bem documentado.
- Garanta que todos os testes passem antes de abrir um PR.
- Siga o padrão de código definido no projeto.
- Seja respeitoso e colaborativo na comunidade.
Se você tiver alguma sugestão ou feedback, sinta-se à vontade para abrir uma issue ou entrar em contato.
Feito com 💙 por Diogo Cezar