Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gabrielrf/clienteschat
A melhor maneira de atender seus clientes no Telegram!
https://github.com/gabrielrf/clienteschat
atendimento atendimento-virtual clientes telegram telegram-bot
Last synced: 27 days ago
JSON representation
A melhor maneira de atender seus clientes no Telegram!
- Host: GitHub
- URL: https://github.com/gabrielrf/clienteschat
- Owner: GabrielRF
- License: gpl-3.0
- Created: 2021-12-07T16:09:54.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2023-06-26T21:47:12.000Z (over 1 year ago)
- Last Synced: 2024-12-03T23:33:27.594Z (about 1 month ago)
- Topics: atendimento, atendimento-virtual, clientes, telegram, telegram-bot
- Language: Python
- Homepage: https://clientes.chat
- Size: 56.6 KB
- Stars: 14
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# [Clientes.Chat](https://clientes.chat)
* [Sobre o serviço](#sobre-o-serviço)
* [Configuração](#configuração)
* [Banco de Dados](#banco-de-dados)
* [Variáveis de Ambiente](#variáveis-de-ambiente)
* [Docker](#docker)
* [Python](#python)
* [AWS Lambda](#aws-lambda)
* [Contribuição](#contribuição)## Sobre o serviço
A maneira mais organizada de atender seus clientes no Telegram!
Para mais informações e ajuda, [visite o site](https://clientes.chat).
## 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](https://t.me/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 `
` para quebras de linhas;`RESTART_MSG`: Mensagem de resposta quando um atendimento é reaberto. Utilize `
` para quebras de linhas;`END_MSG`: Mensagem enviada quando um atendimento é finalizado. Utilize `
` 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](https://img.shields.io/docker/pulls/gabrielrf/clienteschat)
Escolhido o arquivo ideal para seu banco de dados e feitas as configurações das [variáveis de ambiente](#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](#variáveis-de-ambiente).
Instale as dependências:
```
pip install -r requirements.txt
```Execute o bot:
```
python bot.py
```### AWS Lambda
> Para mais informações, visite: [serverless.com](https://www.serverless.com/framework/docs/getting-started)
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](#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
serverless deploy
```## Contribuição
**Toda contribuição é bem vinda!**