Talk-Chat FIT
Talk-Chat FIT 📱
Olá! 👋 Esse é um bot personalizado do Telegram que oferece assistência com prompts relacionados a condicionamento físico e nutrição.
Ele utiliza a API da OpenAI para responder às dúvidas dos usuários.
💬 〢 Conteúdo
🌀 Vitrine.Dev | |
---|---|
✨ Nome | Talk-Chat FIT |
🏷️ Tecnologias | NodeJS, Express, dotenv, OpenAI, Telegram Bot API |
🚀 URL | https://heroku.com |
🔥 Desafio |
🌐 〢 Conteúdo
- ✨ Recursos
- 💻 Tecnologias
- 🌀 Fluxo de Conversa
- ⚙️ Instalação
- 📁 Configuração: Keys
- 📁 Configuração: Heroku
- 🎉 Enjoy - Teste o BOT!
- 💬 Contato
✨〢 Recursos
- Prompt personalizado.
- Respostas para perguntas sobre nutrição e condicionamento físico.
- Opções de menu para facilitar a interação.
- Feedback de interação enquanto processa a resposta.
- Suporte para entrar em contato com a equipe. (Certifique-se de configurar sua mensagem e seu usuário no menu Contato)
💻 〢 Tecnologias
Talk-Chat FIT usa os seguintes projetos para funcionar:
- NodeJS - Evented I/O for the Backend
- Express - Fast Node.JS network app framework
- dotenv - A secrets manager for .env files.
- OpenAI - This library provides convenient access to the OpenAI REST API from TypeScript or JavaScript.
- Telegram Bot API - Telegram Bot API for NodeJS.
🌀 〢 Fluxo de Conversa
O bot inicia respondendo ao comando /start, oferecendo opções de menu.
O usuário pode escolher:
🥗 Nutrição;
🏋️ Condicionamento Físico.
Quando uma opção é selecionada, o bot responde a perguntas relacionadas ao tópico escolhido.
⚙️ 〢 Instalação
Talk-Chat FIT requer:
Node.js v18+ para funcionar.
Heroku CLI - A Interface de Linha de Comando (CLI) do Heroku é uma parte essencial para usar o Heroku. Com ela, você pode criar e gerenciar aplicativos Heroku diretamente pelo terminal.
**Pré-requisitos**
🔧
A CLI do Heroku requer o Git, um sistema popular de controle de versão. Se você não tiver o Git instalado, conclua:
Navegue até a pasta do projeto e instale as dependências:
npm install
npm init -y
npm i node-telegram-bot-api --save
npm i openai --save
npm i dotenv --save
npm i express --save
📁 〢 Configuração: Chaves
- Crie um arquivo
.env
e cole o código:
BOT_TOKEN="TELEGRAM_TOKEN"
OPEN_AI_API="OPEN_AI_KEY"
- Vá para o BotFather no Telegram, configure um novo bot com
/newbot
e adicione um nome para o bot. - Copie o token para acessar a API HTTP e cole-o em
"TELEGRAM_TOKEN"
no arquivo.env
. - Vá para o OpenAI, faça login ou cadastre-se e vá para Ver chaves da API.
📝Observação:
Você precisa recarregar $5 (valor mínimo) para usar a Chave da API da OpenAI
.

- Configure a nova chave e cole em
"OPEN_AI_KEY"
no arquivo.env
.
📁 〢 Configuração: Heroku
📝Observação:
O Heroku possui um Plano Gratuito, mas você precisa configurar um método de pagamento para usar o Heroku
.
- Após criar sua conta no Heroku, abra o
Git BASH
na pasta e faça login na sua conta do Heroku:
heroku login
- Clone este repositório para que você possa implantá-lo no Heroku. Execute:
git clone URL
- Crie um aplicativo no Heroku, que prepara o Heroku para receber o source code. Execute:
heroku create
Quando você cria um aplicativo, também cria um remoto Git chamado "heroku". Ele está associado ao seu repositório Git local.
⚠️IMPORTANTE:
Depois de criar o aplicativo, você configurar o arquivo Procfile
:
Cole o código abaixo dentro do arquivo Procfile
:
web: node index.js
- Configure as váriareis de ambiente do App.
heroku config:set OPEN_AI_API=Sua_Api_Key
heroku config:set BOT_TOKEN=TOKEN_DO_BOT_TELEGRAM
- Depois de configurar vá para Configurações do Heroku Apps.
- Selecione seu aplicativo.
- Vá para Configurações e copie seu
Webhook do Heroku
.

Cole na linha de código:

Depois de configurar o Webhook do Heroku, execute os comandos:
git add .
git commit -m Heroku Deploy App
git push heroku main
🎉DONE:
Agora o Bot está rodando no servidor Heroku
.
Para visualizar os Logs sobre seu aplicativo em execução, execute:
heroku logs --tail
O Heroku trata os logs como fluxos de eventos ordenados por tempo agregados dos fluxos de saída de todos os seus aplicativos e componentes do Heroku, fornecendo um único canal para todos os eventos.