Skip to content

GabrielRF/ClientesChat

Repository files navigation

Sobre o serviço

A maneira mais organizada de atender seus clientes no Telegram!

Para mais informações e ajuda, visite o site.

Configuração

Banco de Dados

O bot exige um banco de dados MongoDB em funcionamento.

Container com banco de dados local

O arquivo docker_compose_local_mongodb.yml mostra como seria o deploy de um conteiner com o bot e outro com o banco de dados, já com a comunicação entre eles funcionando corretamente.

Container com baco de dados remoto

Para este caso, utilize o arquivo docker_compose_remote_mongodb.yml.

Variáveis de ambiente

TOKEN: Token do bot gerado no @BotFather;

SAC_CHANNEL: ID do canal em que serão feitos os atendimentos;

SAC_GROUP: ID do grupo que será vinculado ao canal para atendimentos;

BOT_USERNAME: Nome de usuário do bot que será exibido na mensagem inline;

MONGO_CON: String de conexão ao banco de dados;

LOG_DAYS: Tempo de retenção do histórico das mensagens no banco. Útil para que as respostas à mensagens funcionem adequadamente;

NOTIFY_ADMINS: 1 para notificar administradores em caso de novas mensagens. 0 para não notificar;

START_MSG: Mensagem de resposta ao comando de /start. Utilize <br> para quebras de linhas;

RESTART_MSG: Mensagem de resposta quando um atendimento é reaberto. Utilize <br> para quebras de linhas;

END_MSG: Mensagem enviada quando um atendimento é finalizado. Utilize <br> para quebras de linhas;

WEBHOOK`: Caso a variável seja definida, o bot irá funcionar com webhook. Caso contrário, com polling.

Docker

Docker Pulls

Escolhido o arquivo ideal para seu banco de dados e feitas as configurações das variáveis de ambiente, renomeie o arquivo para docker-compose.yml execute o comando:

docker-compose up -d

Python

Para usar este método é necessário ter um banco de dados MongoDB já em funcionamento.

Clone o repositório e edite as variáveis do arquivo bot.py conforme a explicação das variáveis de ambiente usadas em docker.

Instale as dependências:

pip install -r requirements.txt

Execute o bot:

python bot.py

AWS Lambda

Para mais informações, visite: serverless.com

O bot está pronto para funcionar com webhook em uma função AWS Lambda.

Edite o arquivo serverless_sample.yml seguindo as variáveis de ambiente explicadas anteriormente. Renomeie o arquivo para serverless.yml e execute:

export TOKEN=12345678:AAAAAAAAAAAAAAAAAAAAABBBBBBBCCCC
export WEBHOOK=True
serverless deploy

Isto irá criar a função e demais componentes necessários para o funcionamento do serviço. Copie a URL exibida no fim da execução e a defina como uma variável de ambiente. Execute:

python3 set_webhook.py <TOKEN> <URL_DA_FUNCAO>
serverless deploy

Contribuição

Toda contribuição é bem vinda!