authwa


Nameauthwa JSON
Version 0.3.47 PyPI version JSON
download
home_pageNone
SummaryAutomações WhatsApp
upload_time2024-04-10 02:49:27
maintainerNone
docs_urlNone
authorGuilherme Breve
requires_python<4.0,>=3.9
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # AuthWA
<img src = 'docs/assets/robot.png' width='100'/>

## Banco de Dados Permitidos!
![MicrosoftSQLServer](https://img.shields.io/badge/Microsoft%20SQL%20Server-CC2927?style=for-the-badge&logo=microsoft%20sql%20server&logoColor=white)
![SQLite](https://img.shields.io/badge/sqlite-%2307405e.svg?style=for-the-badge&logo=sqlite&logoColor=white)
![MySQL](https://img.shields.io/badge/mysql-%2300f.svg?style=for-the-badge&logo=mysql&logoColor=white)

## Instalação

### Como instalar
Rode o comando abaixo em seu terminal ou CMD!

    pip install authwa

### Execução

Importe o modulo e adicione a uma variavel, chamando a classe desejada!

    import authWA

    whats = authWA.WA()

    whats.enviar_msg()

## Preparando o ambiente de envio

Após criar abra o terminal(PowerShell) ou CMD.

> No windows: 
>> apertando __WIN + R__ e digitando __CMD__ pressione *Enter*

> No Linux: 
>> apertando __CTRL + T__ ou __CTRL + ALT + T__ ou pressione __COMMAND ou WIN__ e digite *TERMINAL*

Terminal

![Terminal](docs/image-4.png)

Agora abra o WhatsApp faça o seguinte atalho *ALT + TAB*,
Para voltar ao terminal !

Para que seu codigo funcione é importante que deixe o whatsapp aberto, pois o codigo irá usar o atalho *Alt + Tab* para acessa-lo. 

![alt text](docs/image.png)

É importante também que __não movimente ou clique com o mouse e nem pressione nenhuma tecla__ durante o processo, o indicado é ter uma maquina como servidor para que o codigo tenha mais eficiencia, mas não é obrigatório.

<img src='https://th.bing.com/th/id/OIG3.F5iVKGOiGwjchlga1ZcZ?w=1024&h=1024&rs=1&pid=ImgDetMain' alt ='mencoffee' width=400/>

## Whatsapp
Envio de mensagens simples e com Imagens no o Whatsapp, para deixar sua imaginação fluir e construir suas automações!

>### Objetivo
> A Intenção deste modulo do AuthWA, é que você consiga usar a critividade para criar suas automações.

### **Envio simples de mensagem**

Para envio de mensagens simples, usando o modulo __WA__, é bem fácil, porém lembre-se bem deste módulo, pois ele será muito importante nos módulos a frente!

Importando o WA()

    from authWA import WA

    whats = WA()

A partir dai podemos utilizar seus modulos

> Dentro do WA() temos os seguintes modulos

> - enviar_msg( )
> - sql_connection( )
> - criar_imagem_SQL( )

### enviar_msg()
Está função faz um envio __simples ou com uma imagem__ embutida, para isto precisa ter preparado o ambiente.

> **Parametros**

> Nome = Nome do Contato a ser enviado a mensagem

> Mensagem = Mensagem a ser enviada ou a Legenda que vai na imagem

> Img = Aqui você devera colocar o caminho da Imagem a ser enviada

    from authWA import WA

    whats = WA()


    # Envio sem imagem
    whats.enviar_msg(
        nome = "Nome do contato",
        mensagem = "Isto foi enviado pelo AuthWA"
    )

    # Envio com imagem
    whats.enviar_msg(
        nome = "Nome do contato",
        mensagem = "Isto foi enviado pelo AuthWA"
        img = "imagens/image.png"
    )

### sql_connection()
Para realizar uma conexão com o banco de dados, precisamos de alguns parametros, lembre-se sempre que for realizar uma conexão com o banco de dados, faze-la no **incio** do projeto!
> **Parametros**
>> **Obrigatórios**

> uid = Usuário DB

> pwd = Senha de Acesso do DB

> server = Servidor do DB

>> **Opcional caso for utilizar o SQL Server**

> database = Banco de Dados a ser utilizado

> driver = Qual driver usar você encontra no site do SQL Alchemy:

> <a href = 'https://docs.sqlalchemy.org/en/20/core/engines.html'> Drivers do SQLAlchemy</a>

SQLite

![SQLITE](docs/image-1.png)

SQL Server

![SQL SERVER](docs/image-2.png)

MySQL

![MYSQL](docs/image-3.png)

Exemplo de código

    from authWA import WA

    whats = WA()

    # Obrigatorio
    conn = whats.sql_connection(
        uid = "usuario.aqui",
        pwd = "suasenhavemaqui",
        server = "10.0.1.0",
    )

    # Opcionais
    conn = whats.sql_connection(
        uid = "usuario.aqui",
        pwd = "suasenhavemaqui",
        server = "10.0.1.0",
        database = "DATABASE",
        driver = "SQL Server"
    )   

    print(conn)

    # Saida do código
    // "Conexão realizada com sucesso!" 
    ou
    // "Conexão Invalida"

### criar_imagem_SQL()
Com a conexão realizada você pode agora fazer pesquisas e elas seram tranformadas em um arquivo PNG

> Parametros

> - consulta = Consulta SQL para gerar o Dataframe.

> - arquivo = Diretorio onde salvar o arquivo, este item é OPCIONAL, ja que o diretório padrão é __*dist/temp.png*__ e indicamos utilizar ele.

    from authWA import WA

    whats = WA()

    # Se conectando ao DB
    whats.sql_connection(
        uid = 'usuario.db',
        pwd = 'minhasenha',
        server = '10.10.0.10'
    )

    # Criando Imagem
    img = whats.criar_imagem_SQL(
        consulta = """
        SELECT Nome, TerminoReal as Data
        FROM Table
        """,
        arquivo = './img.png' # Lembrando que passar o arquivo é OPCIONAL
    )

    print(img)

Detalhe: A saida do print acima não será a imagem de fato e sim o caminho até ela, exemplo: __caminho/arquivo.png__

**Saida:** 

*./img.png*

**Imagem:**

![DataFrame](docs/img.png)

## Parcial
### O que é Parcial ???
*Parcial é basicamente algo mais intenso do que uma simples mensagem !*

Sabe aquele acompanhamento que você quer fazer seja pra sua empresa ou pra uso pessoal? Aquele acompanhamento Hora a Hora, pois é com o Parcial você consegue facilmente.

Sabe Aquela mensagem te lembrando de fazer algo ou de uma agenda que você não pode esquecer e tem que receber essa mensagem numa hora especifica, com o Parcial é mais facil.

Aquela mensagem para seus clientes que lembrando das promoções, sempre em um horario especifico, com o Parcial, você consegue facilmente.

### Parcial - O começo

Bom, para criarmos o hora a hora, é bem simples, vamos usar alguns conceitos do WA() então é importante que tenha dominio com este modulo

    from authWA import Parcial

    # Para mensagens simples
    p = Parcial('','','')

    # Para mensagens com DB
    p = Parcial(
        'usuario.db',
        'minhasenha',
        '10.0.0.1' # Exemplo de Servidor
    )

    lista_de_contatos = []
Normalmente você quer usar o Parcial quando se trata de muitos contatos!
Pensando nisso, vamos utilizar um lista para os contatos 
Lembrano que ira enviar somente dias da Semana ou seja de Segunda a Sexta, para fim de semanas e horarios exatos, iremos falar depois!

**Lambda:**

Dentro desta lista, vamos passar funções, mas para que ela não seja chamada, iremos usar uma função do Python chamada **lambda:**

<a href = "https://www.hashtagtreinamentos.com/funcoes-lambda-python?gad_source=1&gclid=CjwKCAiA_aGuBhACEiwAly57MceSncFkfqjcgHiMp7jKizAKtmOr_FXWju7Ldqj7osean_5glMJXwhoCLoYQAvD_BwE"> Clique aqui para mais informações sobre o lambda </a>

    from authWA import Parcial

    p = Parcial('','','')

    lista_de_contatos = [
        # Agora iremos criar a lambda!
        lambda: function()
    ]

### Parcial - Dias de Semana

Para criarmos as parciais do dias da semana iremos usar uma *tuple*

    tuple = (
        lambda:function2()
        lambda:function()s, 
    )

No lugar desta **function()** iremos usar o nosso conhecimento do módulo WA(), iremos chamar a função de mensagem deste modulo dentro da *lambda*

Mas não precisamos importar o modulo WA() pois ele ja esta embutido no Parcial(), ele esta definido como *whats*, sendo assim podemos chama-lo usando a variavel onde colocamos o Parcial().

    from authWA import Parcial

    p = Parcial('','','')

    # Lista que criamos acima
    lista_de_contatos = []

    # Criando a tupla dos dias de semana
    dds = (
        lambda: p.whats.enviar_mensagem(
            nome = "Contato 1",
            mensagem = "Codando com AuthWA!"
        ),
        lambda: p.whats.enviar_mensagem(
            nome = "Contato 2",
            mensagem = "Codando com AuthWA!"
        ),
        lambda: p.whats.enviar_mensagem(
            nome = "Contato 3",
            mensagem = "Codando com AuthWA!"
        ),
    )

    # Usamos o APPEND para adicionarmos a tuple(dds) na lista(lista_de_contatos)
    lista_de_contatos.append(dds)

Certo, mas só fizemos a lista, ele ainda não vai executar de forma automática !

Para isso iremos entender outras coisinhas antes:

> Como definir horario de Inicio e horario de Fim

>> Para isso dentro do proprio Parcial() passamos estes parametros

>> Lembrando que o valor padrão dele é o horario comercial, ou seja das 08hrs as 18hrs

>> hora_inicio = 8

>> hora_final = 18

>>      from authWA import Parcial

>>      p = Parcial('','','', hora_inicio = 8, hora_final = 18)

Caso você iniciou a Parcial depois do horario de inicio, automaticamente ele vai iniciar 1 hora depois(Em ponto), por exemplo se você iniciar o codigo as 11:25 ele vai iniciar a parcial 12:00.

Caso tenha sido ao contrario, inciado antes ou iniciado depois da hora final, ele só ira iniciar no horario definido para inicio.

Exemplos: 

 > - Inicar o codigo as 06 com o inicio previsto as 8, quando der 08:00 do mesmo dia ele ira executar!

 > - Iniciar o código as 19 com o fim as 18, ele só ira executar no inicio do outro dia!

 Tendo entendido isso, agora iremos iniciar o nosso *loop*, para isso temos uma função especifica, o *main_loop()*, onde vamos passar como parametro a nossa **lista_de_contatos:**
    
    from authWA import Parcial

    p = Parcial('','','')

    lista_de_contatos = []

    dds = (
        lambda: p.whats.enviar_mensagem(
            nome = "Contato 1",
            mensagem = "Codando com AuthWA!"
        ),
        lambda: p.whats.enviar_mensagem(
            nome = "Contato 2",
            mensagem = "Codando com AuthWA!"
        ),
        lambda: p.whats.enviar_mensagem(
            nome = "Contato 3",
            mensagem = "Codando com AuthWA!"
        ),
    )

    lista_de_contatos.append(dds)

    # Lembrando que temos que passar obrigatoriamente uma lista !
    p.main_loop(lista_de_contatos)

**Output//Saida**
Podemos ver abaixo,, que ele nos retorna o horario atual e quando a parcial sera iniciada!

*Lembrando que esse processo é automatico, então não se preocupe com isso!*

![ExecutandoPrimeiroloop](docs/image-5.png)

### Parcial - Fim de Semana

Bom para fazermos o fim de semana precisamos enteder os dias de semana, não pule pra cá, sem antes entender o __Dias da Semana__

Para o sistema entender que precisa ser executado aos fins de semana, adicionarmos funções que serão realizadas, para isso iremos usar um *lista!* Veja o exemplo abaixo.

    from authWA import Parcial

    p = Parcial('','','')

    lista_de_contatos = []

    # Tupla dos Dias de Semana
    dds = (
        p.whats.enviar_msg(
            nome='Contato 1',
            mensagem = 'Coda comigo'
        )
    )

    # Lista do Fim de Semana
    fds = [
        p.whats.enviar_msg(
            nome='Contato do fim de semana',
            mensagem = 'Estamos atendendo venha conferir nossas promoções'
        )
    ]

    lista_de_contatos.append(dds)
    lista_de_contatos.append(fds)

    p.main_loop(lista_de_contatos)

> *Uma lista dentro de outra lista?*

> Sim o tem de ser exatamente assim !

> O sistema entende *tuplas* como dias de semana e *listas* como fim de semana, mas lembre-se que ambas precisam estar dentro de uma lista __master__, que nesse caso seria nossa *lista_de_contatos*

Caso seus contatos do fim de semana sejam os mesmo que dos Dias de semana, podemos fazer da seguinte maneira:

> Pra economizarmos código, podemos converter nossa tupla em lista!
> E desta forma, podemos ter os mesmos contatos do dias de semana

    from authWA import Parcial

    p = Parcial('','','')

    lista_de_contatos = []

    dds = (
            p.whats.enviar_msg(
                nome='Contato 1',
                mensagem = 'Coda comigo'
            ),
        )

    # Desta forma teremos os mesmos contatos no fim de semana
    fds = list(dds)

    lista_de_contatos.append(fds)

    p.main_loop(lista_de_contatos)

### Parcial - Horarios Especificos
Bom se ja usamos tuplas e listas agora o que vamos usar para os horaários especificos, pois bem se você pensou em dict ou dicionários, você acertou na mosca!

Como esses parametros não dependem de ser enviados hora a hora, temos de passar a função com o *lambda* dentro de um __dict__, sua estrutura sempre seguirá assim:

 *dict = {horario:funtion()}*
 
  veja o exemplo, abaixo:

    from authWA import Parcial

    p = Parcial('','','')

    lista_de_contatos = []

    agenda = {
        '10:00':lambda: p.whats.enviar_msg(
            'Contato 1',
            'Não esqueça de tal coisa'
            ),
        '15:30':lambda: p.whats.enviar_msg(
            'Contato 2', 
            'Vá ao dentista'
            ),
        '22:00':lambda: p.whats.enviar_msg(
            'Contato 3',
            'Horá de dormir!!!!!!!'
            )
        '22:00':lambda: p.whats.enviar_msg(
            'Contato 3',
            'Sua agenda de amanha!',
            p.whats.criar_imagem_SQL(
                'SELECT * FROM AGENDA WHERE DAY = TODAY() + 1'
                )
            )
        }

    lista_de_contatos.append(agenda)

> Então sim você consegue ter sua agenda pessoal te lembrando das coisas por mensagem rsrs.

Pronto agora você ja sabe como usar o __AuthWA__ espero ter ajudado. 🥰💖

## Issues // Problemas
![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)

Caso tenha algum bug oui problema não hesitaremos em consertar, por mais que nosso log de erros seja efetivo, peço que abram sim um ISSUE no githubs, talvez a duvida de vocês ou o problema, tamém seja o de outros, agradeço a compreensão!

> Link para abertura de ISSUE

> <a href = 'https://github.com/foxtec198/AuthWA/issues/new'> Clique aqui para abrir uma nova ISSUE </a>

## Sobre
<br>
<img src='https://avatars.githubusercontent.com/u/64221923?v=4' width=150 style='border-radius:50%;'/>
<b>Guilherme Breve - Analista</b>

<br>

Atualmente trabalho como analista de Projetos, e como desenvolvedor full stack, tenho uma empresa de desenvolvimento de sistema para gestões comerciais e demais areas!

Minha intenção com o AuthWA é ajudar as pessoas, sem lucros financeiros.

Mas caso eu tenha te ajudado de alguma forma e creia que isso deva ser recompensado deixarei abaixo algumas forams de contribuir. 🥰

Muito obrigado por ter lido esta documentação e por usar o AuthWA, caso queiram fazer um fork e melhorar, estamos sempre dispostos a melhorias e progressões. 💖💖

<h1 style='text-align: center'><b>Pix:</b></h1>

<div style='display:flex; justify-content: center;'>
    <img src = docs/pix.png width=200 style='border-radius: 20px'/>
</div>


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "authwa",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": null,
    "keywords": null,
    "author": "Guilherme Breve",
    "author_email": "64221923+foxtec198@users.noreply.github.com",
    "download_url": "https://files.pythonhosted.org/packages/71/b3/96aa451c71f9ec1d313c8707128fe9fed1865bb122446ed971c95b6b0ccb/authwa-0.3.47.tar.gz",
    "platform": null,
    "description": "# AuthWA\n<img src = 'docs/assets/robot.png' width='100'/>\n\n## Banco de Dados Permitidos!\n![MicrosoftSQLServer](https://img.shields.io/badge/Microsoft%20SQL%20Server-CC2927?style=for-the-badge&logo=microsoft%20sql%20server&logoColor=white)\n![SQLite](https://img.shields.io/badge/sqlite-%2307405e.svg?style=for-the-badge&logo=sqlite&logoColor=white)\n![MySQL](https://img.shields.io/badge/mysql-%2300f.svg?style=for-the-badge&logo=mysql&logoColor=white)\n\n## Instala\u00e7\u00e3o\n\n### Como instalar\nRode o comando abaixo em seu terminal ou CMD!\n\n    pip install authwa\n\n### Execu\u00e7\u00e3o\n\nImporte o modulo e adicione a uma variavel, chamando a classe desejada!\n\n    import authWA\n\n    whats = authWA.WA()\n\n    whats.enviar_msg()\n\n## Preparando o ambiente de envio\n\nAp\u00f3s criar abra o terminal(PowerShell) ou CMD.\n\n> No windows: \n>> apertando __WIN + R__ e digitando __CMD__ pressione *Enter*\n\n> No Linux: \n>> apertando __CTRL + T__ ou __CTRL + ALT + T__ ou pressione __COMMAND ou WIN__ e digite *TERMINAL*\n\nTerminal\n\n![Terminal](docs/image-4.png)\n\nAgora abra o WhatsApp fa\u00e7a o seguinte atalho *ALT + TAB*,\nPara voltar ao terminal !\n\nPara que seu codigo funcione \u00e9 importante que deixe o whatsapp aberto, pois o codigo ir\u00e1 usar o atalho *Alt + Tab* para acessa-lo. \n\n![alt text](docs/image.png)\n\n\u00c9 importante tamb\u00e9m que __n\u00e3o movimente ou clique com o mouse e nem pressione nenhuma tecla__ durante o processo, o indicado \u00e9 ter uma maquina como servidor para que o codigo tenha mais eficiencia, mas n\u00e3o \u00e9 obrigat\u00f3rio.\n\n<img src='https://th.bing.com/th/id/OIG3.F5iVKGOiGwjchlga1ZcZ?w=1024&h=1024&rs=1&pid=ImgDetMain' alt ='mencoffee' width=400/>\n\n## Whatsapp\nEnvio de mensagens simples e com Imagens no o Whatsapp, para deixar sua imagina\u00e7\u00e3o fluir e construir suas automa\u00e7\u00f5es!\n\n>### Objetivo\n> A Inten\u00e7\u00e3o deste modulo do AuthWA, \u00e9 que voc\u00ea consiga usar a critividade para criar suas automa\u00e7\u00f5es.\n\n### **Envio simples de mensagem**\n\nPara envio de mensagens simples, usando o modulo __WA__, \u00e9 bem f\u00e1cil, por\u00e9m lembre-se bem deste m\u00f3dulo, pois ele ser\u00e1 muito importante nos m\u00f3dulos a frente!\n\nImportando o WA()\n\n    from authWA import WA\n\n    whats = WA()\n\nA partir dai podemos utilizar seus modulos\n\n> Dentro do WA() temos os seguintes modulos\n\n> - enviar_msg( )\n> - sql_connection( )\n> - criar_imagem_SQL( )\n\n### enviar_msg()\nEst\u00e1 fun\u00e7\u00e3o faz um envio __simples ou com uma imagem__ embutida, para isto precisa ter preparado o ambiente.\n\n> **Parametros**\n\n> Nome = Nome do Contato a ser enviado a mensagem\n\n> Mensagem = Mensagem a ser enviada ou a Legenda que vai na imagem\n\n> Img = Aqui voc\u00ea devera colocar o caminho da Imagem a ser enviada\n\n    from authWA import WA\n\n    whats = WA()\n\n\n    # Envio sem imagem\n    whats.enviar_msg(\n        nome = \"Nome do contato\",\n        mensagem = \"Isto foi enviado pelo AuthWA\"\n    )\n\n    # Envio com imagem\n    whats.enviar_msg(\n        nome = \"Nome do contato\",\n        mensagem = \"Isto foi enviado pelo AuthWA\"\n        img = \"imagens/image.png\"\n    )\n\n### sql_connection()\nPara realizar uma conex\u00e3o com o banco de dados, precisamos de alguns parametros, lembre-se sempre que for realizar uma conex\u00e3o com o banco de dados, faze-la no **incio** do projeto!\n> **Parametros**\n>> **Obrigat\u00f3rios**\n\n> uid = Usu\u00e1rio DB\n\n> pwd = Senha de Acesso do DB\n\n> server = Servidor do DB\n\n>> **Opcional caso for utilizar o SQL Server**\n\n> database = Banco de Dados a ser utilizado\n\n> driver = Qual driver usar voc\u00ea encontra no site do SQL Alchemy:\n\n> <a href = 'https://docs.sqlalchemy.org/en/20/core/engines.html'> Drivers do SQLAlchemy</a>\n\nSQLite\n\n![SQLITE](docs/image-1.png)\n\nSQL Server\n\n![SQL SERVER](docs/image-2.png)\n\nMySQL\n\n![MYSQL](docs/image-3.png)\n\nExemplo de c\u00f3digo\n\n    from authWA import WA\n\n    whats = WA()\n\n    # Obrigatorio\n    conn = whats.sql_connection(\n        uid = \"usuario.aqui\",\n        pwd = \"suasenhavemaqui\",\n        server = \"10.0.1.0\",\n    )\n\n    # Opcionais\n    conn = whats.sql_connection(\n        uid = \"usuario.aqui\",\n        pwd = \"suasenhavemaqui\",\n        server = \"10.0.1.0\",\n        database = \"DATABASE\",\n        driver = \"SQL Server\"\n    )   \n\n    print(conn)\n\n    # Saida do c\u00f3digo\n    // \"Conex\u00e3o realizada com sucesso!\" \n    ou\n    // \"Conex\u00e3o Invalida\"\n\n### criar_imagem_SQL()\nCom a conex\u00e3o realizada voc\u00ea pode agora fazer pesquisas e elas seram tranformadas em um arquivo PNG\n\n> Parametros\n\n> - consulta = Consulta SQL para gerar o Dataframe.\n\n> - arquivo = Diretorio onde salvar o arquivo, este item \u00e9 OPCIONAL, ja que o diret\u00f3rio padr\u00e3o \u00e9 __*dist/temp.png*__ e indicamos utilizar ele.\n\n    from authWA import WA\n\n    whats = WA()\n\n    # Se conectando ao DB\n    whats.sql_connection(\n        uid = 'usuario.db',\n        pwd = 'minhasenha',\n        server = '10.10.0.10'\n    )\n\n    # Criando Imagem\n    img = whats.criar_imagem_SQL(\n        consulta = \"\"\"\n        SELECT Nome, TerminoReal as Data\n        FROM Table\n        \"\"\",\n        arquivo = './img.png' # Lembrando que passar o arquivo \u00e9 OPCIONAL\n    )\n\n    print(img)\n\nDetalhe: A saida do print acima n\u00e3o ser\u00e1 a imagem de fato e sim o caminho at\u00e9 ela, exemplo: __caminho/arquivo.png__\n\n**Saida:** \n\n*./img.png*\n\n**Imagem:**\n\n![DataFrame](docs/img.png)\n\n## Parcial\n### O que \u00e9 Parcial ???\n*Parcial \u00e9 basicamente algo mais intenso do que uma simples mensagem !*\n\nSabe aquele acompanhamento que voc\u00ea quer fazer seja pra sua empresa ou pra uso pessoal? Aquele acompanhamento Hora a Hora, pois \u00e9 com o Parcial voc\u00ea consegue facilmente.\n\nSabe Aquela mensagem te lembrando de fazer algo ou de uma agenda que voc\u00ea n\u00e3o pode esquecer e tem que receber essa mensagem numa hora especifica, com o Parcial \u00e9 mais facil.\n\nAquela mensagem para seus clientes que lembrando das promo\u00e7\u00f5es, sempre em um horario especifico, com o Parcial, voc\u00ea consegue facilmente.\n\n### Parcial - O come\u00e7o\n\nBom, para criarmos o hora a hora, \u00e9 bem simples, vamos usar alguns conceitos do WA() ent\u00e3o \u00e9 importante que tenha dominio com este modulo\n\n    from authWA import Parcial\n\n    # Para mensagens simples\n    p = Parcial('','','')\n\n    # Para mensagens com DB\n    p = Parcial(\n        'usuario.db',\n        'minhasenha',\n        '10.0.0.1' # Exemplo de Servidor\n    )\n\n    lista_de_contatos = []\nNormalmente voc\u00ea quer usar o Parcial quando se trata de muitos contatos!\nPensando nisso, vamos utilizar um lista para os contatos \nLembrano que ira enviar somente dias da Semana ou seja de Segunda a Sexta, para fim de semanas e horarios exatos, iremos falar depois!\n\n**Lambda:**\n\nDentro desta lista, vamos passar fun\u00e7\u00f5es, mas para que ela n\u00e3o seja chamada, iremos usar uma fun\u00e7\u00e3o do Python chamada **lambda:**\n\n<a href = \"https://www.hashtagtreinamentos.com/funcoes-lambda-python?gad_source=1&gclid=CjwKCAiA_aGuBhACEiwAly57MceSncFkfqjcgHiMp7jKizAKtmOr_FXWju7Ldqj7osean_5glMJXwhoCLoYQAvD_BwE\"> Clique aqui para mais informa\u00e7\u00f5es sobre o lambda </a>\n\n    from authWA import Parcial\n\n    p = Parcial('','','')\n\n    lista_de_contatos = [\n        # Agora iremos criar a lambda!\n        lambda: function()\n    ]\n\n### Parcial - Dias de Semana\n\nPara criarmos as parciais do dias da semana iremos usar uma *tuple*\n\n    tuple = (\n        lambda:function2()\n        lambda:function()s, \n    )\n\nNo lugar desta **function()** iremos usar o nosso conhecimento do m\u00f3dulo WA(), iremos chamar a fun\u00e7\u00e3o de mensagem deste modulo dentro da *lambda*\n\nMas n\u00e3o precisamos importar o modulo WA() pois ele ja esta embutido no Parcial(), ele esta definido como *whats*, sendo assim podemos chama-lo usando a variavel onde colocamos o Parcial().\n\n    from authWA import Parcial\n\n    p = Parcial('','','')\n\n    # Lista que criamos acima\n    lista_de_contatos = []\n\n    # Criando a tupla dos dias de semana\n    dds = (\n        lambda: p.whats.enviar_mensagem(\n            nome = \"Contato 1\",\n            mensagem = \"Codando com AuthWA!\"\n        ),\n        lambda: p.whats.enviar_mensagem(\n            nome = \"Contato 2\",\n            mensagem = \"Codando com AuthWA!\"\n        ),\n        lambda: p.whats.enviar_mensagem(\n            nome = \"Contato 3\",\n            mensagem = \"Codando com AuthWA!\"\n        ),\n    )\n\n    # Usamos o APPEND para adicionarmos a tuple(dds) na lista(lista_de_contatos)\n    lista_de_contatos.append(dds)\n\nCerto, mas s\u00f3 fizemos a lista, ele ainda n\u00e3o vai executar de forma autom\u00e1tica !\n\nPara isso iremos entender outras coisinhas antes:\n\n> Como definir horario de Inicio e horario de Fim\n\n>> Para isso dentro do proprio Parcial() passamos estes parametros\n\n>> Lembrando que o valor padr\u00e3o dele \u00e9 o horario comercial, ou seja das 08hrs as 18hrs\n\n>> hora_inicio = 8\n\n>> hora_final = 18\n\n>>      from authWA import Parcial\n\n>>      p = Parcial('','','', hora_inicio = 8, hora_final = 18)\n\nCaso voc\u00ea iniciou a Parcial depois do horario de inicio, automaticamente ele vai iniciar 1 hora depois(Em ponto), por exemplo se voc\u00ea iniciar o codigo as 11:25 ele vai iniciar a parcial 12:00.\n\nCaso tenha sido ao contrario, inciado antes ou iniciado depois da hora final, ele s\u00f3 ira iniciar no horario definido para inicio.\n\nExemplos: \n\n > - Inicar o codigo as 06 com o inicio previsto as 8, quando der 08:00 do mesmo dia ele ira executar!\n\n > - Iniciar o c\u00f3digo as 19 com o fim as 18, ele s\u00f3 ira executar no inicio do outro dia!\n\n Tendo entendido isso, agora iremos iniciar o nosso *loop*, para isso temos uma fun\u00e7\u00e3o especifica, o *main_loop()*, onde vamos passar como parametro a nossa **lista_de_contatos:**\n    \n    from authWA import Parcial\n\n    p = Parcial('','','')\n\n    lista_de_contatos = []\n\n    dds = (\n        lambda: p.whats.enviar_mensagem(\n            nome = \"Contato 1\",\n            mensagem = \"Codando com AuthWA!\"\n        ),\n        lambda: p.whats.enviar_mensagem(\n            nome = \"Contato 2\",\n            mensagem = \"Codando com AuthWA!\"\n        ),\n        lambda: p.whats.enviar_mensagem(\n            nome = \"Contato 3\",\n            mensagem = \"Codando com AuthWA!\"\n        ),\n    )\n\n    lista_de_contatos.append(dds)\n\n    # Lembrando que temos que passar obrigatoriamente uma lista !\n    p.main_loop(lista_de_contatos)\n\n**Output//Saida**\nPodemos ver abaixo,, que ele nos retorna o horario atual e quando a parcial sera iniciada!\n\n*Lembrando que esse processo \u00e9 automatico, ent\u00e3o n\u00e3o se preocupe com isso!*\n\n![ExecutandoPrimeiroloop](docs/image-5.png)\n\n### Parcial - Fim de Semana\n\nBom para fazermos o fim de semana precisamos enteder os dias de semana, n\u00e3o pule pra c\u00e1, sem antes entender o __Dias da Semana__\n\nPara o sistema entender que precisa ser executado aos fins de semana, adicionarmos fun\u00e7\u00f5es que ser\u00e3o realizadas, para isso iremos usar um *lista!* Veja o exemplo abaixo.\n\n    from authWA import Parcial\n\n    p = Parcial('','','')\n\n    lista_de_contatos = []\n\n    # Tupla dos Dias de Semana\n    dds = (\n        p.whats.enviar_msg(\n            nome='Contato 1',\n            mensagem = 'Coda comigo'\n        )\n    )\n\n    # Lista do Fim de Semana\n    fds = [\n        p.whats.enviar_msg(\n            nome='Contato do fim de semana',\n            mensagem = 'Estamos atendendo venha conferir nossas promo\u00e7\u00f5es'\n        )\n    ]\n\n    lista_de_contatos.append(dds)\n    lista_de_contatos.append(fds)\n\n    p.main_loop(lista_de_contatos)\n\n> *Uma lista dentro de outra lista?*\n\n> Sim o tem de ser exatamente assim !\n\n> O sistema entende *tuplas* como dias de semana e *listas* como fim de semana, mas lembre-se que ambas precisam estar dentro de uma lista __master__, que nesse caso seria nossa *lista_de_contatos*\n\nCaso seus contatos do fim de semana sejam os mesmo que dos Dias de semana, podemos fazer da seguinte maneira:\n\n> Pra economizarmos c\u00f3digo, podemos converter nossa tupla em lista!\n> E desta forma, podemos ter os mesmos contatos do dias de semana\n\n    from authWA import Parcial\n\n    p = Parcial('','','')\n\n    lista_de_contatos = []\n\n    dds = (\n            p.whats.enviar_msg(\n                nome='Contato 1',\n                mensagem = 'Coda comigo'\n            ),\n        )\n\n    # Desta forma teremos os mesmos contatos no fim de semana\n    fds = list(dds)\n\n    lista_de_contatos.append(fds)\n\n    p.main_loop(lista_de_contatos)\n\n### Parcial - Horarios Especificos\nBom se ja usamos tuplas e listas agora o que vamos usar para os hora\u00e1rios especificos, pois bem se voc\u00ea pensou em dict ou dicion\u00e1rios, voc\u00ea acertou na mosca!\n\nComo esses parametros n\u00e3o dependem de ser enviados hora a hora, temos de passar a fun\u00e7\u00e3o com o *lambda* dentro de um __dict__, sua estrutura sempre seguir\u00e1 assim:\n\n *dict = {horario:funtion()}*\n \n  veja o exemplo, abaixo:\n\n    from authWA import Parcial\n\n    p = Parcial('','','')\n\n    lista_de_contatos = []\n\n    agenda = {\n        '10:00':lambda: p.whats.enviar_msg(\n            'Contato 1',\n            'N\u00e3o esque\u00e7a de tal coisa'\n            ),\n        '15:30':lambda: p.whats.enviar_msg(\n            'Contato 2', \n            'V\u00e1 ao dentista'\n            ),\n        '22:00':lambda: p.whats.enviar_msg(\n            'Contato 3',\n            'Hor\u00e1 de dormir!!!!!!!'\n            )\n        '22:00':lambda: p.whats.enviar_msg(\n            'Contato 3',\n            'Sua agenda de amanha!',\n            p.whats.criar_imagem_SQL(\n                'SELECT * FROM AGENDA WHERE DAY = TODAY() + 1'\n                )\n            )\n        }\n\n    lista_de_contatos.append(agenda)\n\n> Ent\u00e3o sim voc\u00ea consegue ter sua agenda pessoal te lembrando das coisas por mensagem rsrs.\n\nPronto agora voc\u00ea ja sabe como usar o __AuthWA__ espero ter ajudado. \ud83e\udd70\ud83d\udc96\n\n## Issues // Problemas\n![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)\n\nCaso tenha algum bug oui problema n\u00e3o hesitaremos em consertar, por mais que nosso log de erros seja efetivo, pe\u00e7o que abram sim um ISSUE no githubs, talvez a duvida de voc\u00eas ou o problema, tam\u00e9m seja o de outros, agrade\u00e7o a compreens\u00e3o!\n\n> Link para abertura de ISSUE\n\n> <a href = 'https://github.com/foxtec198/AuthWA/issues/new'> Clique aqui para abrir uma nova ISSUE </a>\n\n## Sobre\n<br>\n<img src='https://avatars.githubusercontent.com/u/64221923?v=4' width=150 style='border-radius:50%;'/>\n<b>Guilherme Breve - Analista</b>\n\n<br>\n\nAtualmente trabalho como analista de Projetos, e como desenvolvedor full stack, tenho uma empresa de desenvolvimento de sistema para gest\u00f5es comerciais e demais areas!\n\nMinha inten\u00e7\u00e3o com o AuthWA \u00e9 ajudar as pessoas, sem lucros financeiros.\n\nMas caso eu tenha te ajudado de alguma forma e creia que isso deva ser recompensado deixarei abaixo algumas forams de contribuir. \ud83e\udd70\n\nMuito obrigado por ter lido esta documenta\u00e7\u00e3o e por usar o AuthWA, caso queiram fazer um fork e melhorar, estamos sempre dispostos a melhorias e progress\u00f5es. \ud83d\udc96\ud83d\udc96\n\n<h1 style='text-align: center'><b>Pix:</b></h1>\n\n<div style='display:flex; justify-content: center;'>\n    <img src = docs/pix.png width=200 style='border-radius: 20px'/>\n</div>\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Automa\u00e7\u00f5es WhatsApp",
    "version": "0.3.47",
    "project_urls": {
        "Documenta\u00e7\u00e3o": "https://authwa.readthedocs.io"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "66410fde896f3d9df6515485e5d773239ace1adbd374b9b551e6605b07fecb24",
                "md5": "4f0c0138cec3cfbd87d919bd4727e254",
                "sha256": "e06c6b967b3961a6b8dd7e72d72acf8b7ba403454c418bc4685c8448e06b2aa3"
            },
            "downloads": -1,
            "filename": "authwa-0.3.47-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4f0c0138cec3cfbd87d919bd4727e254",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 9445,
            "upload_time": "2024-04-10T02:49:25",
            "upload_time_iso_8601": "2024-04-10T02:49:25.516241Z",
            "url": "https://files.pythonhosted.org/packages/66/41/0fde896f3d9df6515485e5d773239ace1adbd374b9b551e6605b07fecb24/authwa-0.3.47-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "71b396aa451c71f9ec1d313c8707128fe9fed1865bb122446ed971c95b6b0ccb",
                "md5": "b35298140cd23f11db52b55ad893fc12",
                "sha256": "5a39e0da9e6f62cdc78f1ec927ca8b65b3a8cd0734c025d67b512f6a725ed30c"
            },
            "downloads": -1,
            "filename": "authwa-0.3.47.tar.gz",
            "has_sig": false,
            "md5_digest": "b35298140cd23f11db52b55ad893fc12",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 10087,
            "upload_time": "2024-04-10T02:49:27",
            "upload_time_iso_8601": "2024-04-10T02:49:27.416658Z",
            "url": "https://files.pythonhosted.org/packages/71/b3/96aa451c71f9ec1d313c8707128fe9fed1865bb122446ed971c95b6b0ccb/authwa-0.3.47.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-10 02:49:27",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "authwa"
}
        
Elapsed time: 0.31708s