Patrick Hirschi

Data Enthusiast

Software Engineer

Tech Lead

Patrick Hirschi

Data Enthusiast

Software Engineer

Tech Lead

Blog Post

WhatsApp Nachrichten mit Python versenden

23. Mai 2022 Data, Technologie

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

  1. WhatsappWeb Website öffnen: https://web.whatsapp.com/
  2. WhatsApp auf dem Smartphone öffnen
  3. In WhatsApp unter “Einstellungen – Verknüpfte Geräte – Gerät hinzufügen”
  4. QR Code der WhatsApp Web Seite scannen
  5. 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:

WhatsApp 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:

pywhatkit_db.txt

Tags:
4 Comments
  • Alexander Maier 8:33 9. Januar 2024 Antworten

    Hey,
    wenn ich Pywhatkit mit pip installieren möchte, dann kommt immer der folgende Fehler:
    error: externally-managed-environment
    Wie kann ich das “umgehen” fixen?
    LG Alex

  • Max 20:28 9. März 2024 Antworten

    Hallo ich hab 2 anliegen

    1. Diese Website ist ja mega cool gemacht und aufgebaut
    2. Wenn ich diesen Code in cmd eingebe dann kommt entweder die Benachrichtigung das Whatsapp sich in 85.000 sec öffnet und dann innerhalb von 15 sec absendet oder Whatsapp öffnet sich, die Nachricht wird bereitgesellt zum absenden aber sendet nicht ab dh. ich muss manuell den Knopf zum abdrücke senden

    wie kann ich das beheben ?

    LG Max

    • Patrick Hirschi 21:59 10. März 2024 Antworten

      Hi Max,
      Ist schon ein Weilchen her seit meinen letzten Versuchen diesbezüglich, aber am Besten ist es, wenn Whatsapp Web bereits geöffnet ist – so hat es bei mir (damals) sehr zuverlässig funktioniert.
      LG,
      Patrick

Write a comment