Wie programmiere ich einen Whatsapp Chatbot?

5 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Um an die Zahl zu kommen brauchst du web scraping. Das lässt sich in Python relativ leicht mit Selenium umsetzen. Es ist zwar ein bisschen langsam aber du findest viele Infos was gut für Anfänger ist. Per Selenium kannst du dann vllt auch in WhatsApp web schreiben. Ansonsten musst du vllt dauerhaft den Chat offen haben zu dem Fenster navigieren die Zahl Pasten und enter drücken. Müsste per pynput gehen. Auch müsstest du wenn du das ganze auf einem Server laufen lässt die Uhrzeit zum senden überprüfen. Vllt gibt es auch Timer die jeden Tag eine Funktion aufrufen. Ansonsten gibt es auch eine Windows Routine in die man eintragen kann wann programme gestartet werden sollen. Der nähme fällt mir leider gerade nicht ein.

Leider unterstützt WhatsApp keine Bots. Du solltest vllt Telegramm oder discord in Betracht ziehen da diese schon fortgeschrittener sind und Bots unterstützen

Ohne/Wenig Programmier-Kentnisse? Oje..

Welche Sprachen kannst du denn? Dann kann man entscheiden, wie man das umsetzen kann

LUGG4S 
Fragesteller
 29.10.2020, 21:31

Python und Java

0
XGamer11208  29.10.2020, 21:32
@LUGG4S

Was kannst du besser?

Gibt sicher für beides passende Libraries

0

WhatsApp hat keine richtige API die für jeden verfügbar ist.
Es gibt ein paar die z.B. den normalen Client/WebApp simulieren aber die werden auch immer schnell wieder entfernt.
Müsste man wenn mal gucken.

In der offiziellen Business API von WhatsApp sind soweit ich weiß „Rundmail“ artige Sachen nicht verfügbar da es eigentlich für Kundensupport gedacht ist und nicht für Werbung. Zudem muss man da den Zugang richtig beantragen und WhatsApp will dafür Geld.

Selenium und Beautifulsoup mit Python. Das könnte klappen - wie weiß ich allerdings nicht. Dauert wohl schon ne Weile ohne bessere Kenntnisse.

Ich bin auch grad dabei das zu Programmieren für Python, Linux (Opera)

Du müsstest dann halt umschreiben, so das das für dich Passt

Hier ist mein Code bisher, nur mit den Feld fürs nachrichten senden muss ich noch dran Arbeiten:

from time import sleep
from selenium import webdriver
from selenium.webdriver.opera.options import Options
import pyautogui

options = Options()
options.add_argument('--no-sandbox')
options.add_argument(r'--user-data-dir=/home/tim/.config/opera,')
driver = webdriver.Opera(options=options)
driver.get("https://web.whatsapp.com")
input("Drücke enter wenn die seite geladen hat! ")

contact = "Test"
text = "Test"
selected_contact = driver.find_element_by_xpath("//span[@title='"+contact+"']")
selected_contact.click()
sleep(1)
# inp_xpath = ''
# input_box = driver.find_element_by_class_name(inp_xpath)
sleep(2)

# input_box.send_keys(text)
# input_box.submit()
pyautogui.typewrite(text + '\n')

print("Programm ferig!")
input("Drücke enter zum schließen! ")
driver.close()