Enviando mensagens de WhatsApp no Linux usando Shell Script e ADB
Neste tutorial, ensinamos como enviar mensagens de WhatsApp no Linux utilizando Shell Script e a ferramenta Android Debug Bridge (ADB). O tutorial abrange a instalação do ADB, como conectar o celular ao sistema operacional e o uso de um script Shell personalizado para interagir com o aplicativo WhatsApp. Além disso, explicamos a importância de mapear as coordenadas de toque e deslize de acordo com a resolução do dispositivo e como fazer isso usando um editor de imagens.
[ Hits: 4.891 ]
Por: Fábio Berbert de Paula em 24/03/2023 | Blog: https://fabio.automatizando.dev
#!/bin/bash
ADB="/usr/bin/adb" # Define o caminho do ADB
ID="192.168.0.22:5555" # ID do dispositivo
BUSCA=$1 # Nome do contato ou grupo
BUSCA=`echo ${BUSCA} | iconv -f UTF-8 -t ASCII//TRANSLIT` # Remove acentos
FRASE=${@:2} # Mensagem a ser enviada
FRASE=$(echo ${FRASE} | iconv -f UTF-8 -t ASCII//TRANSLIT) # Remove acentos
# Verifica se a tela está ligada:
if ! $ADB -s $ID shell dumpsys window | grep 'mDreamingLockscreen=true'
then
echo "tela ligada, abortar"
exit
fi
# Desbloqueia o celular
$ADB -s $ID shell input keyevent 26 # Pressiona o botão Power
sleep 0.5
$ADB -s $ID shell input swipe 200 2000 200 1500 100 # Desliza para desbloquear
sleep 0.5
$ADB -s $ID shell input text "000" # Digita a senha / PIN de desbloqueio da tela
sleep 0.5
# Fecha todas as janelas e abre o WhatsApp
$ADB -s $ID shell input keyevent KEYCODE_HOME # Pressiona o botão Home
sleep 1
$ADB -s $ID shell input tap 235 2250 # Toca o botão Janelas
sleep 1
$ADB -s $ID shell input tap 500 1800 # Fecha todas as janelas
sleep 1
$ADB -s $ID shell input tap 400 2050 # Abre o WhatsApp
sleep 3
$ADB -s $ID shell input tap 900 150 # Toca no ícone da lupa (pesquisa)
sleep 1
$ADB -s $ID shell input text "${BUSCA}" # Digita o nome do contato ou grupo na pesquisa
sleep 1.5
$ADB -s $ID shell input tap 475 350 # Toca no resultado da pesquisa
sleep 2
$ADB -s $ID shell input tap 525 2140 # Toca na caixa de texto para escrever a mensagem
echo "clicar na caixa de texto"
sleep 2
# Digita a mensagem palavra por palavra, adicionando espaços entre as palavras
for PALAVRA in $FRASE
do
$ADB -s $ID shell input text "${PALAVRA}"
$ADB -s $ID shell input keyevent KEYCODE_SPACE
done
sleep 3
# Pressiona o botão Enter para enviar a mensagem
$ADB -s $ID shell input keyevent KEYCODE_ENTER
sleep 2
# Fecha o aplicativo e bloqueia o celular
$ADB -s $ID shell input keyevent KEYCODE_HOME
sleep 1
$ADB -s $ID shell input keyevent KEYCODE_MENU
sleep 1
$ADB -s $ID shell input tap 500 1800 # Fecha todas as janelas
sleep 1
$ADB -s $ID shell input keyevent KEYCODE_HOME
sleep 1
$ADB -s $ID shell input keyevent 26 # Pressiona o botão Power
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Usando o "at" para agendamento de tarefas
Docalysis: Análise de Documentos com Inteligência Artificial
Desbloquear a tela do Android pelo PC (PIN)
Script GitPratico para criar repositórios remotos sem logar no GitHub
GNU Parallel: criando atividades em paralelo com shell script
Backup automatizado com HD externo
flock - Gerenciador de lockfiles
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Instalação do K3s Single-Node com Rancher no Ubuntu 24.04
Usei o NotebookLM para Auditar Logs do Linux
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
KDE Plasma - porque pode ser a melhor opção de interface gráfica
Como Configurar DNS Reverso (PTR) em Ambientes Linux e Microsoft
Preparando o Ambiente para Administrar o Samba 4 a partir do Windows com RSAT
WiFi Seguro: EAP-TLS com FreeRADIUS e Active Directory (LDAP)
Midia de instalação LM-21.3 não inicializa (4)
O que você está ouvindo agora? [2] (227)
Vou destruir sua infância:) (10)









