Package: authwa
AuthWABanco de Dados Permitidos!InstalaçãoComo instalarRode o comando abaixo em seu terminal ou CMD!pip install authwaExecuçãoImporte o modulo e adicione a uma variavel, chamando a classe desejada!import authWA

whats = authWA.WA()

whats.enviar_msg()Preparando o ambiente de envioApós criar abra o terminal(PowerShell) ou CMD.No windows:apertandoWIN + Re digitandoCMDpressioneEnterNo Linux:apertandoCTRL + TouCTRL + ALT + Tou pressioneCOMMAND ou WINe digiteTERMINALTerminalAgora abra o WhatsApp faça o seguinte atalhoALT + TAB,
Para voltar ao terminal !Para que seu codigo funcione é importante que deixe o whatsapp aberto, pois o codigo irá usar o atalhoAlt + Tabpara acessa-lo.É importante também quenão movimente ou clique com o mouse e nem pressione nenhuma tecladurante o processo, o indicado é ter uma maquina como servidor para que o codigo tenha mais eficiencia, mas não é obrigatório.WhatsappEnvio de mensagens simples e com Imagens no o Whatsapp, para deixar sua imaginação fluir e construir suas automações!ObjetivoA Intenção deste modulo do AuthWA, é que você consiga usar a critividade para criar suas automações.Envio simples de mensagemPara envio de mensagens simples, usando o moduloWA, é 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 modulosDentro do WA() temos os seguintes modulosenviar_msg( )sql_connection( )criar_imagem_SQL( )enviar_msg()Está função faz um enviosimples ou com uma imagemembutida, para isto precisa ter preparado o ambiente.ParametrosNome = Nome do Contato a ser enviado a mensagemMensagem = Mensagem a ser enviada ou a Legenda que vai na imagemImg = Aqui você devera colocar o caminho da Imagem a ser enviadafrom 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 noinciodo projeto!ParametrosObrigatóriosuid = Usuário DBpwd = Senha de Acesso do DBserver = Servidor do DBOpcional caso for utilizar o SQL Serverdatabase = Banco de Dados a ser utilizadodriver = Qual driver usar você encontra no site do SQL Alchemy:Drivers do SQLAlchemySQLiteSQL ServerMySQLExemplo de códigofrom 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 PNGParametrosconsulta = Consulta SQL para gerar o Dataframe.arquivo = Diretorio onde salvar o arquivo, este item é OPCIONAL, ja que o diretório padrão édist/temp.pnge 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.pngSaida:./img.pngImagem:ParcialO 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çoBom, para criarmos o hora a hora, é bem simples, vamos usar alguns conceitos do WA() então é importante que tenha dominio com este modulofrom 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 chamadalambda:Clique aqui para mais informações sobre o lambdafrom authWA import Parcial

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

lista_de_contatos = [
    # Agora iremos criar a lambda!
    lambda: function()
]Parcial - Dias de SemanaPara criarmos as parciais do dias da semana iremos usar umatupletuple = (
    lambda:function2()
    lambda:function()s, 
)No lugar destafunction()iremos usar o nosso conhecimento do módulo WA(), iremos chamar a função de mensagem deste modulo dentro dalambdaMas não precisamos importar o modulo WA() pois ele ja esta embutido no Parcial(), ele esta definido comowhats, 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 FimPara isso dentro do proprio Parcial() passamos estes parametrosLembrando que o valor padrão dele é o horario comercial, ou seja das 08hrs as 18hrshora_inicio = 8hora_final = 18from authWA import Parcialp = 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 nossoloop, para isso temos uma função especifica, omain_loop(), onde vamos passar como parametro a nossalista_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//SaidaPodemos 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!Parcial - Fim de SemanaBom para fazermos o fim de semana precisamos enteder os dias de semana, não pule pra cá, sem antes entender oDias da SemanaPara o sistema entender que precisa ser executado aos fins de semana, adicionarmos funções que serão realizadas, para isso iremos usar umlista!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 entendetuplascomo dias de semana elistascomo fim de semana, mas lembre-se que ambas precisam estar dentro de uma listamaster, que nesse caso seria nossalista_de_contatosCaso 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 semanafrom 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 EspecificosBom 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 olambdadentro de umdict, 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 oAuthWAespero ter ajudado. 🥰💖Issues // ProblemasCaso 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 ISSUEClique aqui para abrir uma nova ISSUESobreGuilherme Breve - AnalistaAtualmente 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. 💖💖Pix: