Installation
openclaw onboard und openclaw channels add --channel whatsapp fordern Sie zur Installation des Plugins auf, wenn Sie es zum ersten Mal auswählen; openclaw channels login --channel whatsapp bietet denselben Installationsablauf an, wenn das Plugin fehlt. Entwicklungs-Checkouts verwenden den lokalen Plugin-Pfad; stabile/Beta-Installationen installieren zuerst @openclaw/whatsapp aus ClawHub und greifen ersatzweise auf npm zurück. Die WhatsApp-Laufzeitumgebung wird außerhalb des zentralen OpenClaw-npm-Pakets ausgeliefert, daher verbleiben ihre Laufzeitabhängigkeiten beim externen Plugin. Manuelle Installation:
@openclaw/whatsapp) nur als Registry-Ausweichlösung; legen Sie eine exakte Version nur für eine reproduzierbare Installation fest.
Kopplung
Kanal-Fehlerbehebung
Gateway-Konfiguration
Schnelleinrichtung
Zugriffsrichtlinie konfigurieren
WhatsApp verknüpfen (QR-Code)
Gateway starten
Erste DM-Zugriffsanfrage genehmigen (Kopplungsmodus)
Bereitstellungsmuster
Dedizierte Nummer (empfohlen)
Dedizierte Nummer (empfohlen)
- separate WhatsApp-Identität für OpenClaw
- klarere DM-Zulassungslisten und Routing-Grenzen
- geringeres Risiko von Verwechslungen bei Selbst-Chats
Ausweichlösung mit persönlicher Nummer
Ausweichlösung mit persönlicher Nummer
dmPolicy: "allowlist", allowFrom einschließlich Ihrer eigenen Nummer, selfChatMode: true. Die Laufzeitschutzmechanismen für Selbst-Chats richten sich nach der verknüpften eigenen Nummer sowie nach allowFrom.Laufzeitmodell
- Der Gateway verwaltet den WhatsApp-Socket und die Wiederverbindungsschleife.
- Ein Watchdog überwacht zwei Signale unabhängig voneinander: die rohe WhatsApp-Web-Transportaktivität und die Aktivität der Anwendungsnachrichten. Eine ruhige, aber verbundene Sitzung wird nicht neu gestartet, nur weil kürzlich keine Nachricht eingegangen ist; eine Wiederverbindung wird nur erzwungen, wenn für ein festes internes Zeitfenster (nicht vom Benutzer konfigurierbar) keine Transport-Frames mehr eingehen oder Anwendungsnachrichten länger als das Vierfache des normalen Nachrichten-Timeouts ausbleiben. Direkt nach einer Wiederverbindung für eine kürzlich aktive Sitzung verwendet dieses erste Zeitfenster statt des vierfachen Fensters den kürzeren normalen Nachrichten-Timeout. OpenClaw kann automatisch auf Offline-Nachrichten antworten, die Baileys früh während dieser Wiederverbindung zustellt, begrenzt durch die Lebensdauer der Deduplizierung eingehender Nachrichten-IDs; beim ersten Start bleibt die kurze Schutzfrist gegen veraltete Verlaufsnachrichten bestehen.
- Ausgehende Sendungen erfordern einen aktiven WhatsApp-Listener für das Zielkonto; andernfalls schlagen sie sofort fehl.
- Gruppensendungen fügen native Erwähnungsmetadaten für
@+<digits>- und@<digits>-Token (in Text und Medienbeschriftungen) hinzu, wenn das Token mit aktuellen Teilnehmermetadaten übereinstimmt, einschließlich LID-basierter Gruppen. - Status- und Broadcast-Chats (
@status,@broadcast) werden ignoriert. - Direktchats verwenden DM-Sitzungsregeln (
session.dmScope; der Standardwertmainführt DMs in der Hauptsitzung des Agenten zusammen). Gruppensitzungen werden pro JID isoliert (agent:<agentId>:whatsapp:group:<jid>). - WhatsApp Channels/Newsletters können über ihre native
@newsletter-JID explizite ausgehende Ziele sein und verwenden Kanal-Sitzungsmetadaten (agent:<agentId>:whatsapp:channel:<jid>) anstelle der DM-Semantik. - Der WhatsApp-Web-Transport berücksichtigt die standardmäßigen Proxy-Umgebungsvariablen auf dem Gateway-Host (
HTTPS_PROXY,HTTP_PROXY,NO_PROXY, Varianten in Kleinschreibung). Bevorzugen Sie eine Proxy-Konfiguration auf Hostebene gegenüber kanalspezifischen Einstellungen.
Aktuellen Anfragenden mit MeowCaller anrufen (experimentell)
Das Plugin kannwhatsapp_call in von WhatsApp stammenden Agentendurchläufen bereitstellen. Es verwendet MeowCaller, um den aktuell autorisierten Anfragenden über WhatsApp anzurufen und nach der Annahme eine OpenClaw-TTS-Nachricht abzuspielen. Das Tool besitzt keinen Parameter für die Zielnummer, sodass ein Prompt den Anruf nicht umleiten kann. Standardmäßig deaktiviert.
Experimentelle Anrufe aktivieren
actions.calls: true zur WhatsApp-Kanalkonfiguration hinzu und starten Sie den Gateway neu:false lautet, stellt OpenClaw das Tool whatsapp_call nicht bereit.Geprüfte MeowCaller-CLI installieren
meowcaller im PATH des Gateway-Hosts. Bis MeowCaller-PR #7 zusammengeführt ist, erstellen Sie den geprüften Branch:$HOME/.local/bin im PATH des Gateway-Dienstes enthalten ist. Diese Revision besitzt explizite pair- und reine Sende-Befehle für notify; notify öffnet weder Mikrofon, Lautsprecher oder Videogerät noch eine Diagnoseaufzeichnung. Verwenden Sie nicht ersatzweise den Befehl play der vorgelagerten Beispiel-CLI.Verknüpftes MeowCaller-Gerät koppeln
whatsapp_call meldet das kontospezifische Statusverzeichnis und den Kopplungsbefehl). Für das Standardkonto:MeowCaller linked device ready. Halten Sie wa-voip.db geheim – dies ist die MeowCaller-Sitzung. Nicht standardmäßige Konten erhalten über die Statusaktion einen eigenen Speicherpfad; führen Sie unter Windows den entsprechenden PowerShell-Befehl aus.TTS konfigurieren und über WhatsApp anrufen
Call me and say the build finished. Das Tool ermittelt den Absender aus dem vertrauenswürdigen eingehenden Kontext, synthetisiert eine temporäre private WAV-Datei, führt MeowCaller für ein begrenztes Anruffenster aus und löscht anschließend die Audiodatei. OpenClaw übergibt den Speicher des Kontos explizit, wartet nach Annahme/Wiedergabe/Auflegen auf einen Exit-Status von null und behandelt einen Timeout oder einen Exit-Status ungleich null als fehlgeschlagenen Tool-Aufruf.Genehmigungsaufforderungen
WhatsApp kann Ausführungs- und Plugin-Genehmigungsaufforderungen als👍-/👎-Reaktionen darstellen, gesteuert durch die übergeordnete Konfiguration für die Weiterleitung von Genehmigungen:
approvals.exec und approvals.plugin sind unabhängig voneinander; die Aktivierung von WhatsApp als Kanal verknüpft lediglich den Transport und sendet nichts, sofern die entsprechende Genehmigungsfamilie nicht aktiviert und dorthin weitergeleitet wird. Der Sitzungsmodus stellt native Emoji-Genehmigungen nur für Genehmigungen bereit, die aus WhatsApp stammen. Der Zielmodus verwendet die gemeinsame Weiterleitungspipeline für explizite Ziele und erzeugt keine separate Auffächerung auf Genehmiger-DMs.
WhatsApp-Genehmigungsreaktionen erfordern explizite Genehmiger in allowFrom (oder "*"). defaultTo legt gewöhnliche standardmäßige Nachrichtenziele fest, keine Genehmigerliste. Manuelle /approve-Befehle durchlaufen vor der Genehmigungsauflösung weiterhin den normalen WhatsApp-Autorisierungspfad für Absender.
Reaktionen auf Fragen
Bei einerask_user-Aufforderung mit einer einzelnen nicht geheimen Einfachauswahlfrage und einer bis vier Optionen zeigt WhatsApp 1️⃣ bis 4️⃣ neben den Optionsbezeichnungen an. Reagieren Sie auf die zugestellte Aufforderung mit der entsprechenden Zahl, um sie zu beantworten. OpenClaw ordnet die Zahl über den Gateway der kanonischen Option zu; veraltete oder doppelte Eingaben werden ignoriert. Aufforderungen mit mehreren Fragen, Mehrfachauswahl oder Freitext können weiterhin nur per Textantwort beantwortet werden. Die normalen WhatsApp-Zulassungsregeln für DMs/Gruppen autorisieren den reagierenden Absender.
Plugin-Hooks und Datenschutz
Eingehende WhatsApp-Nachrichten können persönliche Inhalte, Telefonnummern, Gruppenkennungen, Absendernamen und Felder zur Sitzungskorrelation enthalten. WhatsApp sendet eingehendemessage_received-Hook-Nutzdaten nicht an Plugins, sofern Sie dies nicht ausdrücklich aktivieren:
channels.whatsapp.accounts.<id>.pluginHooks.messageReceived auf ein Konto. Aktivieren Sie dies nur für Plugins, denen Sie eingehende WhatsApp-Inhalte und -Kennungen anvertrauen.
Zugriffskontrolle und Aktivierung
- DM-Richtlinie
- Gruppenrichtlinie und Positivlisten
- Erwähnungen und /activation
channels.whatsapp.dmPolicy:allowFrom akzeptiert Nummern im E.164-Format (intern normalisiert). Dies ist ausschließlich eine Zugriffskontrollliste für Absender von Direktnachrichten – sie beschränkt keine expliziten ausgehenden Sendungen an Gruppen-JIDs oder Kanal-JIDs von @newsletter.Überschreibung bei mehreren Konten: channels.whatsapp.accounts.<id>.dmPolicy (und .allowFrom) haben für dieses Konto Vorrang vor den Standardeinstellungen auf Kanalebene.Laufzeithinweise:- Kopplungen bleiben im Allow-Store des Kanals gespeichert und werden mit dem konfigurierten
allowFromzusammengeführt - geplante Automatisierungen und der Empfänger-Fallback für Heartbeat verwenden explizite Zustellungsziele oder den konfigurierten
allowFrom; Genehmigungen von Direktnachrichten-Kopplungen sind keine impliziten Cron-/Heartbeat-Empfänger - wenn keine Positivliste konfiguriert ist, ist die verknüpfte eigene Nummer standardmäßig zulässig
- OpenClaw koppelt ausgehende
fromMe-Direktnachrichten niemals automatisch (Nachrichten, die Sie sich selbst vom verknüpften Gerät senden)
Konfigurierte ACP-Bindungen
WhatsApp unterstützt dauerhafte ACP-Bindungen überbindings[] auf oberster Ebene:
Verhalten bei persönlicher Nummer und Selbstchat
Wenn die verknüpfte eigene Nummer auch inallowFrom vorhanden ist, werden Schutzmechanismen für Selbstchats aktiviert: Lesebestätigungen für Selbstchat-Durchläufe werden übersprungen, das automatische Auslösen durch Erwähnungs-JIDs, das Sie selbst benachrichtigen würde, wird ignoriert, und Antworten werden standardmäßig an [{identity.name}] (oder [openclaw]) gesendet, wenn responsePrefix für den Kanal oder das Konto nicht festgelegt ist.
Nachrichtennormalisierung und Kontext
Eingehender Umschlag und Antwortkontext
Eingehender Umschlag und Antwortkontext
ReplyToId, ReplyToBody, ReplyToSender, Absender-JID/E.164) werden ausgefüllt, sofern verfügbar. Wenn das zitierte Ziel herunterladbare Medien enthält, speichert OpenClaw sie über den normalen Speicher für eingehende Medien und stellt MediaPath/MediaType bereit, damit der Agent sie direkt untersuchen kann, anstatt nur <media:image> zu sehen.Medienplatzhalter und Extraktion von Standort-/Kontaktdaten
Medienplatzhalter und Extraktion von Standort-/Kontaktdaten
<media:image>, <media:video>, <media:audio>, <media:document>, <media:sticker>.Autorisierte Gruppensprachnachrichten werden vor der Erwähnungsbedingung transkribiert, wenn der Textkörper nur <media:audio> enthält, sodass das Aussprechen der Bot-Erwähnung in der Sprachnachricht die Antwort auslösen kann. Wenn das Transkript den Bot weiterhin nicht erwähnt, verbleibt es anstelle des unverarbeiteten Platzhalters im Verlauf ausstehender Gruppennachrichten.Standortangaben werden als knapper Koordinatentext dargestellt. Standortbezeichnungen/-kommentare und Kontakt-/vCard-Details werden als eingezäunte, nicht vertrauenswürdige Metadaten und nicht als eingebetteter Prompt-Text dargestellt.Einfügung ausstehender Gruppenverläufe
Einfügung ausstehender Gruppenverläufe
- Standardlimit:
50 - Konfiguration:
channels.whatsapp.historyLimit, Fallbackmessages.groupChat.historyLimit 0deaktiviert die Funktion
[Chat messages since your last reply - for context] und [Current message - respond to this].Lesebestätigungen
Lesebestätigungen
channels.whatsapp.accounts.<id>.sendReadReceipts. Selbstchat-Durchläufe überspringen Lesebestätigungen, auch wenn diese global aktiviert sind.Zustellung, Aufteilung und Medien
Textaufteilung
Textaufteilung
- Standardlimit für Abschnitte:
channels.whatsapp.textChunkLimit = 4000 channels.whatsapp.streaming.chunkMode = "length" | "newline";newlinebevorzugt Absatzgrenzen (Leerzeilen) und greift anschließend auf eine längensichere Aufteilung zurück
Verhalten ausgehender Medien
Verhalten ausgehender Medien
- unterstützt Bild-, Video-, Audio- (PTT-Sprachnachricht) und Dokument-Nutzlasten
- Audio wird als Baileys-Nutzlast
audiomitptt: truegesendet und als Push-to-Talk-Sprachnachricht dargestellt;audioAsVoicebleibt in Antwort-Nutzlasten erhalten, sodass die Ausgabe von TTS-Sprachnachrichten unabhängig vom Quellformat des Providers diesen Pfad verwendet - natives Ogg-/Opus-Audio wird als
audio/ogg; codecs=opusgesendet; alle anderen Formate (einschließlich MP3-/WebM-Ausgaben von Microsoft Edge TTS) werden vor der PTT-Zustellung mitffmpegin Ogg/Opus mit 48 kHz und einem Kanal transkodiert /tts latestsendet die neueste Assistentenantwort als einzelne Sprachnachricht und unterdrückt wiederholte Sendungen derselben Antwort;/tts chat on|off|defaultsteuert automatisches TTS für den aktuellen ChatgifPlayback: truebei Videosendungen aktiviert die Wiedergabe als animiertes GIFforceDocument/asDocumentleitet ausgehende Bilder, GIFs und Videos über die Baileys-Dokument-Nutzlast, um die Medienkomprimierung von WhatsApp zu vermeiden und den ermittelten Dateinamen sowie MIME-Typ beizubehalten- Beschriftungen werden auf das erste Medienelement einer Antwort mit mehreren Medien angewendet, ausgenommen PTT-Sprachnachrichten: Das Audio wird zuerst ohne Beschriftung gesendet, anschließend wird die Beschriftung als separate Textnachricht gesendet (WhatsApp-Clients stellen Beschriftungen von Sprachnachrichten nicht einheitlich dar)
- die Medienquelle kann HTTP(S),
file://oder ein lokaler Pfad sein
Mediengrößenlimits und Fallback-Verhalten
Mediengrößenlimits und Fallback-Verhalten
- Speicherlimit für eingehende und Sendelimit für ausgehende Medien:
channels.whatsapp.mediaMaxMb(Standard:50) - kontospezifische Überschreibung:
channels.whatsapp.accounts.<id>.mediaMaxMb - Bilder werden automatisch optimiert (Größenänderung/Qualitätsabstufung), um die Limits einzuhalten, sofern
forceDocument/asDocumentkeine Zustellung als Dokument anfordert - wenn das Senden von Medien fehlschlägt, sendet der Fallback für das erste Element eine Textwarnung, anstatt die Antwort unbemerkt zu verwerfen
Antwortzitate
channels.whatsapp.replyToMode steuert das native Zitieren von Antworten (ausgehende Antworten zitieren sichtbar die eingehende Nachricht):
channels.whatsapp.accounts.<id>.replyToMode.
Reaktionsstufe
channels.whatsapp.reactionLevel steuert, wie umfassend der Agent Emoji-Reaktionen verwendet:
channels.whatsapp.accounts.<id>.reactionLevel.
Bestätigungsreaktionen
channels.whatsapp.ackReaction sendet beim Eingang sofort eine Reaktion, die durch reactionLevel eingeschränkt wird (unterdrückt, wenn "off"):
ackReaction ohne emoji vorhanden ist, verwendet WhatsApp das Identitäts-Emoji des zugewiesenen Agenten mit „👀“ als Fallback (ackReaction weglassen oder emoji: "" festlegen, um keine Bestätigung zu senden); Fehler werden protokolliert, blockieren jedoch nicht die Zustellung der Antwort; im Gruppenmodus mentions erfolgt eine Reaktion nur bei durch Erwähnung ausgelösten Durchläufen, während die Gruppenaktivierung always diese Prüfung umgeht; WhatsApp verwendet ausschließlich channels.whatsapp.ackReaction (das veraltete messages.ackReaction gilt hier nicht).
Lebenszyklus-Statusreaktionen
Legen Siemessages.statusReactions.enabled: true fest, damit WhatsApp während eines Durchlaufs die Bestätigungsreaktion ersetzt, anstatt ein statisches Empfangs-Emoji beizubehalten. Dabei werden Zustände wie „in Warteschlange“, „denkt nach“, „Werkzeugaktivität“, Compaction, „abgeschlossen“ und „Fehler“ durchlaufen:
channels.whatsapp.ackReaction steuert weiterhin die Berechtigung für Direktnachrichten und Gruppen; der Warteschlangenzustand verwendet dasselbe effektive Emoji wie einfache Bestätigungsreaktionen; WhatsApp verfügt pro Nachricht über einen Reaktionsplatz für den Bot, daher ersetzen Lebenszyklusaktualisierungen die aktuelle Reaktion direkt und stellen die Bestätigung nach dem abschließenden Erfolgs- oder Fehlerzustand wieder her.
Mehrere Konten und Anmeldedaten
Kontoauswahl und Standardeinstellungen
Kontoauswahl und Standardeinstellungen
channels.whatsapp.accounts. Für die Auswahl des Standardkontos wird default verwendet, falls vorhanden, andernfalls die erste konfigurierte Konto-ID (alphabetisch sortiert). Konto-IDs werden intern für die Suche normalisiert.Anmeldedatenpfade und Abwärtskompatibilität
Anmeldedatenpfade und Abwärtskompatibilität
- aktueller Authentifizierungspfad:
~/.openclaw/credentials/whatsapp/<accountId>/creds.json(Sicherung:creds.json.bak) - die veraltete Standardauthentifizierung in
~/.openclaw/credentials/wird für Abläufe mit dem Standardkonto weiterhin erkannt/migriert
Abmeldeverhalten
Abmeldeverhalten
openclaw channels logout --channel whatsapp [--account <id>] löscht den WhatsApp-Authentifizierungsstatus für dieses Konto. Wenn ein Gateway erreichbar ist, wird bei der Abmeldung zuerst der aktive Listener für dieses Konto beendet, sodass die verknüpfte Sitzung bereits vor dem nächsten Neustart keine Nachrichten mehr empfängt. openclaw channels remove --channel whatsapp beendet den aktiven Listener ebenfalls, bevor die Kontokonfiguration deaktiviert oder gelöscht wird.In veralteten Authentifizierungsverzeichnissen bleibt oauth.json erhalten, während die Baileys-Authentifizierungsdateien entfernt werden.Tools, Aktionen und Konfigurationsänderungen
- Die Unterstützung für Agent-Tools umfasst die WhatsApp-Reaktionsaktion (
react). - Aktionsfreigaben:
channels.whatsapp.actions.reactions,channels.whatsapp.actions.polls(vorhandene Aktionen verwenden standardmäßigtrue),channels.whatsapp.actions.calls(Standardwertfalse, siehe MeowCaller oben). - Vom Kanal initiierte Konfigurationsänderungen sind standardmäßig aktiviert; deaktivieren Sie sie über
channels.whatsapp.configWrites: false.
Fehlerbehebung
Nicht verknüpft (QR erforderlich)
Nicht verknüpft (QR erforderlich)
Verknüpft, aber getrennt / Schleife bei der Wiederherstellung der Verbindung
Verknüpft, aber getrennt / Schleife bei der Wiederherstellung der Verbindung
~/.openclaw/logs/whatsapp-health.log Gateway inactive meldet, aber sowohl openclaw gateway status als auch openclaw channels status --probe einen fehlerfreien Zustand anzeigen, führen Sie openclaw doctor aus. Unter Linux warnt doctor vor veralteten crontab-Einträgen, die das nicht mehr verwendete Skript ~/.openclaw/bin/ensure-whatsapp.sh aufrufen; entfernen Sie diese Einträge mit crontab -e — Cron verfügt möglicherweise nicht über die systemd-User-Bus-Umgebung, wodurch das alte Skript den Zustand des Gateways falsch melden kann.Zeitüberschreitung bei der QR-Anmeldung hinter einem Proxy
Zeitüberschreitung bei der QR-Anmeldung hinter einem Proxy
openclaw channels login --channel whatsapp schlägt mit status=408 Request Time-out oder einer Trennung des TLS-Sockets fehl, bevor ein verwendbarer QR-Code angezeigt wird.Die WhatsApp-Web-Anmeldung verwendet die standardmäßige Proxy-Umgebung des Gateway-Hosts (HTTPS_PROXY, HTTP_PROXY, Varianten in Kleinbuchstaben, NO_PROXY). Stellen Sie sicher, dass der Gateway-Prozess die Proxy-Umgebung übernimmt und dass NO_PROXY nicht auf mmg.whatsapp.net zutrifft.Kein aktiver Listener beim Senden
Kein aktiver Listener beim Senden
Antwort erscheint im Transkript, aber nicht in WhatsApp
Antwort erscheint im Transkript, aber nicht in WhatsApp
auto-reply delivery failed oder auto-reply was not accepted by WhatsApp provider.Gruppennachrichten werden unerwartet ignoriert
Gruppennachrichten werden unerwartet ignoriert
groupPolicy, groupAllowFrom/allowFrom, Einträge in der Positivliste groups, Erwähnungsfilterung (requireMention + Erwähnungsmuster) und doppelte Schlüssel in openclaw.json (spätere JSON5-Einträge überschreiben frühere — behalten Sie pro Gültigkeitsbereich nur einen Eintrag groupPolicy bei).Wenn channels.whatsapp.groups vorhanden ist, kann WhatsApp weiterhin Nachrichten aus anderen Gruppen erkennen, OpenClaw verwirft sie jedoch vor dem Sitzungsrouting. Fügen Sie die Gruppen-JID zu channels.whatsapp.groups oder groups["*"] hinzu, um alle Gruppen zuzulassen, während die Absenderautorisierung weiterhin über groupPolicy/groupAllowFrom gesteuert wird.Bun-Laufzeitwarnung
Bun-Laufzeitwarnung
node:sqlite nicht bereit, und doctor migriert veraltete Bun-Dienste zu Node.System-Prompts
WhatsApp unterstützt Telegram-ähnliche System-Prompts für Gruppen und Direktchats über die Zuordnungengroups und direct.
Auflösung für Gruppennachrichten: Zunächst wird die effektive Zuordnung groups bestimmt — wenn das Konto überhaupt einen eigenen Schlüssel groups definiert, ersetzt dieser die Stammzuordnung groups vollständig (keine tiefe Zusammenführung). Anschließend erfolgt die Prompt-Suche in dieser einzelnen resultierenden Zuordnung:
- Gruppenspezifischer Prompt (
groups["<groupId>"].systemPrompt): wird verwendet, wenn der Gruppeneintrag vorhanden und sein SchlüsselsystemPromptdefiniert ist. Eine leere Zeichenfolge ("") unterdrückt den Platzhalter und wendet keinen Prompt an. - Gruppen-Platzhalter-Prompt (
groups["*"].systemPrompt): wird verwendet, wenn der spezifische Gruppeneintrag fehlt oder ohne SchlüsselsystemPromptvorhanden ist.
direct und direct["*"].
dms bleibt der einfache Bucket für individuelle DM-Verlaufsüberschreibungen (dms.<id>.historyLimit). Prompt-Überschreibungen befinden sich unter direct.groups/direct, einschließlich eines ausdrücklich leeren Objekts, ersetzt die Stammzuordnung. Es unterscheidet sich von der oben beschriebenen Prüfung der Gruppenzugehörigkeits-Positivliste, die für eine versehentlich leere groups: {} ein Sicherheitsnetz bei nur einem Konto bietet.groups für jedes Konto in einer Einrichtung mit mehreren Konten (selbst für Konten ohne eigene groups), damit ein Bot keine Gruppennachrichten für Gruppen empfängt, denen er nicht angehört. WhatsApp wendet diesen Schutz nicht an — die Stammzuordnungen groups/direct werden unabhängig von der Anzahl der Konten von jedem Konto ohne eigene Überschreibung übernommen. Definieren Sie in einer WhatsApp-Einrichtung mit mehreren Konten die vollständige Zuordnung ausdrücklich unter jedem Konto, wenn Sie kontospezifische Prompts wünschen.
Wichtiges Verhalten:
channels.whatsapp.groupsist sowohl eine gruppenspezifische Konfigurationszuordnung als auch die Positivliste für Gruppen auf Chat-Ebene. Sowohl im Stamm- als auch im Kontogültigkeitsbereich bedeutetgroups["*"], dass für diesen Gültigkeitsbereich „alle Gruppen zugelassen sind“.- Fügen Sie den Platzhalter
systemPromptnur hinzu, wenn in diesem Gültigkeitsbereich bereits alle Gruppen zugelassen werden sollen. Damit nur eine festgelegte Gruppe von Gruppen-IDs zulässig bleibt, wiederholen Sie den Prompt für jeden ausdrücklich in der Positivliste aufgeführten Eintrag, anstattgroups["*"]zu verwenden. - Gruppenzulassung und Absenderautorisierung sind separate Prüfungen.
groups["*"]erweitert die Auswahl der Gruppen, die die Gruppenverarbeitung erreichen; dadurch werden nicht alle Absender in diesen Gruppen autorisiert — dies wird weiterhin durchgroupPolicy/groupAllowFromgesteuert. channels.whatsapp.directhat für DMs keine entsprechende Nebenwirkung:direct["*"]stellt lediglich eine Standardkonfiguration bereit, nachdem eine DM bereits durchdmPolicyzusammen mitallowFromoder Regeln des Kopplungsspeichers zugelassen wurde.