WhatsApp Nachrichten mit Python versenden
Für viele Programmierprojekte kann es hilfreich sein, wenn man Zwischenergebnisse, Status-Nachrichten oder sonstige Mitteilungen direkt an ein Smartphone übermitteln kann. Es gibt diverse Third-Party Libraries die man dafür nutzen kann, allerdings basieren diese oft auf kostenpflichtigen Dienstleistungen für z.B. SMTP Server (Mail-Versand), Messaging Dienste (SMS) oder andere.
Glücklicherweise gibt es auch hier eine kostenlose Variante. Mit dem Modul pywhatkit (https://pypi.org/project/pywhatkit/) kann man Whatsapp ganz einfach automatisieren. Damit das funktioniert, muss das Gerät wo der Python-Code läuft über WhatsappWeb mit dem privaten Whatsapp Konto verbunden werden. Die nötigen Schritte sollen in diesem Artikel kurz beschrieben werden.
WhatsappWeb verbinden mit dem privaten Whatsapp Konto
- WhatsappWeb Website öffnen: https://web.whatsapp.com/
- WhatsApp auf dem Smartphone öffnen
- In WhatsApp unter “Einstellungen – Verknüpfte Geräte – Gerät hinzufügen”
- QR Code der WhatsApp Web Seite scannen
- Warten bis die Verbindung aufgebaut wurde
Der Browser bleibt so verbunden mit der Smartphone App. Falls diese Verbindung aufgehoben werden soll, so kann dies jederzeit unter “Einstellungen – Verknüpfte Geräte” wieder gestoppt werden.
Installation pywhatkit
Die Installation ist sehr simpel über die Kommandozeile mit dem folgenden Befehl zu erreichen.
python3 -m pip install pywhatkit
Nachrichtenversand mit pywhatkit
Versand an eine WhatsApp Gruppe
Um Nachrichten an eine Gruppe zu versenden muss in WhatsApp zuerst in den Gruppeneinstellungen die Gruppen-ID herausgefunden werden. Dazu wählt man in den Gruppeneinstellungen “Mit Link zur Gruppe einladen”. Die ID am Ende der angezeigten URL (gelb markiert im Bild) ist die Gruppen-ID:

Es braucht keine weiteren Konfigurationsschritte und man kann nun mit nur einer Zeile Code eine Nachricht absetzen.
import pywhatkit
# WhatsApp Nachricht "Hello World!" an die Gruppe mit ID <<GRUPPEN-ID>> um 12:10 Uhr,
# dann soll 10 Sekunden gewartet werden
# und nach weiteren 5 Sekunden soll WhatsappWeb geschlossen werden.
pywhatkit.sendwhatmsg_to_group("<<GRUPPEN-ID>>", "Hello World!", 12, 10, 10, 5)
# WhatsApp Nachricht "Hello World!" nach 10 Sekunden Wartezeit an die Gruppe mit ID <<GRUPPEN-ID>>
# und nach weiteren 5 Sekunden soll WhatsappWeb wieder geschlossen werden.
pywhatkit.sendwhatmsg_to_group_instantly("AB123CDEFGHijklmn", "Hey All!", 10, 5)
Versand an eine Einzelperson
Die Schritte für den Nachrichtenversand an eine Person sind noch einfacher. Man kann direkt an eine Telefonnummer versenden:
import pywhatkit
# WhatsApp Nachricht "Hello World!" an die Nummer "+123456789" um 12:10 Uhr
pywhatkit.sendwhatmsg("+123456789", "Hello World!", 12, 10)
# WhatsApp Nachricht "Hello World!" an die Nummer "+123456789" um 12:10 Uhr
# 2 Sekunden danach soll WhatsappWeb geschlossen werden
pywhatkit.sendwhatmsg("+123456789", "Hello World!", 12, 10, 15, True, 2)
Logging
Im Python Projekt wird automatisch ein simples Textfile erstellt, wo die versendeten Nachrichten nochmal zurückverfolgt werden können:
