Regional platforms
Zalo persoonlijk
Status: experimenteel. Deze integratie automatiseert een persoonlijk Zalo-account via de native zca-js, binnen het proces en zonder extern CLI-programma.
Installatie
Zalo Personal is een officiële externe plugin en wordt niet met de kern meegeleverd. Installeer deze vóór gebruik:
openclaw plugins install @openclaw/zalouser- Een versie vastzetten:
openclaw plugins install @openclaw/zalouser@<version> - Vanuit een broncodecheckout:
openclaw plugins install ./path/to/local/zalouser-plugin - Details: Plugins
Snelle configuratie
- Installeer de plugin (hierboven).
- Meld u aan (via QR, op de Gateway-machine):
openclaw channels login --channel zalouser- Scan de QR-code met de mobiele Zalo-app.
- Schakel het kanaal in:
{ channels: { zalouser: { enabled: true, dmPolicy: "pairing", }, },}- Start de Gateway opnieuw (of voltooi de configuratie).
- Toegang tot privéberichten gebruikt standaard koppeling; keur bij het eerste contact de koppelingscode goed.
Wat het is
- Draait volledig binnen het proces via de bibliotheek
zca-js(zonder extern programmazca/openzca). - Gebruikt native gebeurtenislisteners (
message,error) om inkomende berichten te ontvangen. - Verstuurt antwoorden rechtstreeks via de JS-API (tekst/media/koppeling).
- Ontworpen voor gebruiksscenario's met een persoonlijk account waarin de Zalo Bot API niet beschikbaar is.
Naamgeving
De kanaal-id is zalouser om expliciet te maken dat hiermee een persoonlijk Zalo-gebruikersaccount wordt geautomatiseerd (onofficieel). zalo is gereserveerd voor een mogelijke toekomstige officiële integratie met de Zalo-API.
ID's vinden (adresboek)
openclaw directory self --channel zalouseropenclaw directory peers list --channel zalouser --query "name"openclaw directory groups list --channel zalouser --query "work"Beperkingen
- Uitgaande tekst wordt opgesplitst in stukken van 2000 tekens (limiet van de Zalo-client).
- Streaming wordt niet ondersteund.
Toegangsbeheer (privéberichten)
channels.zalouser.dmPolicy: pairing | allowlist | open | disabled (standaard: pairing).
channels.zalouser.allowFrom moet stabiele Zalo-gebruikers-ID's gebruiken. Het kan ook verwijzen naar statische afzenderstoegangsgroepen (accessGroup:<name>). Tijdens de interactieve configuratie kunnen ingevoerde namen worden omgezet in ID's via de contactzoekfunctie van de plugin binnen het proces.
Als een onbewerkte naam in de configuratie blijft staan, wordt deze bij het opstarten alleen omgezet wanneer channels.zalouser.dangerouslyAllowNameMatching: true is ingeschakeld. Zonder deze expliciete toestemming controleren runtimecontroles voor afzenders uitsluitend ID's en worden onbewerkte namen genegeerd voor autorisatie.
Goedkeuren via:
openclaw pairing list zalouseropenclaw pairing approve zalouser <code>
Groepstoegang (optioneel)
- Standaard:
channels.zalouser.groupPolicy = "allowlist"(groepen vereisen een expliciete vermelding in de toelatingslijst). - Alle groepen openen:
channels.zalouser.groupPolicy = "open". - Alle groepen blokkeren:
channels.zalouser.groupPolicy = "disabled". - Met
groupPolicy = "allowlist":- De sleutels van
channels.zalouser.groupsmoeten stabiele groeps-ID's zijn; namen worden bij het opstarten alleen omgezet in ID's wanneerchannels.zalouser.dangerouslyAllowNameMatching: trueis ingeschakeld. channels.zalouser.groupAllowFrombepaalt welke afzenders in toegestane groepen de bot kunnen activeren; naar statische afzenderstoegangsgroepen kan worden verwezen metaccessGroup:<name>.
- De sleutels van
- De configuratiewizard kan om toelatingslijsten voor groepen vragen.
- Vergelijking met de toelatingslijst voor groepen gebeurt standaard uitsluitend op basis van ID's. Niet-omgezette namen worden voor autorisatie genegeerd, tenzij
channels.zalouser.dangerouslyAllowNameMatching: trueis ingeschakeld. channels.zalouser.dangerouslyAllowNameMatching: trueis een compatibiliteitsmodus voor noodgevallen die veranderlijke naamomzetting bij het opstarten en runtimevergelijking van groepsnamen opnieuw inschakelt.groupAllowFromvalt voor normale groepsberichten niet terug opallowFrom: als dit leeg blijft voor een groep op de toelatingslijst, wordt die groep opengesteld voor elke afzender. Geautoriseerde beheeropdrachten (bijvoorbeeld/new) vormen de uitzondering; controles van afzenders van opdrachten vallen terug opallowFromwanneergroupAllowFromleeg is.
Voorbeeld:
{ channels: { zalouser: { groupPolicy: "allowlist", groupAllowFrom: ["1471383327500481391"], groups: { "123456789": { enabled: true }, "Work Chat": { enabled: true }, }, }, },}Vermeldingsvereiste voor groepen
channels.zalouser.groups.<group>.requireMentionbepaalt of voor antwoorden in groepen een vermelding vereist is.- Volgorde van omzetting: groeps-ID -> alias
group:<id>-> groepsnaam/slug (kandidaten op basis van namen zijn alleen van toepassing wanneerdangerouslyAllowNameMatching: true) ->*-> standaard (true). - Geldt zowel voor groepen op de toelatingslijst als voor de modus met open groepen.
- Het citeren van een botbericht geldt als een impliciete vermelding voor groepsactivering.
- Geautoriseerde beheeropdrachten (bijvoorbeeld
/new) kunnen de vermeldingsvereiste omzeilen. - Wanneer een groepsbericht wordt overgeslagen omdat een vermelding vereist is, slaat OpenClaw dit op als wachtende groepsgeschiedenis en neemt het dit op bij het volgende verwerkte groepsbericht.
- Limiet voor groepsgeschiedenis:
channels.zalouser.historyLimit, vervolgensmessages.groupChat.historyLimiten daarna een terugvalwaarde van50.
Voorbeeld:
{ channels: { zalouser: { groupPolicy: "allowlist", groups: { "*": { enabled: true, requireMention: true }, "Work Chat": { enabled: true, requireMention: false }, }, }, },}Meerdere accounts
Accounts worden gekoppeld aan zalouser-profielen in de OpenClaw-status. Voorbeeld:
{ channels: { zalouser: { enabled: true, defaultAccount: "default", accounts: { work: { enabled: true, profile: "work" }, }, }, },}Omgevingsvariabelen
De profielselectie kan ook afkomstig zijn uit omgevingsvariabelen:
| Variabele | Doel |
|---|---|
ZALOUSER_PROFILE |
Te gebruiken profielnaam wanneer geen profile is ingesteld in de kanaal- of accountconfiguratie. |
ZCA_PROFILE |
Verouderde terugvaloptie, alleen gebruikt wanneer ZALOUSER_PROFILE niet is ingesteld. |
Profielnamen selecteren de opgeslagen Zalo-aanmeldgegevens in de OpenClaw-status. Volgorde van omzetting:
- Expliciete
profilein de configuratie. ZALOUSER_PROFILE.ZCA_PROFILE.- De account-id voor niet-standaardaccounts, of
defaultvoor het standaardaccount.
Voor configuraties met meerdere accounts verdient het de voorkeur om profile voor elk account in de configuratie in te stellen, zodat één omgevingsvariabele er niet toe leidt dat meerdere accounts dezelfde aanmeldsessie delen.
Typen, reacties en ontvangstbevestigingen
- OpenClaw verstuurt een typgebeurtenis voordat een antwoord wordt verzonden (naar beste vermogen).
- De berichtreactieactie
reactwordt ondersteund voorzalouserin kanaalacties.- Gebruik
remove: trueom een specifieke reactie-emoji van een bericht te verwijderen. - Betekenis van reacties: Reacties
- Gebruik
- Voor inkomende berichten die gebeurtenismetadata bevatten, verstuurt OpenClaw bevestigingen voor afgeleverd en gezien (naar beste vermogen).
Probleemoplossing
Aanmelding blijft niet behouden:
openclaw channels status --probe- Opnieuw aanmelden:
openclaw channels logout --channel zalouser && openclaw channels login --channel zalouser
Naam in toelatingslijst/groepsnaam kon niet worden omgezet:
- Gebruik numerieke ID's in
allowFrom/groupAllowFromen stabiele groeps-ID's ingroups. Als u bewust exacte namen van vrienden/groepen nodig hebt, schakel danchannels.zalouser.dangerouslyAllowNameMatching: truein.
Bijgewerkt vanuit een oude externe configuratie op basis van zca/CLI:
- Verwijder alle aannames over een extern
zca-proces; het kanaal draait nu volledig binnen het proces viazca-js, zonder extern CLI-programma.
Gerelateerd
- Overzicht van kanalen - alle ondersteunde kanalen
- Koppeling - authenticatie voor privéberichten en koppelingsproces
- Groepen - gedrag van groepschats en vermeldingsvereiste
- Kanaalroutering - sessieroutering voor berichten
- Beveiliging - toegangsmodel en beveiligingsversterking