{"id":17366990,"url":"https://github.com/gabrielrf/clienteschat","last_synced_at":"2025-09-20T18:32:23.745Z","repository":{"id":81479806,"uuid":"435946166","full_name":"GabrielRF/ClientesChat","owner":"GabrielRF","description":"A melhor maneira de atender seus clientes no Telegram!","archived":false,"fork":false,"pushed_at":"2023-06-26T21:47:12.000Z","size":58,"stargazers_count":14,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-31T11:23:39.501Z","etag":null,"topics":["atendimento","atendimento-virtual","clientes","telegram","telegram-bot"],"latest_commit_sha":null,"homepage":"https://clientes.chat","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GabrielRF.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-07T16:09:54.000Z","updated_at":"2024-07-05T14:58:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"7e15f0ea-52ad-420a-b3e8-0710598de1bc","html_url":"https://github.com/GabrielRF/ClientesChat","commit_stats":{"total_commits":80,"total_committers":3,"mean_commits":"26.666666666666668","dds":"0.15000000000000002","last_synced_commit":"58e72184c5c83e03e4b0168e464bfc571c4c968b"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabrielRF%2FClientesChat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabrielRF%2FClientesChat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabrielRF%2FClientesChat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabrielRF%2FClientesChat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GabrielRF","download_url":"https://codeload.github.com/GabrielRF/ClientesChat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233680916,"owners_count":18713373,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["atendimento","atendimento-virtual","clientes","telegram","telegram-bot"],"created_at":"2024-10-15T22:16:54.155Z","updated_at":"2025-09-20T18:32:18.480Z","avatar_url":"https://github.com/GabrielRF.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Clientes.Chat](https://clientes.chat)\n\n* [Sobre o serviço](#sobre-o-serviço)\n* [Configuração](#configuração)\n  * [Banco de Dados](#banco-de-dados)\n  * [Variáveis de Ambiente](#variáveis-de-ambiente)\n  * [Docker](#docker)\n  * [Python](#python)\n  * [AWS Lambda](#aws-lambda)\n* [Contribuição](#contribuição)\n\n## Sobre o serviço\n\nA maneira mais organizada de atender seus clientes no Telegram!\n\nPara mais informações e ajuda, [visite o site](https://clientes.chat).\n\n## Configuração\n\n### Banco de Dados\n\nO bot exige um banco de dados MongoDB em funcionamento.\n\n#### Container com banco de dados local\n\nO 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. \n\n#### Container com baco de dados remoto\n\nPara este caso, utilize o arquivo `docker_compose_remote_mongodb.yml`.\n\n### Variáveis de ambiente\n\n`TOKEN`: Token do bot gerado no [@BotFather](https://t.me/BotFather);\n\n`SAC_CHANNEL`: ID do canal em que serão feitos os atendimentos;\n\n`SAC_GROUP`: ID do grupo que será vinculado ao canal para atendimentos;\n\n`BOT_USERNAME`: Nome de usuário do bot que será exibido na mensagem inline;\n\n`MONGO_CON`: String de conexão ao banco de dados;\n\n`LOG_DAYS`: Tempo de retenção do histórico das mensagens no banco. Útil para que as respostas à mensagens funcionem adequadamente;\n\n`NOTIFY_ADMINS`: `1` para notificar administradores em caso de novas mensagens. `0` para não notificar;\n\n`START_MSG`: Mensagem de resposta ao comando de `/start`. Utilize `\u003cbr\u003e` para quebras de linhas;\n\n`RESTART_MSG`: Mensagem de resposta quando um atendimento é reaberto. Utilize `\u003cbr\u003e` para quebras de linhas;\n\n`END_MSG`: Mensagem enviada quando um atendimento é finalizado. Utilize `\u003cbr\u003e` para quebras de linhas;\n\nWEBHOOK`: Caso a variável seja definida, o bot irá funcionar com webhook. Caso contrário, com polling.\n\n### Docker\n\n![Docker Pulls](https://img.shields.io/docker/pulls/gabrielrf/clienteschat)\n\nEscolhido 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:\n\n`docker-compose up -d`\n\n### Python\n\n\u003e Para usar este método é necessário ter um banco de dados MongoDB já em funcionamento.\n\nClone 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).\n\nInstale as dependências:\n\n```\npip install -r requirements.txt\n```\n\nExecute o bot:\n\n```\npython bot.py\n```\n\n### AWS Lambda\n\n\u003e Para mais informações, visite: [serverless.com](https://www.serverless.com/framework/docs/getting-started)\n\nO bot está pronto para funcionar com *webhook* em uma função AWS Lambda.\n\nEdite 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:\n\n```\nexport TOKEN=12345678:AAAAAAAAAAAAAAAAAAAAABBBBBBBCCCC\nexport WEBHOOK=True\nserverless deploy\n```\n\nIsto 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:\n\n```\npython3 set_webhook.py \u003cTOKEN\u003e \u003cURL_DA_FUNCAO\u003e\nserverless deploy\n```\n\n## Contribuição\n\n**Toda contribuição é bem vinda!**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabrielrf%2Fclienteschat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgabrielrf%2Fclienteschat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabrielrf%2Fclienteschat/lists"}