From 92e6530d3eac90acec1917cf1ba2255c05ccaba2 Mon Sep 17 00:00:00 2001 From: devlikepro Date: Mon, 27 May 2024 10:08:29 +0700 Subject: [PATCH] [docs] rm docs --- .github/workflows/pages.yml | 61 - Makefile | 3 - README.md | 12 +- docs/site/.editorconfig | 11 - docs/site/.eslintignore | 4 - docs/site/.eslintrc.json | 31 - docs/site/.github/FUNDING.yml | 12 - .../.github/ISSUE_TEMPLATE/bug-report---.md | 25 - docs/site/.github/ISSUE_TEMPLATE/config.yml | 4 - .../ISSUE_TEMPLATE/feature-request---.md | 17 - docs/site/.github/dependabot.yml | 11 - .../.github/workflows/codeql-analysis.yml | 62 - docs/site/.github/workflows/node.js-ci.yml | 34 - docs/site/.github/workflows/stale.yml | 19 - docs/site/.gitignore | 5 - docs/site/.markdownlint-cli2.jsonc | 11 - docs/site/.nvmrc | 1 - docs/site/.stylelintignore | 3 - docs/site/.stylelintrc.json | 48 - docs/site/CHANGELOG.md | 112 - docs/site/CODE_OF_CONDUCT.md | 76 - docs/site/LICENSE | 22 - docs/site/README.md | 156 - docs/site/SECURITY.md | 7 - docs/site/assets/images/default-image.png | Bin 4694 -> 0 bytes docs/site/assets/js/app.js | 1 - docs/site/assets/scss/app.scss | 38 - docs/site/assets/scss/common/_custom.scss | 1 - docs/site/babel.config.js | 17 - docs/site/config/_default/config.toml | 83 - docs/site/config/_default/languages.toml | 28 - docs/site/config/_default/markup.toml | 29 - docs/site/config/_default/menus/menus.en.toml | 148 - docs/site/config/_default/menus/menus.nl.toml | 39 - docs/site/config/_default/module.toml | 68 - docs/site/config/_default/params.toml | 113 - docs/site/config/next/config.toml | 1 - docs/site/config/postcss.config.js | 40 - docs/site/config/production/config.toml | 1 - docs/site/content/en/_index.md | 9 - docs/site/content/en/blog/_index.md | 8 - .../en/blog/say-hello-to-doks/index.md | 17 - docs/site/content/en/contact/index.md | 14 - docs/site/content/en/contributors/_index.md | 10 - .../en/contributors/henk-verlinde/_index.md | 12 - docs/site/content/en/docs/_index.md | 9 - docs/site/content/en/docs/examples/_index.md | 10 - .../content/en/docs/examples/kotlin/index.md | 115 - .../docs/examples/live-helper-chat/index.md | 37 - .../docs/examples/live-helper-chat/logo.png | Bin 3767 -> 0 bytes .../examples/live-helper-chat/screenshot.png | Bin 26503 -> 0 bytes .../content/en/docs/examples/python/index.md | 148 - docs/site/content/en/docs/how-to/_index.md | 10 - .../content/en/docs/how-to/chats/index.md | 43 - .../content/en/docs/how-to/config/index.md | 207 - .../content/en/docs/how-to/contacts/index.md | 117 - .../content/en/docs/how-to/deploy/index.md | 90 - .../content/en/docs/how-to/engines/index.md | 228 - .../content/en/docs/how-to/groups/index.md | 240 - .../content/en/docs/how-to/install/index.md | 115 - .../content/en/docs/how-to/other/index.md | 192 - .../en/docs/how-to/plus-version/boosty.svg | 1 - .../en/docs/how-to/plus-version/index.md | 49 - .../en/docs/how-to/plus-version/patreon.png | Bin 2485 -> 0 bytes .../how-to/plus-version/patron-portal.png | Bin 21950 -> 0 bytes .../how-to/plus-version/tether-usdt-logo.svg | 1 - .../how-to/polls/handle-poll-vote-failed.jpg | Bin 45240 -> 0 bytes .../content/en/docs/how-to/polls/index.md | 220 - .../en/docs/how-to/polls/poll-example.jpg | Bin 50896 -> 0 bytes .../content/en/docs/how-to/presence/index.md | 157 - .../en/docs/how-to/proxy/could-not-login.png | Bin 17920 -> 0 bytes .../content/en/docs/how-to/proxy/index.md | 97 - .../en/docs/how-to/receive-messages/index.md | 269 - .../content/en/docs/how-to/security/index.md | 87 - .../en/docs/how-to/security/swagger-auth.png | Bin 81521 -> 0 bytes .../how-to/security/swagger-basic-auth.png | Bin 36468 -> 0 bytes .../en/docs/how-to/send-messages/index.md | 463 - .../how-to/send-messages/poll-example.jpg | Bin 50896 -> 0 bytes .../content/en/docs/how-to/sessions/index.md | 393 - .../content/en/docs/how-to/storages/index.md | 149 - .../en/docs/how-to/storages/waha-mongodb.png | Bin 73472 -> 0 bytes .../content/en/docs/how-to/swagger/index.md | 60 - .../how-to/swagger/swagger-white-label.png | Bin 91189 -> 0 bytes .../en/docs/how-to/waha-dashboard/index.md | 57 - .../waha-dashboard/waha-dashboard-key.png | Bin 81922 -> 0 bytes .../how-to/waha-dashboard/waha-dashboard.png | Bin 75245 -> 0 bytes .../content/en/docs/how-to/webhooks/index.md | 551 - docs/site/content/en/docs/overview/_index.md | 10 - .../content/en/docs/overview/changelog.md | 409 - docs/site/content/en/docs/overview/faq.md | 38 - .../en/docs/overview/how-to-avoid-blocking.md | 92 - .../content/en/docs/overview/introduction.md | 91 - .../en/docs/overview/quick-start/img.png | Bin 198978 -> 0 bytes .../en/docs/overview/quick-start/index.md | 195 - .../en/docs/overview/quick-start/qr.png | Bin 60304 -> 0 bytes .../overview/quick-start/scan-qr-phone.png | Bin 53153 -> 0 bytes .../docs/overview/quick-start/screenshot.png | Bin 163167 -> 0 bytes .../docs/overview/quick-start/send-text.png | Bin 41235 -> 0 bytes .../overview/quick-start/session-start.png | Bin 42800 -> 0 bytes .../en/docs/overview/quick-start/swagger.png | Bin 84617 -> 0 bytes docs/site/content/en/docs/waha-hub/_index.md | 10 - .../en/docs/waha-hub/introduction/index.md | 52 - .../waha-hub/introduction/waha-dashboard.png | Bin 75245 -> 0 bytes docs/site/content/en/pricing/_index.md | 9 - docs/site/content/en/privacy-policy/index.md | 36 - docs/site/content/en/versions.md | 11 - docs/site/data/docs-versions.yml | 60 - docs/site/functions/hi-from-lambda.js | 11 - docs/site/i18n/de.yaml | 5 - docs/site/i18n/en.yaml | 17 - docs/site/i18n/nl.yaml | 17 - docs/site/images/logo.png | Bin 7912 -> 0 bytes docs/site/images/screenshot.png | Bin 121933 -> 0 bytes docs/site/images/tn.png | Bin 141361 -> 0 bytes docs/site/layouts/docs/list.html | 22 - docs/site/layouts/index.html | 279 - docs/site/layouts/partials/footer/footer.html | 18 - .../layouts/partials/head/custom-head.html | 91 - docs/site/layouts/pricing/list.html | 650 - docs/site/netlify.toml | 42 - docs/site/package-lock.json | 12116 ---------------- docs/site/package.json | 71 - docs/site/static/android-chrome-192x192.png | Bin 19174 -> 0 bytes docs/site/static/android-chrome-512x512.png | Bin 50604 -> 0 bytes docs/site/static/apple-touch-icon.png | Bin 14836 -> 0 bytes docs/site/static/dashboard/favicon.ico | Bin 15406 -> 0 bytes docs/site/static/dashboard/index.html | 289 - docs/site/static/dashboard/waha-dashboard.png | Bin 75801 -> 0 bytes docs/site/static/favicon-16x16.png | Bin 807 -> 0 bytes docs/site/static/favicon-32x32.png | Bin 1984 -> 0 bytes docs/site/static/favicon.ico | Bin 34494 -> 0 bytes docs/site/static/images/icons/api-green.png | Bin 13803 -> 0 bytes docs/site/static/images/icons/api.png | Bin 14351 -> 0 bytes .../site/static/images/icons/button-green.png | Bin 12674 -> 0 bytes docs/site/static/images/icons/button.png | Bin 17939 -> 0 bytes .../static/images/icons/checked-green.png | Bin 12578 -> 0 bytes docs/site/static/images/icons/checked.png | Bin 19266 -> 0 bytes .../static/images/icons/document-green.png | Bin 13547 -> 0 bytes docs/site/static/images/icons/document.png | Bin 7622 -> 0 bytes docs/site/static/images/icons/easy-green.png | Bin 21690 -> 0 bytes docs/site/static/images/icons/easy.png | Bin 36354 -> 0 bytes .../static/images/icons/file-check-green.svg | 5 - docs/site/static/images/icons/file-check.svg | 4 - docs/site/static/images/icons/free-green.png | Bin 16268 -> 0 bytes docs/site/static/images/icons/free.png | Bin 16121 -> 0 bytes .../static/images/icons/message-green.png | Bin 14711 -> 0 bytes docs/site/static/images/icons/message.png | Bin 15727 -> 0 bytes .../static/images/icons/servers-green.png | Bin 11832 -> 0 bytes docs/site/static/images/icons/servers.png | Bin 18421 -> 0 bytes .../static/images/javascript-whatsapp.png | Bin 62370 -> 0 bytes docs/site/static/images/kotlin-whatsapp.png | Bin 85748 -> 0 bytes docs/site/static/images/logo-robot.svg | 31 - docs/site/static/images/logo.png | Bin 7912 -> 0 bytes docs/site/static/images/logo.svg | 52 - docs/site/static/images/php-whatsapp.svg | Bin 78917 -> 0 bytes docs/site/static/images/python-whatsapp.png | Bin 92119 -> 0 bytes .../site/static/images/swagger-media-type.png | Bin 50646 -> 0 bytes docs/site/static/images/swagger.png | Bin 84617 -> 0 bytes .../site/static/images/versions/core-soon.png | Bin 1203 -> 0 bytes docs/site/static/images/versions/core.png | Bin 651 -> 0 bytes .../site/static/images/versions/plus-soon.png | Bin 1114 -> 0 bytes docs/site/static/images/versions/plus.png | Bin 590 -> 0 bytes docs/site/static/images/versions/soon.png | Bin 707 -> 0 bytes docs/site/static/images/waha-dashboard.png | Bin 75245 -> 0 bytes docs/site/static/logos/boosty.svg | 1 - docs/site/static/logos/patreon.png | Bin 2485 -> 0 bytes docs/site/static/logos/tether-usdt-logo.svg | 1 - docs/site/static/site.webmanifest | 1 - docs/site/static/swagger/favicon-16x16.png | Bin 665 -> 0 bytes docs/site/static/swagger/favicon-32x32.png | Bin 628 -> 0 bytes docs/site/static/swagger/index.css | 16 - docs/site/static/swagger/index.html | 19 - docs/site/static/swagger/oauth2-redirect.html | 79 - docs/site/static/swagger/openapi.json | 1 - .../static/swagger/swagger-initializer.js | 20 - docs/site/static/swagger/swagger-ui-bundle.js | 3 - .../static/swagger/swagger-ui-bundle.js.map | 1 - .../swagger/swagger-ui-es-bundle-core.js | 3 - .../swagger/swagger-ui-es-bundle-core.js.map | 1 - .../static/swagger/swagger-ui-es-bundle.js | 3 - .../swagger/swagger-ui-es-bundle.js.map | 1 - .../swagger/swagger-ui-standalone-preset.js | 3 - docs/site/static/swagger/swagger-ui.css | 3 - docs/site/static/swagger/swagger-ui.css.map | 1 - docs/site/static/swagger/swagger-ui.js | 2 - docs/site/static/swagger/swagger-ui.js.map | 1 - docs/site/static/videos/swagger-overview.webm | Bin 1318339 -> 0 bytes .../videos/waha-dashboard-overview.webm | Bin 1557088 -> 0 bytes docs/site/theme.toml | 14 - 189 files changed, 1 insertion(+), 20445 deletions(-) delete mode 100644 .github/workflows/pages.yml delete mode 100644 docs/site/.editorconfig delete mode 100644 docs/site/.eslintignore delete mode 100644 docs/site/.eslintrc.json delete mode 100644 docs/site/.github/FUNDING.yml delete mode 100644 docs/site/.github/ISSUE_TEMPLATE/bug-report---.md delete mode 100644 docs/site/.github/ISSUE_TEMPLATE/config.yml delete mode 100644 docs/site/.github/ISSUE_TEMPLATE/feature-request---.md delete mode 100644 docs/site/.github/dependabot.yml delete mode 100644 docs/site/.github/workflows/codeql-analysis.yml delete mode 100644 docs/site/.github/workflows/node.js-ci.yml delete mode 100644 docs/site/.github/workflows/stale.yml delete mode 100644 docs/site/.gitignore delete mode 100644 docs/site/.markdownlint-cli2.jsonc delete mode 100644 docs/site/.nvmrc delete mode 100644 docs/site/.stylelintignore delete mode 100644 docs/site/.stylelintrc.json delete mode 100644 docs/site/CHANGELOG.md delete mode 100644 docs/site/CODE_OF_CONDUCT.md delete mode 100644 docs/site/LICENSE delete mode 100644 docs/site/README.md delete mode 100644 docs/site/SECURITY.md delete mode 100644 docs/site/assets/images/default-image.png delete mode 100644 docs/site/assets/js/app.js delete mode 100644 docs/site/assets/scss/app.scss delete mode 100644 docs/site/assets/scss/common/_custom.scss delete mode 100644 docs/site/babel.config.js delete mode 100644 docs/site/config/_default/config.toml delete mode 100644 docs/site/config/_default/languages.toml delete mode 100644 docs/site/config/_default/markup.toml delete mode 100644 docs/site/config/_default/menus/menus.en.toml delete mode 100644 docs/site/config/_default/menus/menus.nl.toml delete mode 100644 docs/site/config/_default/module.toml delete mode 100644 docs/site/config/_default/params.toml delete mode 100644 docs/site/config/next/config.toml delete mode 100644 docs/site/config/postcss.config.js delete mode 100644 docs/site/config/production/config.toml delete mode 100644 docs/site/content/en/_index.md delete mode 100644 docs/site/content/en/blog/_index.md delete mode 100644 docs/site/content/en/blog/say-hello-to-doks/index.md delete mode 100644 docs/site/content/en/contact/index.md delete mode 100644 docs/site/content/en/contributors/_index.md delete mode 100644 docs/site/content/en/contributors/henk-verlinde/_index.md delete mode 100644 docs/site/content/en/docs/_index.md delete mode 100644 docs/site/content/en/docs/examples/_index.md delete mode 100644 docs/site/content/en/docs/examples/kotlin/index.md delete mode 100644 docs/site/content/en/docs/examples/live-helper-chat/index.md delete mode 100644 docs/site/content/en/docs/examples/live-helper-chat/logo.png delete mode 100644 docs/site/content/en/docs/examples/live-helper-chat/screenshot.png delete mode 100644 docs/site/content/en/docs/examples/python/index.md delete mode 100644 docs/site/content/en/docs/how-to/_index.md delete mode 100644 docs/site/content/en/docs/how-to/chats/index.md delete mode 100644 docs/site/content/en/docs/how-to/config/index.md delete mode 100644 docs/site/content/en/docs/how-to/contacts/index.md delete mode 100644 docs/site/content/en/docs/how-to/deploy/index.md delete mode 100644 docs/site/content/en/docs/how-to/engines/index.md delete mode 100644 docs/site/content/en/docs/how-to/groups/index.md delete mode 100644 docs/site/content/en/docs/how-to/install/index.md delete mode 100644 docs/site/content/en/docs/how-to/other/index.md delete mode 100644 docs/site/content/en/docs/how-to/plus-version/boosty.svg delete mode 100644 docs/site/content/en/docs/how-to/plus-version/index.md delete mode 100644 docs/site/content/en/docs/how-to/plus-version/patreon.png delete mode 100644 docs/site/content/en/docs/how-to/plus-version/patron-portal.png delete mode 100644 docs/site/content/en/docs/how-to/plus-version/tether-usdt-logo.svg delete mode 100644 docs/site/content/en/docs/how-to/polls/handle-poll-vote-failed.jpg delete mode 100644 docs/site/content/en/docs/how-to/polls/index.md delete mode 100644 docs/site/content/en/docs/how-to/polls/poll-example.jpg delete mode 100644 docs/site/content/en/docs/how-to/presence/index.md delete mode 100644 docs/site/content/en/docs/how-to/proxy/could-not-login.png delete mode 100644 docs/site/content/en/docs/how-to/proxy/index.md delete mode 100644 docs/site/content/en/docs/how-to/receive-messages/index.md delete mode 100644 docs/site/content/en/docs/how-to/security/index.md delete mode 100644 docs/site/content/en/docs/how-to/security/swagger-auth.png delete mode 100644 docs/site/content/en/docs/how-to/security/swagger-basic-auth.png delete mode 100644 docs/site/content/en/docs/how-to/send-messages/index.md delete mode 100644 docs/site/content/en/docs/how-to/send-messages/poll-example.jpg delete mode 100644 docs/site/content/en/docs/how-to/sessions/index.md delete mode 100644 docs/site/content/en/docs/how-to/storages/index.md delete mode 100644 docs/site/content/en/docs/how-to/storages/waha-mongodb.png delete mode 100644 docs/site/content/en/docs/how-to/swagger/index.md delete mode 100644 docs/site/content/en/docs/how-to/swagger/swagger-white-label.png delete mode 100644 docs/site/content/en/docs/how-to/waha-dashboard/index.md delete mode 100644 docs/site/content/en/docs/how-to/waha-dashboard/waha-dashboard-key.png delete mode 100644 docs/site/content/en/docs/how-to/waha-dashboard/waha-dashboard.png delete mode 100644 docs/site/content/en/docs/how-to/webhooks/index.md delete mode 100644 docs/site/content/en/docs/overview/_index.md delete mode 100644 docs/site/content/en/docs/overview/changelog.md delete mode 100644 docs/site/content/en/docs/overview/faq.md delete mode 100644 docs/site/content/en/docs/overview/how-to-avoid-blocking.md delete mode 100644 docs/site/content/en/docs/overview/introduction.md delete mode 100644 docs/site/content/en/docs/overview/quick-start/img.png delete mode 100644 docs/site/content/en/docs/overview/quick-start/index.md delete mode 100644 docs/site/content/en/docs/overview/quick-start/qr.png delete mode 100644 docs/site/content/en/docs/overview/quick-start/scan-qr-phone.png delete mode 100644 docs/site/content/en/docs/overview/quick-start/screenshot.png delete mode 100644 docs/site/content/en/docs/overview/quick-start/send-text.png delete mode 100644 docs/site/content/en/docs/overview/quick-start/session-start.png delete mode 100644 docs/site/content/en/docs/overview/quick-start/swagger.png delete mode 100644 docs/site/content/en/docs/waha-hub/_index.md delete mode 100644 docs/site/content/en/docs/waha-hub/introduction/index.md delete mode 100644 docs/site/content/en/docs/waha-hub/introduction/waha-dashboard.png delete mode 100644 docs/site/content/en/pricing/_index.md delete mode 100644 docs/site/content/en/privacy-policy/index.md delete mode 100644 docs/site/content/en/versions.md delete mode 100644 docs/site/data/docs-versions.yml delete mode 100644 docs/site/functions/hi-from-lambda.js delete mode 100644 docs/site/i18n/de.yaml delete mode 100644 docs/site/i18n/en.yaml delete mode 100644 docs/site/i18n/nl.yaml delete mode 100644 docs/site/images/logo.png delete mode 100644 docs/site/images/screenshot.png delete mode 100644 docs/site/images/tn.png delete mode 100644 docs/site/layouts/docs/list.html delete mode 100644 docs/site/layouts/index.html delete mode 100644 docs/site/layouts/partials/footer/footer.html delete mode 100644 docs/site/layouts/partials/head/custom-head.html delete mode 100644 docs/site/layouts/pricing/list.html delete mode 100644 docs/site/netlify.toml delete mode 100644 docs/site/package-lock.json delete mode 100644 docs/site/package.json delete mode 100644 docs/site/static/android-chrome-192x192.png delete mode 100644 docs/site/static/android-chrome-512x512.png delete mode 100644 docs/site/static/apple-touch-icon.png delete mode 100644 docs/site/static/dashboard/favicon.ico delete mode 100644 docs/site/static/dashboard/index.html delete mode 100644 docs/site/static/dashboard/waha-dashboard.png delete mode 100644 docs/site/static/favicon-16x16.png delete mode 100644 docs/site/static/favicon-32x32.png delete mode 100644 docs/site/static/favicon.ico delete mode 100644 docs/site/static/images/icons/api-green.png delete mode 100644 docs/site/static/images/icons/api.png delete mode 100644 docs/site/static/images/icons/button-green.png delete mode 100644 docs/site/static/images/icons/button.png delete mode 100644 docs/site/static/images/icons/checked-green.png delete mode 100644 docs/site/static/images/icons/checked.png delete mode 100644 docs/site/static/images/icons/document-green.png delete mode 100644 docs/site/static/images/icons/document.png delete mode 100644 docs/site/static/images/icons/easy-green.png delete mode 100644 docs/site/static/images/icons/easy.png delete mode 100644 docs/site/static/images/icons/file-check-green.svg delete mode 100644 docs/site/static/images/icons/file-check.svg delete mode 100644 docs/site/static/images/icons/free-green.png delete mode 100644 docs/site/static/images/icons/free.png delete mode 100644 docs/site/static/images/icons/message-green.png delete mode 100644 docs/site/static/images/icons/message.png delete mode 100644 docs/site/static/images/icons/servers-green.png delete mode 100644 docs/site/static/images/icons/servers.png delete mode 100644 docs/site/static/images/javascript-whatsapp.png delete mode 100644 docs/site/static/images/kotlin-whatsapp.png delete mode 100644 docs/site/static/images/logo-robot.svg delete mode 100644 docs/site/static/images/logo.png delete mode 100644 docs/site/static/images/logo.svg delete mode 100644 docs/site/static/images/php-whatsapp.svg delete mode 100644 docs/site/static/images/python-whatsapp.png delete mode 100644 docs/site/static/images/swagger-media-type.png delete mode 100644 docs/site/static/images/swagger.png delete mode 100644 docs/site/static/images/versions/core-soon.png delete mode 100644 docs/site/static/images/versions/core.png delete mode 100644 docs/site/static/images/versions/plus-soon.png delete mode 100644 docs/site/static/images/versions/plus.png delete mode 100644 docs/site/static/images/versions/soon.png delete mode 100644 docs/site/static/images/waha-dashboard.png delete mode 100644 docs/site/static/logos/boosty.svg delete mode 100644 docs/site/static/logos/patreon.png delete mode 100644 docs/site/static/logos/tether-usdt-logo.svg delete mode 100644 docs/site/static/site.webmanifest delete mode 100644 docs/site/static/swagger/favicon-16x16.png delete mode 100644 docs/site/static/swagger/favicon-32x32.png delete mode 100644 docs/site/static/swagger/index.css delete mode 100644 docs/site/static/swagger/index.html delete mode 100644 docs/site/static/swagger/oauth2-redirect.html delete mode 100644 docs/site/static/swagger/openapi.json delete mode 100644 docs/site/static/swagger/swagger-initializer.js delete mode 100644 docs/site/static/swagger/swagger-ui-bundle.js delete mode 100644 docs/site/static/swagger/swagger-ui-bundle.js.map delete mode 100644 docs/site/static/swagger/swagger-ui-es-bundle-core.js delete mode 100644 docs/site/static/swagger/swagger-ui-es-bundle-core.js.map delete mode 100644 docs/site/static/swagger/swagger-ui-es-bundle.js delete mode 100644 docs/site/static/swagger/swagger-ui-es-bundle.js.map delete mode 100644 docs/site/static/swagger/swagger-ui-standalone-preset.js delete mode 100644 docs/site/static/swagger/swagger-ui.css delete mode 100644 docs/site/static/swagger/swagger-ui.css.map delete mode 100644 docs/site/static/swagger/swagger-ui.js delete mode 100644 docs/site/static/swagger/swagger-ui.js.map delete mode 100644 docs/site/static/videos/swagger-overview.webm delete mode 100644 docs/site/static/videos/waha-dashboard-overview.webm delete mode 100644 docs/site/theme.toml diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml deleted file mode 100644 index 90ce49e5..00000000 --- a/.github/workflows/pages.yml +++ /dev/null @@ -1,61 +0,0 @@ -name: Deploy Pages - -on: - push: - branches: - - core - -jobs: - build: - runs-on: ubuntu-latest - defaults: - run: - working-directory: docs/site - - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - persist-credentials: false - - - name: Install dependencies - run: | - npm install - - - name: Build - run: | - npm run build - - - name: Upload folder - uses: actions/upload-artifact@v2 - with: - path: docs/site/public - name: public - retention-days: 5 - - deploy-github-pages: - needs: build - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - persist-credentials: false - - - name: Download folder - uses: actions/download-artifact@v2 - with: - name: public - path: public - - - name: File list - run: | - ls -la && ls -la public - - - name: Deploy - uses: JamesIves/github-pages-deploy-action@4.0.0 - with: - token: ${{ secrets.GITHUB_TOKEN }} - BRANCH: gh-pages - FOLDER: public - CLEAN: true diff --git a/Makefile b/Makefile index 40ea560c..0665d2fc 100644 --- a/Makefile +++ b/Makefile @@ -31,9 +31,6 @@ push: for-swagger: WHATSAPP_SWAGGER_CONFIG_ADVANCED=true npm run start -update-swagger: - wget http://localhost:3000/-json -O ./docs/site/static/swagger/openapi.json - update-dependencies: . ${NVM_DIR}/nvm.sh && nvm exec yarn up whatsapp-web.js@https://github.com/devlikeapro/whatsapp-web.js#main-fork . ${NVM_DIR}/nvm.sh && nvm exec yarn up @adiwajshing/baileys@github:WhiskeySockets/Baileys diff --git a/README.md b/README.md index cfe343ad..1ca9135b 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # WhatsApp HTTP API (WAHA)

- Image +

**WAHA** - **W**hats**A**pp **H**TTP **A**PI (REST API) that you can install on your own server and run in less than 5 minutes! @@ -102,13 +102,11 @@ Let's go over steps that allow you to send your first text message via WhatsApp Assuming you have installed [Docker](https://docs.docker.com/get-docker/), let's download the image. -![](./docs/site/content/en/docs/overview/quick-start//images/versions/core.png) For Core version the command is ```bash docker pull devlikeapro/whatsapp-http-api ``` -![](./docs/site/content/en/docs/overview/quick-start//images/versions/plus.png) For Plus version, we use login to get the image before: ```bash docker login -u devlikeapro -p {KEY} @@ -132,7 +130,6 @@ docker run -it --rm -p 3000:3000/tcp --name whatsapp-http-api devlikeapro/whatsa Open the link in your browser [http://localhost:3000/](http://localhost:3000/) and you'll see API documentation (Swagger). -![](./docs/site/content/en/docs/overview/quick-start/swagger.png) ### 3. Start a new session @@ -154,29 +151,23 @@ The example payload: } ``` -![](./docs/site/content/en/docs/overview/quick-start/session-start.png) By using the request with `name` values you can start multiple session (WhatsApp accounts) inside the single docker container in Plus -![](./docs/site/content/en/docs/overview/quick-start//images/versions/plus.png) version and only one account in Core ![](./docs/site/content/en/docs/overview/quick-start//images/versions/core.png) version. -Read more about [multiple sessions →]({{< relref "/docs/how-to/sessions" >}}) ### 4. Get and scan QR Find `GET /api/screenshot` and execute it, it shows you QR code. -![](./docs/site/content/en/docs/overview/quick-start/qr.png) **Scan the QR with your cell phone's WhatsApp app.** -![](./docs/site/content/en/docs/overview/quick-start/scan-qr-phone.png) ### 5. Get the screenshot Execute `GET /api/screenshot` after a few seconds after scanning the QR - it'll show you the screenshot of you Whatsapp instance. If you can get the actual screenshot - then you're ready to start sending messages! -![](./docs/site/content/en/docs/overview/quick-start/screenshot.png) ### 6. Send a text message @@ -193,7 +184,6 @@ The example payload: "session": "default" } ``` -![](./docs/site/content/en/docs/overview/quick-start/send-text.png) Also, you can use `curl` and send POST request like this: diff --git a/docs/site/.editorconfig b/docs/site/.editorconfig deleted file mode 100644 index dad6b582..00000000 --- a/docs/site/.editorconfig +++ /dev/null @@ -1,11 +0,0 @@ -# editorconfig.org - -root = true - -[*] -indent_style = space -indent_size = 2 -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true \ No newline at end of file diff --git a/docs/site/.eslintignore b/docs/site/.eslintignore deleted file mode 100644 index 57d00579..00000000 --- a/docs/site/.eslintignore +++ /dev/null @@ -1,4 +0,0 @@ -assets/js/index.js -assets/js/katex.js -assets/js/vendor -node_modules \ No newline at end of file diff --git a/docs/site/.eslintrc.json b/docs/site/.eslintrc.json deleted file mode 100644 index c926994d..00000000 --- a/docs/site/.eslintrc.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "env": { - "browser": true, - "commonjs": true, - "es6": true, - "node": true - }, - "extends": "eslint:recommended", - "globals": { - "Atomics": "readonly", - "SharedArrayBuffer": "readonly" - }, - "parserOptions": { - "ecmaVersion": 2018, - "sourceType": "module" - }, - "rules": { - "no-console": 0, - "quotes": ["error", "single"], - "comma-dangle": [ - "error", - { - "arrays": "always-multiline", - "objects": "always-multiline", - "imports": "always-multiline", - "exports": "always-multiline", - "functions": "ignore" - } - ] - } -} \ No newline at end of file diff --git a/docs/site/.github/FUNDING.yml b/docs/site/.github/FUNDING.yml deleted file mode 100644 index b15c6e6b..00000000 --- a/docs/site/.github/FUNDING.yml +++ /dev/null @@ -1,12 +0,0 @@ -# These are supported funding model platforms - -github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] -patreon: # Replace with a single Patreon username -open_collective: doks # Replace with a single Open Collective username -ko_fi: # Replace with a single Ko-fi username -tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel -community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry -liberapay: # Replace with a single Liberapay username -issuehunt: # Replace with a single IssueHunt username -otechie: # Replace with a single Otechie username -custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/docs/site/.github/ISSUE_TEMPLATE/bug-report---.md b/docs/site/.github/ISSUE_TEMPLATE/bug-report---.md deleted file mode 100644 index 6a8b3a84..00000000 --- a/docs/site/.github/ISSUE_TEMPLATE/bug-report---.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -name: "Bug report \U0001F41E" -about: Create a report to help us improve - ---- - -## Description - -Describe the issue that you're seeing. - -### Steps to reproduce - -Clear steps describing how to reproduce the issue. Please please please link to a demo project if possible, this makes your issue _much_ easier to diagnose (seriously). - -### Expected result - -What should happen? - -### Actual result - -What happened. - -### Environment - -Paste the information here as shown by `npm run check` diff --git a/docs/site/.github/ISSUE_TEMPLATE/config.yml b/docs/site/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index e3766187..00000000 --- a/docs/site/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1,4 +0,0 @@ -contact_links: - - name: Question 🙋 - url: https://github.com/h-enk/doks/discussions/categories/q-a - about: Ask your question in Doks Discussions \ No newline at end of file diff --git a/docs/site/.github/ISSUE_TEMPLATE/feature-request---.md b/docs/site/.github/ISSUE_TEMPLATE/feature-request---.md deleted file mode 100644 index 74da274c..00000000 --- a/docs/site/.github/ISSUE_TEMPLATE/feature-request---.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -name: "Feature request \U0001F680" -about: Suggest an idea for Doks - ---- - -## Summary - -Brief explanation of the feature. - -### Basic example - -Include a basic example or links here. - -### Motivation - -Why are we doing this? What use cases does it support? What is the expected outcome? diff --git a/docs/site/.github/dependabot.yml b/docs/site/.github/dependabot.yml deleted file mode 100644 index 8abca405..00000000 --- a/docs/site/.github/dependabot.yml +++ /dev/null @@ -1,11 +0,0 @@ -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for all configuration options: -# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates - -version: 2 -updates: - - package-ecosystem: "npm" # See documentation for possible values - directory: "/" # Location of package manifests - schedule: - interval: "daily" diff --git a/docs/site/.github/workflows/codeql-analysis.yml b/docs/site/.github/workflows/codeql-analysis.yml deleted file mode 100644 index 0f02f7c7..00000000 --- a/docs/site/.github/workflows/codeql-analysis.yml +++ /dev/null @@ -1,62 +0,0 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -name: "CodeQL" - -on: - push: - branches: [master] - pull_request: - # The branches below must be a subset of the branches above - branches: [master] - schedule: - - cron: '0 11 * * 5' - -jobs: - analyze: - name: Analyze - runs-on: ubuntu-latest - - strategy: - fail-fast: false - matrix: - # Override automatic language detection by changing the below list - # Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python'] - language: ['javascript'] - # Learn more... - # https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection - - steps: - - name: Checkout repository - uses: actions/checkout@v2 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v1 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - # queries: ./path/to/local/query, your-org/your-repo/queries@main - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v1 - - # â„šī¸ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl - - # âœī¸ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language - - #- run: | - # make bootstrap - # make release - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v1 diff --git a/docs/site/.github/workflows/node.js-ci.yml b/docs/site/.github/workflows/node.js-ci.yml deleted file mode 100644 index ea43619b..00000000 --- a/docs/site/.github/workflows/node.js-ci.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: Hyas CI - -on: - push: - branches: master - pull_request: - branches: master - -jobs: - build: - runs-on: ${{ matrix.os }} - - strategy: - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - node: [16.x, 18.x] - - steps: - - name: Check out Hyas project - uses: actions/checkout@v2 - - - name: Set up Node.js ${{ matrix.node }} - uses: actions/setup-node@v2 - with: - node-version: ${{ matrix.node }} - - - name: Install dependencies - run: npm ci - - - name: Run Hyas test script - run: npm test - - - name: Build production website - run: npm run build \ No newline at end of file diff --git a/docs/site/.github/workflows/stale.yml b/docs/site/.github/workflows/stale.yml deleted file mode 100644 index 8ca10108..00000000 --- a/docs/site/.github/workflows/stale.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: 'Close stale issues and PRs' -on: - schedule: - - cron: '0 0 * * *' - -jobs: - stale: - runs-on: ubuntu-latest - steps: - - uses: actions/stale@v4 - with: - stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.' - stale-pr-message: 'This PR is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.' - close-issue-message: 'This issue was closed because it has been stalled for 5 days with no activity.' - close-pr-message: 'This PR was closed because it has been stalled for 5 days with no activity.' - days-before-stale: 30 - days-before-close: 5 - days-before-pr-close: 5 - exempt-issue-labels: 'keep' \ No newline at end of file diff --git a/docs/site/.gitignore b/docs/site/.gitignore deleted file mode 100644 index 85ea9156..00000000 --- a/docs/site/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -node_modules -public -resources -.netlify -.hugo_build.lock \ No newline at end of file diff --git a/docs/site/.markdownlint-cli2.jsonc b/docs/site/.markdownlint-cli2.jsonc deleted file mode 100644 index 3c793744..00000000 --- a/docs/site/.markdownlint-cli2.jsonc +++ /dev/null @@ -1,11 +0,0 @@ -{ - "config": { - "default": true, - "MD013": false, - "MD024": false, - "MD026": false, - "MD033": false, - "MD034": false - }, - "ignores": ["node_modules", "CHANGELOG.md", "README.md"] -} \ No newline at end of file diff --git a/docs/site/.nvmrc b/docs/site/.nvmrc deleted file mode 100644 index 9dfef472..00000000 --- a/docs/site/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -v18.12.0 diff --git a/docs/site/.stylelintignore b/docs/site/.stylelintignore deleted file mode 100644 index 3972095a..00000000 --- a/docs/site/.stylelintignore +++ /dev/null @@ -1,3 +0,0 @@ -assets/scss/components/_syntax.scss -assets/scss/vendor -node_modules \ No newline at end of file diff --git a/docs/site/.stylelintrc.json b/docs/site/.stylelintrc.json deleted file mode 100644 index 191d0938..00000000 --- a/docs/site/.stylelintrc.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "extends": "stylelint-config-standard-scss", - "rules": { - "no-empty-source": null, - "string-quotes": "double", - "scss/comment-no-empty": null, - "max-line-length": null, - "scss/at-extend-no-missing-placeholder": null, - "scss/dollar-variable-colon-space-after": null, - "scss/dollar-variable-empty-line-before": null, - "color-function-notation": null, - "alpha-value-notation": null, - "selector-id-pattern": null, - "selector-class-pattern": null, - "scss/no-global-function-names": null, - "number-max-precision": null, - "hue-degree-notation": null, - "value-no-vendor-prefix": null, - "property-no-vendor-prefix": null, - "at-rule-no-unknown": [ - true, - { - "ignoreAtRules": [ - "extend", - "at-root", - "debug", - "warn", - "error", - "if", - "else", - "for", - "each", - "while", - "mixin", - "include", - "content", - "return", - "function", - "tailwind", - "apply", - "responsive", - "variants", - "screen" - ] - } - ] - } -} \ No newline at end of file diff --git a/docs/site/CHANGELOG.md b/docs/site/CHANGELOG.md deleted file mode 100644 index 26975b03..00000000 --- a/docs/site/CHANGELOG.md +++ /dev/null @@ -1,112 +0,0 @@ -### Changelog - -All notable changes to this project will be documented in this file. Dates are displayed in UTC. - -Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - -#### [v0.5.0](https://github.com/h-enk/doks-child-theme/compare/v0.4.3...v0.5.0) - -- feat: update for Doks v0.5.0 [`0df89d5`](https://github.com/h-enk/doks-child-theme/commit/0df89d51fbf706aea17d68d07bcfaeba422a1b60) -- content: update content for Doks v0.5.0 [`63d4412`](https://github.com/h-enk/doks-child-theme/commit/63d4412ba65217ca21092565bf3e6bcc2706e575) -- meta: update README.md [`5a8fa90`](https://github.com/h-enk/doks-child-theme/commit/5a8fa9081ce203d594c4ad7b5193f87bd51f3d6e) - -#### [v0.4.3](https://github.com/h-enk/doks-child-theme/compare/v0.4.2...v0.4.3) - -> 18 May 2022 - -- deps: bump versions to latest [`8ee2cb6`](https://github.com/h-enk/doks-child-theme/commit/8ee2cb6b8f2a7b38562f266c7db9c028a24c4523) -- meta: update changelog [`48499b6`](https://github.com/h-enk/doks-child-theme/commit/48499b6e66bf9bf5bc3d27597b2840618882b16b) - -#### [v0.4.2](https://github.com/h-enk/doks-child-theme/compare/v0.4.1...v0.4.2) - -> 1 April 2022 - -- deps: bump @hyas/doks from 0.4.1 to 0.4.2 [`eda0e36`](https://github.com/h-enk/doks-child-theme/commit/eda0e360262707c7baa1af2b7d373865d5e534fd) -- meta: update changelog [`4e8f1a8`](https://github.com/h-enk/doks-child-theme/commit/4e8f1a8e51292c4010ee48a1f94b22db441d0998) -- meta: update sponsors + backers sections [`788e1e3`](https://github.com/h-enk/doks-child-theme/commit/788e1e3ab5b5447b4464018a0959e3cd1338a486) - -#### [v0.4.1](https://github.com/h-enk/doks-child-theme/compare/v0.4.0...v0.4.1) - -> 31 March 2022 - -- deps: bump versions to latest [`a85f35d`](https://github.com/h-enk/doks-child-theme/commit/a85f35dc3fe0ca5a3080d4fe7d567f7e8863566e) -- ops: add continuous integration + stale workflows [`8134f51`](https://github.com/h-enk/doks-child-theme/commit/8134f518b7873be39ff2cd6eb3472bf681fa3390) -- feat: add files for custom scss + js [`12bf689`](https://github.com/h-enk/doks-child-theme/commit/12bf689da853e90ed51f25b8103e7beca68c23b0) - -#### [v0.4.0](https://github.com/h-enk/doks-child-theme/compare/v0.3.5...v0.4.0) - -> 4 February 2022 - -- deps: bump versions to latest [`fe5bf72`](https://github.com/h-enk/doks-child-theme/commit/fe5bf729e6e6754f3b6957b5d6c657c84326d070) -- fix: comment out mount content [`477ed68`](https://github.com/h-enk/doks-child-theme/commit/477ed686336826296a8b8e83c90af45b7a904bf4) -- config: update for doks v0.4.0 [`d00d595`](https://github.com/h-enk/doks-child-theme/commit/d00d595bc6add83780cf577d58099bbcecfbbe40) - -#### [v0.3.5](https://github.com/h-enk/doks-child-theme/compare/v0.3.4...v0.3.5) - -> 5 October 2021 - -- chore(deps-dev): bump bootstrap from 5.1.0 to 5.1.1 [`#64`](https://github.com/h-enk/doks-child-theme/pull/64) -- chore(deps-dev): bump @babel/preset-env from 7.15.4 to 7.15.6 [`#65`](https://github.com/h-enk/doks-child-theme/pull/65) -- chore(deps-dev): bump autoprefixer from 10.3.4 to 10.3.7 [`#71`](https://github.com/h-enk/doks-child-theme/pull/71) -- feat: update for doks 0.3.5 [`3782cf5`](https://github.com/h-enk/doks-child-theme/commit/3782cf57ed43acadc426305dc64764048b78138a) -- meta: update changelog [`36436ff`](https://github.com/h-enk/doks-child-theme/commit/36436fff6fd1ba412fdc991f4acca35a2835d09c) -- meta: bump version doks-child-theme to 0.3.5 [`57eae76`](https://github.com/h-enk/doks-child-theme/commit/57eae76694755ab1b06691a3c5427f224b806661) - -#### [v0.3.4](https://github.com/h-enk/doks-child-theme/compare/v0.3.3...v0.3.4) - -> 7 September 2021 - -- feat: update for doks 0.3.4 [`b08cb80`](https://github.com/h-enk/doks-child-theme/commit/b08cb80fadc09f7ad7e7e960d09dc482666fa108) -- deps: bump versions to latest [`a790bbe`](https://github.com/h-enk/doks-child-theme/commit/a790bbe7fa9ac52d15270339bf1ec24be385a2a8) -- Create FUNDING.yml [`8613d4c`](https://github.com/h-enk/doks-child-theme/commit/8613d4caad869c0f1f80b5610f6e49b766935541) - -#### [v0.3.3](https://github.com/h-enk/doks-child-theme/compare/v0.3.0...v0.3.3) - -> 5 July 2021 - -- feat: update for doks v0.3.3 [`f7b5720`](https://github.com/h-enk/doks-child-theme/commit/f7b57204c9de70f14e17337a8baa44815beb2b50) -- content: update readme [`14f1a3f`](https://github.com/h-enk/doks-child-theme/commit/14f1a3fede35e7f4a88d8ea063416958c2900a56) -- Update for doks v0.3.3 [`babdd77`](https://github.com/h-enk/doks-child-theme/commit/babdd7791e6002fd2272b1bc3c95c58654933454) - -#### [v0.3.0](https://github.com/h-enk/doks-child-theme/compare/v0.2.3...v0.3.0) - -> 25 June 2021 - -- feat: update for doks v0.3.0 [`630c2a2`](https://github.com/h-enk/doks-child-theme/commit/630c2a2edd246f3fc26fbb799d2debb77857882c) -- fix: add data directory [`69cdc3c`](https://github.com/h-enk/doks-child-theme/commit/69cdc3cccea6a976552e654a86a85475a19ef448) - -#### [v0.2.3](https://github.com/h-enk/doks-child-theme/compare/v0.2.2...v0.2.3) - -> 2 April 2021 - -- feat: update for doks v0.2.3 [`e517462`](https://github.com/h-enk/doks-child-theme/commit/e517462127252a50d78cf34180ea10f898993585) -- chore(release): 0.2.3 [`1fcbc4e`](https://github.com/h-enk/doks-child-theme/commit/1fcbc4e2cb297f780004582612d904920044b181) - -#### v0.2.2 - -> 26 March 2021 - -- feat: add doks as a node module [`cfed05e`](https://github.com/h-enk/doks-child-theme/commit/cfed05efaf7b4191b2bdca4c91405c6cabc8396c) -- deps: bump versions to latest [`997a7dd`](https://github.com/h-enk/doks-child-theme/commit/997a7dd7250b3dc0fe23c92ebf83ed21c9ba2d6b) -- config: update for doks v0.2.2 [`03f51d5`](https://github.com/h-enk/doks-child-theme/commit/03f51d5fd1f66f7afa0957d92adf779d438a3946) - - - -### [0.2.3](https://github.com/h-enk/doks/compare/v0.2.2...v0.2.3) (2021-04-02) - - -### Features - -* update for doks v0.2.3 ([e517462](https://github.com/h-enk/doks/commit/e517462127252a50d78cf34180ea10f898993585)) - -### 0.2.2 (2021-03-26) - - -### Features - -* add doks as a node module ([cfed05e](https://github.com/h-enk/doks/commit/cfed05efaf7b4191b2bdca4c91405c6cabc8396c)) - - -### Dependencies - -* bump versions to latest ([997a7dd](https://github.com/h-enk/doks/commit/997a7dd7250b3dc0fe23c92ebf83ed21c9ba2d6b)) diff --git a/docs/site/CODE_OF_CONDUCT.md b/docs/site/CODE_OF_CONDUCT.md deleted file mode 100644 index 77366b2e..00000000 --- a/docs/site/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,76 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, sex characteristics, gender identity and expression, -level of experience, education, socio-economic status, nationality, personal -appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or - advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at hello@getdoks.org. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html - -[homepage]: https://www.contributor-covenant.org - -For answers to common questions about this code of conduct, see -https://www.contributor-covenant.org/faq diff --git a/docs/site/LICENSE b/docs/site/LICENSE deleted file mode 100644 index be44e1fc..00000000 --- a/docs/site/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -MIT License - -Copyright (c) 2018-present, Gridsome -Copyright (c) 2020-present, Henk Verlinde - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/docs/site/README.md b/docs/site/README.md deleted file mode 100644 index 651bbba1..00000000 --- a/docs/site/README.md +++ /dev/null @@ -1,156 +0,0 @@ -

- - Doks - -

- -

- Doks -

- -

- Doks Child Theme -

- -

- Doks is a Hugo theme for building secure, fast, and SEO-ready documentation websites, which you can easily update and customize. -

- -

- - GitHub - - - GitHub release (latest SemVer including pre-releases) - - - GitHub Workflow Status (branch) - - - Netlify - -

- -![Doks — Modern Documentation Theme](https://raw.githubusercontent.com/h-enk/doks/master/images/doks.png) - -## Demo - -- [doks-child-theme.netlify.app](https://doks-child-theme.netlify.app/) - -## Why Doks? - -Nine main reasons why you should use Doks: - -1. __Security aware__. Get A+ scores on [Mozilla Observatory](https://observatory.mozilla.org/analyze/doks.netlify.app) out of the box. Easily change the default Security Headers to suit your needs. - -2. __Fast by default__. Get 100 scores on [Google Lighthouse](https://googlechrome.github.io/lighthouse/viewer/?gist=59aafe464a68f8bc30b8e9a636d5b053) by default. Doks removes unused css, prefetches links, and lazy loads images. - -3. __SEO-ready__. Use sensible defaults for structured data, open graph, and Twitter cards. Or easily change the SEO settings to your liking. - -4. __Development tools__. Code with confidence. Check styles, scripts, and markdown for errors and fix automatically or manually. - -5. __Bootstrap framework__. Build robust, flexible, and intuitive websites with Bootstrap 5. Easily customize your Doks site with the source Sass files. - -6. __Netlify-ready__. Deploy to Netlify with sensible defaults. Easily use Netlify Functions, Netlify Redirects, and Netlify Headers. - -7. __Full text search__. Search your Doks site with FlexSearch. Easily customize index settings and search options to your liking. - -8. __Page layouts__. Build pages with a landing page, blog, or documentation layout. Add custom sections and components to suit your needs. - -9. __Dark mode__. Switch to a low-light UI with the click of a button. Change colors with variables to match your branding. - -### Other features - -- __Multilingual and i18n__ support -- __Versioning__ documentation support -- __KaTeX__ math typesetting -- __Mermaid__ diagrams and visualization -- __highlight.js__ syntax highlighting - -## Requirements - -- [Git](https://git-scm.com/) — latest source release -- [Node.js](https://nodejs.org/) — latest LTS version or newer - -
-Why Node.js? - -Doks uses npm (included with Node.js) to centralize dependency management, making it [easy to update](https://getdoks.org/docs/help/how-to-update/) resources, build tooling, plugins, and build scripts. - -
- -## Get started - -Start a new Doks project in three steps: - -### 1. Create a new site - -Doks is available as a child theme and a starter theme. - -#### Child theme - -- Intended for novice to intermediate users -- Intended for minor customizations -- [Easily update npm packages](https://getdoks.org/docs/help/how-to-update/) — __including__ [Doks](https://www.npmjs.com/package/@hyas/doks) - -```bash -git clone https://github.com/h-enk/doks-child-theme.git my-doks-site && cd my-doks-site -``` - -#### Starter theme - -- Intended for intermediate to advanced users -- Intended for major customizations -- [Easily update npm packages](https://getdoks.org/docs/help/how-to-update/) - -```bash -git clone https://github.com/h-enk/doks.git my-doks-site && cd my-doks-site -``` - -
-Help me choose - -Not sure which one is for you? Pick the child theme. - -
- -### 2. Install dependencies - -```bash -npm install -``` - -### 3. Start development server - -```bash -npm run start -``` - -## Other commands - -Doks comes with [commands](https://getdoks.org/docs/prologue/commands/) for common tasks. - -## Documentation - -- [Netlify](https://docs.netlify.com/) -- [Hugo](https://gohugo.io/documentation/) -- [Doks](https://getdoks.org/) - -## Communities - -- [Netlify Community](https://community.netlify.com/) -- [Hugo Forums](https://discourse.gohugo.io/) -- [Doks Discussions](https://github.com/h-enk/doks/discussions) - -## Sponsors - -Support this project by becoming a sponsor. Your logo will show up here with a link to your website. - -[![OC sponsor 0](https://opencollective.com/doks/tiers/sponsor/0/avatar.svg)](https://opencollective.com/doks/tiers/sponsor/0/website) -[![OC sponsor 1](https://opencollective.com/doks/tiers/sponsor/1/avatar.svg)](https://opencollective.com/doks/tiers/sponsor/1/website) - -## Backers - -Support this project by becoming a backer. Your avatar will show up here. - -[![Backers](https://opencollective.com/doks/tiers/backer.svg?49741992)](https://opencollective.com/doks) diff --git a/docs/site/SECURITY.md b/docs/site/SECURITY.md deleted file mode 100644 index 4ad3369f..00000000 --- a/docs/site/SECURITY.md +++ /dev/null @@ -1,7 +0,0 @@ -# Reporting Security Issues - -The Doks team and community take security issues in Doks seriously. We appreciate your efforts to responsibly disclose your findings, and will make every effort to acknowledge your contributions. - -To report a security issue, email [security@getdoks.org](mailto:security@getdoks.org) and include the word "SECURITY" in the subject line. - -We'll endeavor to respond quickly, and will keep you updated throughout the process. diff --git a/docs/site/assets/images/default-image.png b/docs/site/assets/images/default-image.png deleted file mode 100644 index a34ff9fcaabbd4b1a78b674908f9ac3c51fab13f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4694 zcmeAS@N?(olHy`uVBq!ia0y~yUU}oXkrghb7(7*O7r?V?XzwM4*1b*PbqpAr*{oZ#arF2rxJpe&O%ow*7ZI zDd%1BeV}p%hDq1J)Fu`M5Z%J*0HQdA8$gtR8UrJcQt)A50#Xh$7+8Q*g8?H4kYY$= z5&%($Mm3HG4lo^zrkv5-0V)qhi;mIa5tI%_>yFX-akTLO%m||mq|w$Rs6ZTTAdNPV uK=1%', - 'not ie 11', - 'not op_mini all' - ] - } - } - ] - ] -}; \ No newline at end of file diff --git a/docs/site/config/_default/config.toml b/docs/site/config/_default/config.toml deleted file mode 100644 index 6512f3fd..00000000 --- a/docs/site/config/_default/config.toml +++ /dev/null @@ -1,83 +0,0 @@ -baseurl = "https://waha.devlike.pro/" -canonifyURLs = false -disableAliases = true -disableHugoGeneratorInject = true -enableEmoji = true -enableGitInfo = false -enableRobotsTXT = true -paginate = 7 -rssLimit = 10 - -# Multilingual -defaultContentLanguage = "en" -disableLanguages = ["de", "nl"] -# defaultContentLanguageInSubdir = true - -# add redirects/headers -[outputs] -home = ["HTML", "RSS", "REDIRECTS", "HEADERS"] -section = ["HTML", "RSS", "SITEMAP"] - -# remove .{ext} from text/netlify -[mediaTypes."text/netlify"] -suffixes = [""] -delimiter = "" - -# add output format for netlify _redirects -[outputFormats.REDIRECTS] -mediaType = "text/netlify" -baseName = "_redirects" -isPlainText = true -notAlternative = true - -# add output format for netlify _headers -[outputFormats.HEADERS] -mediaType = "text/netlify" -baseName = "_headers" -isPlainText = true -notAlternative = true - -# add output format for section sitemap.xml -[outputFormats.SITEMAP] -mediaType = "application/xml" -baseName = "sitemap" -isHTML = false -isPlainText = true -noUgly = true -rel = "sitemap" - -[caches] - [caches.getjson] - dir = ":cacheDir/:project" - maxAge = "10s" - -[sitemap] - changefreq = "weekly" - filename = "sitemap.xml" - priority = 0.5 - -[taxonomies] - contributor = "contributors" - category = "categories" - tag = "tags" - -[permalinks] - blog = "/blog/:title/" -# docs = "/docs/1.0/:sections[1:]/:title/" - -[minify.tdewolff.html] - keepWhitespace = false - -[related] - threshold = 80 - includeNewer = true - toLower = false - [[related.indices]] - name = "categories" - weight = 100 - [[related.indices]] - name = "tags" - weight = 80 - [[related.indices]] - name = "date" - weight = 10 diff --git a/docs/site/config/_default/languages.toml b/docs/site/config/_default/languages.toml deleted file mode 100644 index ffb15f94..00000000 --- a/docs/site/config/_default/languages.toml +++ /dev/null @@ -1,28 +0,0 @@ -[en] - languageName = "English" - contentDir = "content/en" - weight = 10 - [en.params] - languageISO = "EN" - languageTag = "en-US" - -[de] - languageName = "German" - contentDir = "content/de" - weight = 15 - [de.params] - languageISO = "DE" - languageTag = "de-DE" - -[nl] - languageName = "Nederlands" - contentDir = "content/nl" - weight = 20 - [nl.params] - languageISO = "NL" - languageTag = "nl-NL" - titleAddition = "Modern documentatie-thema" - description = "Doks is een Hugo-thema waarmee je moderne documentatie-websites kunt bouwen die veilig, snel en klaar voor SEO zijn — standaard." - titleHome = "Doks thema" - footer = "Mogelijk gemaakt door Netlify, Hugo, en Doks" - alertText = "Introductie van het Doks-kinderthema, verschillende DX + UX-updates en meer! Bekijk Doks v0.2" diff --git a/docs/site/config/_default/markup.toml b/docs/site/config/_default/markup.toml deleted file mode 100644 index 2880e305..00000000 --- a/docs/site/config/_default/markup.toml +++ /dev/null @@ -1,29 +0,0 @@ -defaultMarkdownHandler = "goldmark" - -[goldmark] - [goldmark.extensions] - linkify = false - [goldmark.parser] - autoHeadingID = true - autoHeadingIDType = "github" - [goldmark.parser.attribute] - block = true - title = true - [goldmark.renderer] - unsafe = true - -[highlight] - codeFences = false - guessSyntax = false - hl_Lines = "" - lineNoStart = 1 - lineNos = false - lineNumbersInTable = true - noClasses = false - style = "dracula" - tabWidth = 4 - -[tableOfContents] - endLevel = 3 - ordered = false - startLevel = 2 diff --git a/docs/site/config/_default/menus/menus.en.toml b/docs/site/config/_default/menus/menus.en.toml deleted file mode 100644 index 11147843..00000000 --- a/docs/site/config/_default/menus/menus.en.toml +++ /dev/null @@ -1,148 +0,0 @@ -[[docs]] - name = "Overview" - weight = 10 - identifier = "overview" - url = "/docs/overview/" - -[[docs]] - name = "Help" - weight = 60 - identifier = "help" - url = "/docs/help/" - -# [[docs]] -# name = "Lorem" -# weight = 70 -# identifier = "lorem" -# url = "/docs/lorem/" - - -[[main]] - name = "Documentation" - identifier = "docs" - url = "/docs/overview/introduction/" - weight = 20 - -#[[main]] -# name = "Introduction" -# weight = 11 -# url = "/docs/overview/introduction" -# parent = "docs" -# -#[[main]] -# name = "Quick Start" -# weight = 12 -# url = "/docs/overview/introduction" -# parent = "docs" -# -#[[main]] -# name = "Install" -# weight = 13 -# url = "/docs/how-to/install" -# parent = "docs" -# -#[[main]] -# name = "Send messages" -# weight = 14 -# url = "/docs/how-to/send-messages" -# parent = "docs" -# -#[[main]] -# name = "Receive Messages" -# weight = 15 -# url = "/docs/how-to/receive-messages" -# parent = "docs" -# -#[[main]] -# name = "How to guides" -# weight = 20 -# url = "/docs/how-to" -# parent = "docs" -# -#[[main]] -# name = "Swagger ->" -# weight = 98 -# url = "https://waha.devlike.pro/swagger" -# parent = "docs" - -#[[main]] -# name = "OpenAPI JSON ->" -# weight = 99 -# url = "https://waha.devlike.pro/swagger/openapi.json" -# parent = "docs" - -[[main]] - name = "WAHA Plus" - weight = 10 - identifier = "waha-plus" - -[[main]] - name = "WAHA Plus" - weight = 10 - url = "/docs/how-to/plus-version" - parent = "waha-plus" - -[[main]] - name = "Patron Portal ->" - weight = 20 - url = "https://portal.devlike.pro/" - parent = "waha-plus" - -[[main]] - name = "Get on Patreon ->" - weight = 60 - url = "https://patreon.com/wa_http_api" - parent = "waha-plus" - -[[main]] - name = "Get on Boosty ->" - weight = 50 - url = "https://boosty.to/wa-http-api" - parent = "waha-plus" - -[[main]] - name = "Pricing" - weight = 80 - url = "/pricing" - -[[main]] - name = "Contact" - weight = 90 - url = "/contact" - - -[[main]] - name = "Examples" - weight = 30 - identifier = "examples" - url = "/docs/examples" - -#[[main]] -# name = "Python ->" -# weight = 31 -# url = "/docs/examples/python" -# parent = "examples" - -#[[main]] -# name = "Kotlin ->" -# weight = 32 -#url = "/docs/examples/kotlin" -# parent = "examples" - -[[social]] - name = "GitHub" - pre = "" - url = "https://github.com/devlikeapro/whatsapp-http-api" - post = "v0.1.0" - weight = 10 - -#[[social]] -# name = "Twitter" -# pre = "" -# url = "https://twitter.com/getdoks" -# weight = 20 - -# [[footer]] -# name = "Privacy" -# url = "/privacy-policy/" -# weight = 10 diff --git a/docs/site/config/_default/menus/menus.nl.toml b/docs/site/config/_default/menus/menus.nl.toml deleted file mode 100644 index 12665b13..00000000 --- a/docs/site/config/_default/menus/menus.nl.toml +++ /dev/null @@ -1,39 +0,0 @@ -[[docs]] - name = "Overview" - weight = 10 - identifier = "overview" - url = "/docs/overview/" - -[[docs]] - name = "Help" - weight = 60 - identifier = "help" - url = "/docs/help/" - -[[main]] - name = "Docs" - url = "/docs/overview/introduction/" - weight = 10 - -# [[main]] -# name = "Blog" -# url = "/blog/" -# weight = 20 - -[[social]] - name = "GitHub" - pre = "" - url = "https://github.com/h-enk/doks" - post = "v0.1.0" - weight = 10 - -[[social]] - name = "Twitter" - pre = "" - url = "https://twitter.com/getdoks" - weight = 20 - -# [[footer]] -# name = "Privacy" -# url = "/privacy-policy/" -# weight = 10 diff --git a/docs/site/config/_default/module.toml b/docs/site/config/_default/module.toml deleted file mode 100644 index ea4b46dd..00000000 --- a/docs/site/config/_default/module.toml +++ /dev/null @@ -1,68 +0,0 @@ -[hugoVersion] - extended = true - min = "0.80.0" - max = "" - -[[mounts]] - source = "node_modules/@hyas/doks/archetypes" - target = "archetypes" - -[[mounts]] - source = "node_modules/@hyas/doks/assets" - target = "assets" - -# [[mounts]] -# source = "node_modules/@hyas/doks/content" -# target = "content" - -[[mounts]] - source = "node_modules/@hyas/doks/data" - target = "data" - -[[mounts]] - source = "node_modules/@hyas/doks/layouts" - target = "layouts" - -[[mounts]] - source = "node_modules/@hyas/doks/static" - target = "static" - -[[mounts]] - source = "node_modules/flexsearch" - target = "assets/js/vendor/flexsearch" - -[[mounts]] - source = "node_modules/katex" - target = "assets/js/vendor/katex" - -[[mounts]] - source = "node_modules/mermaid" - target = "assets/js/vendor/mermaid" - -[[mounts]] - source = "assets" - target = "assets" - -[[mounts]] - source = "static" - target = "static" - -# [[mounts]] -# source = "content" -# target = "content" - -[[mounts]] - source = "layouts" - target = "layouts" - -[[mounts]] - source = "archetypes" - target = "archetypes" - -[[mounts]] - source = "data" - target = "data" - -[[mounts]] - source = "node_modules/@hyas/images/layouts" - target = "layouts" diff --git a/docs/site/config/_default/params.toml b/docs/site/config/_default/params.toml deleted file mode 100644 index 0c841e8b..00000000 --- a/docs/site/config/_default/params.toml +++ /dev/null @@ -1,113 +0,0 @@ -# Meta Data for SEO - -## Homepage -title = "WAHA" -titleSeparator = "-" -titleAddition = "WhatsApp HTTP API" -description = "WAHA - WhatsApp HTTP API that you can run in a click!" - -## Documentation -# docsVersion = "0.3" - -## Open Graph -images = ["/images/logo.png"] -ogLocale = "en_US" -domainTLD = "waha.devlike.pro" -titleHome = "WAHA" - -## Twitter Cards -#twitterSite = "@getdoks" -#twitterCreator = "@henkverlinde" - -## JSON-LD -# schemaType = "Person" -#schemaType = "Organization" -#schemaName = "Doks" -#schemaAuthor = "Henk Verlinde" -#schemaAuthorTwitter = "https://twitter.com/henkverlinde" -#schemaAuthorLinkedIn = "https://www.linkedin.com/in/henkverlinde/" -#schemaAuthorGitHub = "https://github.com/h-enk" -#schemaLocale = "en-US" -#schemaLogo = "logo-doks.png" -#schemaLogoWidth = 512 -#schemaLogoHeight = 512 -#schemaImage = "doks.png" -#schemaImageWidth = 1280 -#schemaImageHeight = 640 -#schemaTwitter = "https://twitter.com/getdoks" -#schemaLinkedIn = "" -#schemaGitHub = "https://github.com/h-enk/doks" -#schemaSection = "blog" - -## Sitelinks Search Box -siteLinksSearchBox = false - -## Chrome Browser -themeColor = "#fff" - -# Images - Temporarily left in place for backward compatibility -quality = 85 -bgColor = "#fff" -landscapePhotoWidths = [900, 800, 700, 600, 500] -portraitPhotoWidths = [800, 700, 600, 500] -lqipWidth = "20x" -smallLimit = "300" - -# Images -imageResponsive = true -imageConvertTo = "webp" -imageImageSizes = ["480","720","1080","1280","1600","2048"] -singleSize = false -imageAddClass = "img-fluid lazyload blur-up" - -### Image template -defaultImage = "default-image.png" # put in `./assets/images/` -fillImage = "1270x740 Center" # normalize image size - -# Footer -footer = 'This project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with WhatsApp or any of its subsidiaries or its affiliates.
The official WhatsApp website can be found at https://whatsapp.com/.
"WhatsApp" as well as related names, marks, emblems and images are registered trademarks of their respective owners.' - -# Feed -copyRight = "Copyright (c) 2021-2024 Dev Like A Pro" - -# Alert -alert = true -alertDismissable = true -alertText = "đŸ“ĸ WAHA Dashboard - UI to manage your WhatsApp sessions! đŸ“ĸ" - -# Edit Page -# repoHost [Github | Gitea | GitLab | Bitbucket | BitbucketServer ] is used for building the edit link based on git hoster -repoHost = "GitHub" -#repoHost = "Gitea" -docsRepo = "https://github.com/devlikeapro/whatsapp-http-api" -docsRepoBranch = "core" -docsRepoSubPath = "docs/site" -editPage = true -lastMod = false - -[sections] - sectionNav = ["docs", "guides"] - -[options] - lazySizes = true - clipBoard = true - instantPage = true - flexSearch = true - searchSectionsShow = [] - searchSectionsIndex = [] - darkMode = false - bootStrapJs = true - breadCrumb = false - highLight = true - kaTex = false - multilingualMode = false - docsVersioning = false - fullWidth = false - navbarSticky = true - toTopButton = false - scrollSpy = false # experimental; needs Bootstrap >= 5.2.0-beta1 - -[menu] - [menu.section] - auto = true - collapsibleSidebar = false diff --git a/docs/site/config/next/config.toml b/docs/site/config/next/config.toml deleted file mode 100644 index 9c5e90da..00000000 --- a/docs/site/config/next/config.toml +++ /dev/null @@ -1 +0,0 @@ -canonifyURLs = false diff --git a/docs/site/config/postcss.config.js b/docs/site/config/postcss.config.js deleted file mode 100644 index e8c3b39d..00000000 --- a/docs/site/config/postcss.config.js +++ /dev/null @@ -1,40 +0,0 @@ -const autoprefixer = require('autoprefixer'); -const purgecss = require('@fullhuman/postcss-purgecss'); -const whitelister = require('purgecss-whitelister'); - -module.exports = { - plugins: [ - autoprefixer(), - purgecss({ - content: [ - './node_modules/@hyas/doks/layouts/**/*.html', - './node_modules/@hyas/doks/content/**/*.md', - './layouts/**/*.html', - './content/**/*.md', - ], - safelist: [ - 'lazyloaded', - 'table', - 'thead', - 'tbody', - 'tr', - 'th', - 'td', - 'h5', - 'alert-link', - 'container-xxl', - 'container-fluid', - ...whitelister([ - './node_modules/@hyas/doks/assets/scss/common/_variables.scss', - './node_modules/@hyas/doks/assets/scss/components/_alerts.scss', - './node_modules/@hyas/doks/assets/scss/components/_buttons.scss', - './node_modules/@hyas/doks/assets/scss/components/_code.scss', - './node_modules/@hyas/doks/assets/scss/components/_syntax.scss', - './node_modules/@hyas/doks/assets/scss/components/_search.scss', - './node_modules/@hyas/doks/assets/scss/common/_dark.scss', - './node_modules/katex/dist/katex.css', - ]), - ], - }), - ], -} diff --git a/docs/site/config/production/config.toml b/docs/site/config/production/config.toml deleted file mode 100644 index 9c5e90da..00000000 --- a/docs/site/config/production/config.toml +++ /dev/null @@ -1 +0,0 @@ -canonifyURLs = false diff --git a/docs/site/content/en/_index.md b/docs/site/content/en/_index.md deleted file mode 100644 index a6350742..00000000 --- a/docs/site/content/en/_index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title : "WAHA" -description: "WAHA - WhatsApp HTTP API that you can run in a click!" -lead: "WAHA - WhatsApp HTTP API that you can run in a click!" -date: 2020-10-06T08:47:36+00:00 -lastmod: 2020-10-06T08:47:36+00:00 -draft: false -images: [] ---- diff --git a/docs/site/content/en/blog/_index.md b/docs/site/content/en/blog/_index.md deleted file mode 100644 index 37cb611d..00000000 --- a/docs/site/content/en/blog/_index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: "Blog" -description: "The Doks Blog." -date: 2020-10-06T08:49:55+00:00 -lastmod: 2020-10-06T08:49:55+00:00 -draft: false -images: [] ---- diff --git a/docs/site/content/en/blog/say-hello-to-doks/index.md b/docs/site/content/en/blog/say-hello-to-doks/index.md deleted file mode 100644 index d14d357a..00000000 --- a/docs/site/content/en/blog/say-hello-to-doks/index.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "Say hello to Doks 👋" -description: "Introducing Doks, a Hugo theme helping you build modern documentation websites that are secure, fast, and SEO-ready — by default." -excerpt: "Introducing Doks, a Hugo theme helping you build modern documentation websites that are secure, fast, and SEO-ready — by default." -date: 2020-11-04T09:19:42+01:00 -lastmod: 2020-11-04T09:19:42+01:00 -draft: false -weight: 50 -images: [] -categories: ["News"] -tags: ["security", "performance", "SEO"] -contributors: ["Henk Verlinde"] -pinned: false -homepage: false ---- - -Introducing Doks, a Hugo theme helping you build modern documentation websites that are secure, fast, and SEO-ready — by default. diff --git a/docs/site/content/en/contact/index.md b/docs/site/content/en/contact/index.md deleted file mode 100644 index 871a79b4..00000000 --- a/docs/site/content/en/contact/index.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: "Contact" -description: "Drop us an email." -date: 2020-08-27T19:25:12+02:00 -lastmod: 2020-08-27T19:25:12+02:00 -draft: false -images: [] ---- -GitHub: -- Any question you can leave on [GitHub Discussions](https://github.com/devlikeapro/whatsapp-http-api/discussions) -- For bugs and feature requests use [GitHub Issues](https://github.com/devlikeapro/whatsapp-http-api/issues) - -Feel free to contact us if you have any questions or feedback! -- [waha@devlike.pro](mailto:waha@devlike.pro) diff --git a/docs/site/content/en/contributors/_index.md b/docs/site/content/en/contributors/_index.md deleted file mode 100644 index e225f344..00000000 --- a/docs/site/content/en/contributors/_index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Contributors" -description: "The Doks contributors." -date: 2020-10-06T08:50:29+00:00 -lastmod: 2020-10-06T08:50:29+00:00 -draft: false -images: [] ---- - -The Doks contributors. diff --git a/docs/site/content/en/contributors/henk-verlinde/_index.md b/docs/site/content/en/contributors/henk-verlinde/_index.md deleted file mode 100644 index f775534e..00000000 --- a/docs/site/content/en/contributors/henk-verlinde/_index.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: "Henk Verlinde" -description: "Creator of Hyas." -date: 2020-10-06T08:50:45+00:00 -lastmod: 2020-10-06T08:50:45+00:00 -draft: false -images: [] ---- - -Creator of Hyas. - -[@HenkVerlinde](https://twitter.com/henkverlinde) diff --git a/docs/site/content/en/docs/_index.md b/docs/site/content/en/docs/_index.md deleted file mode 100644 index f807c652..00000000 --- a/docs/site/content/en/docs/_index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title : "Docs" -description: "Docs Doks." -lead: "" -date: 2020-10-06T08:48:23+00:00 -lastmod: 2020-10-06T08:48:23+00:00 -draft: false -images: [] ---- diff --git a/docs/site/content/en/docs/examples/_index.md b/docs/site/content/en/docs/examples/_index.md deleted file mode 100644 index dae58856..00000000 --- a/docs/site/content/en/docs/examples/_index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "🧩 Examples" -description: "Examples for different languages." -lead: "Examples for different languages." -date: 2020-10-06T08:49:15+00:00 -lastmod: 2020-10-06T08:49:15+00:00 -draft: false -images: [] -weight: 900 ---- diff --git a/docs/site/content/en/docs/examples/kotlin/index.md b/docs/site/content/en/docs/examples/kotlin/index.md deleted file mode 100644 index 00ebae16..00000000 --- a/docs/site/content/en/docs/examples/kotlin/index.md +++ /dev/null @@ -1,115 +0,0 @@ ---- -title: "Kotlin" -description: "WhatsApp HTTP API + Kotlin examples." -lead: "WhatsApp HTTP API + Kotlin examples." -date: 2020-10-06T08:49:31+00:00 -lastmod: 2020-10-06T08:49:31+00:00 -draft: false -images: ["/images/kotlin-whatsapp.png"] -menu: -docs: -parent: "help" -weight: 902 -toc: true ---- - -![](/images/kotlin-whatsapp.png) - -We've created a few examples on how to interact with WAHA WhatsApp HTTP API with Kotlin (ktor). - -You can find the examples in -[examples folder on GitHub with detailed instructions in README.md ->](https://github.com/devlikeapro/waha-kotlin) - -## Installation - -We assume that you have installed software: - -1. Kotlin + JVM -2. Docker - -### Download and start image - -First of all, you must run WhatsApp HTTP API locally (which under the hood it -runs real WhatsApp Web instance and expose HTTP API for interaction). - -Here are the steps from -[Quick Start](https://waha.devlike.pro/docs/overview/quick-start/): - -Download and start WhatsApp HTTP API docker container - -```bash -# Download the image -docker pull devlikeapro/whatsapp-http-api -# Run the docker container -docker run -it --rm --network=host -e WHATSAPP_HOOK_URL=http://localhost:5000/bot -e "WHATSAPP_HOOK_EVENTS=*" --name whatsapp-http-api devlikeapro/whatsapp-http-api - -# It prints logs and the last line must be -# WhatsApp HTTP API is running on: http://[::1]:3000 -``` - -#### Download image - ARM - -If you're using ARM (like Apple Silicon, Apple M1, etc.) - use following -commands to download the image - -![](/images/versions/core.png) For Core version the command is - -```bash -# Download the image -docker pull devlikeapro/whatsapp-http-api:arm -# Rename it, so you can use devlikeapro/whatsapp-http-api image in other place -docker tag devlikeapro/whatsapp-http-api:arm devlikeapro/whatsapp-http-api -# Run the docker container -docker run -it --rm --network=host -e WHATSAPP_HOOK_URL=http://localhost:5000/bot -e "WHATSAPP_HOOK_EVENTS=*" --name whatsapp-http-api devlikeapro/whatsapp-http-api - -# It prints logs and the last line must be -# WhatsApp HTTP API is running on: http://[::1]:3000 -``` - -### Start session and scan QR - -2. Open Swagger API in the browser http://localhost:3000/ -3. Start session and scan QR code in swagger - 1. Find `POST /api/session/start` request press **Try it out** and - **Execute** it with `default` session name - 2. Find `GET /api/screenshot` and execute it - it must show QR code - 3. Scan QR code on your mobile WhatsApp application (that installed on your - phone) - 4. Execute `GET /api/screenshot` once again - it must show the screenshot - from WhatsApp Web. -4. Send test text message - find `POST /api/sendText` and execute it with - payload (change `12132132130` in the `chatId` to phone number that is - registered in WhatsApp). - -```json -{ - "chatId": "12132132130@c.us", - "text": "Hi there!", - "session": "default" -} -``` - -If you see **Hi there!** message then you're ready to run bots! - -## WhatsApp Echo Bot - -The WhatsApp Echo Bot is a sample ktor webhook server application that echoes -back to you whatever you send it. It can serve as a basic reference for how to -set up webhooks and reply to incoming messages. - -```bash -# Clone the git repository with example -git clone https://github.com/devlikeapro/waha-kotlin.git - -# Build and run the app -./gradlew build -./gradlew run -``` - -Open http://127.0.0.1:5000/bot - if you see **WhatsApp Echo Bot is ready!** then -the bot is ready to receive message! - -Send message to the WhatsApp (that you used to scan QR code) and it'll echo text -back to you! - - diff --git a/docs/site/content/en/docs/examples/live-helper-chat/index.md b/docs/site/content/en/docs/examples/live-helper-chat/index.md deleted file mode 100644 index 06eb5c48..00000000 --- a/docs/site/content/en/docs/examples/live-helper-chat/index.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: "Live Helper Chat" -description: "WhatsApp HTTP API + Live Helper Chat integration." -lead: "WhatsApp HTTP API + Live Helper Chat integration." -date: 2020-10-06T08:49:31+00:00 -lastmod: 2020-10-06T08:49:31+00:00 -draft: false -menu: -docs: -parent: "help" -weight: 909 -toc: true ---- - - -
- - ![Logo](logo.png) - -
- -Open source -Live Helper Chat -> -system with mobile app, Bot, AI, Voice & Video & ScreenShare. - -
- -![Screenshot](screenshot.png) - -
- - -👉 Please checkout - -WhatsApp WAHA integration on Live Helper Chat -> - -documentation for more details how to integrate WhatsApp with Live Helper Chat. diff --git a/docs/site/content/en/docs/examples/live-helper-chat/logo.png b/docs/site/content/en/docs/examples/live-helper-chat/logo.png deleted file mode 100644 index f21e0048391412fc47a9affcba28f2b25fe977a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3767 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 diff --git a/docs/site/content/en/docs/examples/live-helper-chat/screenshot.png b/docs/site/content/en/docs/examples/live-helper-chat/screenshot.png deleted file mode 100644 index a6dd4ad3ab762e1fe0490c9d758ec10cdb6d5f7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26503 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 diff --git a/docs/site/content/en/docs/examples/python/index.md b/docs/site/content/en/docs/examples/python/index.md deleted file mode 100644 index b5ffa6f1..00000000 --- a/docs/site/content/en/docs/examples/python/index.md +++ /dev/null @@ -1,148 +0,0 @@ ---- -title: "Python" -description: "WhatsApp HTTP API + Python examples." -lead: "WhatsApp HTTP API + Python examples." -date: 2020-10-06T08:49:31+00:00 -lastmod: 2020-10-06T08:49:31+00:00 -draft: false -images: ["/images/python-whatsapp.png"] -menu: -docs: -parent: "help" -weight: 901 -toc: true ---- - -![](/images/python-whatsapp.png) - -We've created a few examples on how to interact with WAHA WhatsApp HTTP API with Python. - -You can find the examples in [examples folder on GitHub with detailed instructions in README.md ->](https://github.com/devlikeapro/whatsapp-http-api/tree/core/examples/python) - -## Installation - -We assume that you have installed software: - -1. Python 3 -2. Docker - -### Download and start image - -First of all, you must run WhatsApp HTTP API locally (which under the hood it -runs real WhatsApp Web instance and expose HTTP API for interaction). - -Here are the steps from -[Quick Start](https://waha.devlike.pro/docs/overview/quick-start/): - -Download and start WhatsApp HTTP API docker container - -```bash -# Download the image -docker pull devlikeapro/whatsapp-http-api -# Run the docker container -docker run -it --rm --network=host -e WHATSAPP_HOOK_URL=http://localhost:5000/bot -e "WHATSAPP_HOOK_EVENTS=*" --name whatsapp-http-api devlikeapro/whatsapp-http-api - -# It prints logs and the last line must be -# WhatsApp HTTP API is running on: http://[::1]:3000 -``` - -#### Download image - ARM - -If you're using ARM (like Apple Silicon, Apple M1, etc.) - use following -commands to download the image - -![](/images/versions/core.png) For Core version the command is - -```bash -# Download the image -docker pull devlikeapro/whatsapp-http-api:arm -# Rename it, so you can use devlikeapro/whatsapp-http-api image in other place -docker tag devlikeapro/whatsapp-http-api:arm devlikeapro/whatsapp-http-api -# Run the docker container -docker run -it --rm --network=host -e WHATSAPP_HOOK_URL=http://localhost:5000/bot -e "WHATSAPP_HOOK_EVENTS=*" --name whatsapp-http-api devlikeapro/whatsapp-http-api - -# It prints logs and the last line must be -# WhatsApp HTTP API is running on: http://[::1]:3000 -``` - -### Start session and scan QR - -2. Open Swagger API in the browser http://localhost:3000/ -3. Start session and scan QR code in swagger - 1. Find `POST /api/session/start` request press **Try it out** and - **Execute** it with `default` session name - 2. Find `GET /api/screenshot` and execute it - it must show QR code - 3. Scan QR code on your mobile WhatsApp application (that installed on your - phone) - 4. Execute `GET /api/screenshot` once again - it must show the screenshot - from WhatsApp Web. -4. Send test text message - find `POST /api/sendText` and execute it with - payload (change `12132132130` in the `chatId` to phone number that is - registered in WhatsApp). - -```json -{ - "chatId": "12132132130@c.us", - "text": "Hi there!", - "session": "default" -} -``` - -If you see **Hi there!** message then you're ready to run bots! - -## WhatsApp Echo Bot - -The WhatsApp Echo Bot is a sample flask webhook server application that echoes -back to you whatever you send it. It can serve as a basic reference for how to -set up webhooks and reply to incoming messages. - -```bash -# Clone the git repository with example -git clone https://github.com/devlikeapro/whatsapp-http-api.git -# Open python example folder -cd whatsapp-http-api/examples/python -# Install requirements -python -mpip install -r requirements.txt -# Run the bot -FLASK_APP=whatsapp_echo_bot.py flask run -``` - -Open http://127.0.0.1:5000/bot - if you see **WhatsApp Echo Bot is ready!** then -the bot is ready to receive message! - -Send message to the WhatsApp (that you used to scan QR code) and it'll echo text -back to you! - -## WhatsApp Download Files Bot - -The WhatsApp Download Image Bot downloads all files people send to your WhatsApp -and log the path for the file. - -**The bot works only with WAHA Plus version** available with donations. Visit -[read more about difference between Core and Plus versions](https://waha.devlike.pro/docs/how-to/plus-version/). - -Download **WAHA Plus** version: - -```bash -# Download the image -docker pull devlikeapro/whatsapp-http-api-plus -# Run the docker container -docker run -it --rm --network=host -e WHATSAPP_HOOK_URL=http://localhost:5000/bot -e "WHATSAPP_HOOK_EVENTS=*" --name whatsapp-http-api devlikeapro/whatsapp-http-api-plus -``` - -Run the WhatsApp Download Files bot: - -```bash -# Clone the git repository with example -git clone https://github.com/devlikeapro/whatsapp-http-api.git -# Open python example folder -cd whatsapp-http-api/examples/python -# Install requirements -python -mpip install -r requirements.txt -# Run the bot -FLASK_APP=whatsapp_download_files_bot.py flask run -``` - -Open http://127.0.0.1:5000/bot - if you see **WhatsApp Download Files Bot!** -then the bot is ready to receive message with files! - diff --git a/docs/site/content/en/docs/how-to/_index.md b/docs/site/content/en/docs/how-to/_index.md deleted file mode 100644 index 6d3982f3..00000000 --- a/docs/site/content/en/docs/how-to/_index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "How-to guides" -description: "How-to guides" -lead: "" -date: 2020-10-06T08:49:15+00:00 -lastmod: 2020-10-06T08:49:15+00:00 -draft: false -images: [] -weight: 200 ---- diff --git a/docs/site/content/en/docs/how-to/chats/index.md b/docs/site/content/en/docs/how-to/chats/index.md deleted file mode 100644 index 8c1910d5..00000000 --- a/docs/site/content/en/docs/how-to/chats/index.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title : "đŸ’Ŧ Chats" -description: "Chats" -lead: "" -date: 2020-10-06T08:48:45+00:00 -lastmod: 2020-10-06T08:48:45+00:00 -draft: false -images: [] -weight: 227 ---- - -Chats methods. - -Parameters in path that you can find in below endpoints: -- `{session}` - use the session name for Whatsapp instance that you created with `POST /api/session/start` endpoint -- `{chatId}` - chat id in format `123123123123@[c.us|g.us]`, `c.us` for direct chats and `g.us` for groups. - -## Endpoints -See the list of engines [**that support the feature ->**]({{< relref "/docs/how-to/engines#features" >}}). - -### Get all chats -Get all chats -`GET /api/{session}/chats` - -### Get messages from chat -Get 100 messages from the chat - -`GET /api/{session}/chats/{chatId}/messages?limit=100` - - -Get 100 messages from the chat, skip downloading media (images, files) - -`GET /api/{session}/chats/{chatId}/messages?limit=100&downloadMedia=false` - -### Delete chat -Use the method to delete chat - -`DELETE /api/{session}/chats/{chatId}` - -### Clear messages -Use the method to clear all messages from the chat - -`DELETE /api/{session}/chats/{chatId}/messages` diff --git a/docs/site/content/en/docs/how-to/config/index.md b/docs/site/content/en/docs/how-to/config/index.md deleted file mode 100644 index 48d11448..00000000 --- a/docs/site/content/en/docs/how-to/config/index.md +++ /dev/null @@ -1,207 +0,0 @@ ---- -title: "âš™ī¸ Configuration" -description: "Configuration" -lead: "" -date: 2020-10-06T08:48:45+00:00 -lastmod: 2020-10-06T08:48:45+00:00 -draft: false -images: [ ] -weight: 292 ---- - -You can configure WhatsApp HTTP API behaviour via environment variables, by adding `-e WHATSAPP_VARNAME=value` at the -begging of the command line or by using [other options](https://docs.docker.com/engine/reference/commandline/run/) - -```bash -docker run -it -e "WHATSAPP_HOOK_EVENTS=*" -e WHATSAPP_HOOK_URL=https://httpbin.org/post devlikeapro/whatsapp-http-api -``` - -It's not necessary to always run such a long command - you can save all data in -[docker-compose.yaml](https://github.com/devlikeapro/whatsapp-http-api/blob/core/docker-compose.yaml) -file as described on [How to deploy page ->]({{< relref "/docs/how-to/deploy" >}}). - -## Environment variables - -The following environment variables can be used to configure the WAHA. - -### Common -- `DEBUG=1`: Set this variable to any value to enable debug and verbose logs. - - You can also do it for a **specific session** by setting `config.debug` field to `true` when starting a session. -- `WHATSAPP_API_PORT=3000`: The port number that the HTTP server will listen on. The default value is `3000`. -- `WHATSAPP_API_HOSTNAME=localhost`: The hostname for the HTTP server. The default value is `localhost`. - -### Sessions -- `WHATSAPP_RESTART_ALL_SESSIONS=True`: Set this variable to `True` to start all **STOPPED** sessions after container - restarts. By default, this variable is set to `False`. - - Please note that this will start all **STOPPED** sessions, not just the sessions that were working before the restart. You can maintain the session list by - using `POST /api/session/stop` with the `logout: True` parameter or by calling `POST /api/session/logout` to remove - **STOPPED** sessions. You can see all sessions, including **STOPPED** sessions, in the `GET /api/sessions/all=True` - response. -- `WHATSAPP_START_SESSION=session1,session2`: This variable can be used to start sessions with the specified names right - after launching the API. Separate session names with a comma. -- Also read more about [Sessions ->]({{< relref "/docs/how-to/sessions" >}}) -- Also read more about [Session Storages on the dedicated page ->]({{< relref "/docs/how-to/storages#sessions" >}}) - -### Swagger -- `WHATSAPP_SWAGGER_CONFIG_ADVANCED=true` - enables advanced configuration options for Swagger documentation - you can customize host, port and base URL for the requests. - Disabled by default. -- `WHATSAPP_SWAGGER_ENABLED=false` - disables Swagger documentation. Enabled by default. Available in **WAHA Plus** only. -- `WHATSAPP_SWAGGER_USERNAME=admin` and `WHATSAPP_SWAGGER_PASSWORD=admin` - these variables can be used to protect the Swagger panel - with `admin / admin` credentials. This does not affect API access. Available in **WAHA Plus** only. - -Read more about Swagger configuration on [**Swagger page** ->]({{< relref "/docs/how-to/swagger" >}}). - -### Proxy -#### Global proxy configuration -If you need to use a proxy, you can set the following environment variables: - -- `WHATSAPP_PROXY_SERVER=localhost:3128`: Use this variable to set the proxy server in the format `host:port`, without http or https. -- `WHATSAPP_PROXY_SERVER_USERNAME=username` and `WHATSAPP_PROXY_SERVER_PASSWORD=password`: Use these variables to set up credentials for the proxy. -- `WHATSAPP_PROXY_SERVER_LIST=host1.example.com:3138,host2.example.com:3138`: Use this variable to set a comma-separated list of addresses to use, using a round-robin algorithm to choose the server for the session. -- `WHATSAPP_PROXY_SERVER_INDEX_PREFIX=proxy-`: Use this variable to parse the session name for the prefix and find the appropriate session. - For example, if you have set `WHATSAPP_PROXY_SERVER_LIST=host-first:80,host-second:80,host-third:80` and `WHATSAPP_PROXY_SERVER_INDEX_PREFIX=proxy-` and you run `proxy-3` session, the `host-third:80` proxy will be chosen for that session. - This is a way to select a proxy from while you start session. - -#### Session proxy configuration -You can configure proxy when you start session by setting `config.proxy` fields. -Read more about it on [**Session page** ->]({{< relref "/docs/how-to/sessions#configure-proxy" >}}). - -Keep in mind that session's proxy configuration takes precedence over proxy configuration set by environment variables! - - -### Security -Security is available in [WAHA Plus ![](/images/versions/plus.png)]({{< relref "/docs/how-to/plus-version" >}}) only. - -- `WHATSAPP_API_KEY=mysecret`: If you set this variable, you must include the `X-Api-Key: mysecret` header in all - requests to the API. This will protect the API with a secret code. -- `WHATSAPP_SWAGGER_USERNAME=admin` and `WHATSAPP_SWAGGER_PASSWORD=admin`: These variables can be used to protect the - Swagger panel with `admin / admin` credentials. This does not affect API access. - -Read more about security settings for Swagger and API on [**Security page** ->]({{< relref "/docs/how-to/security" >}}). - -### Files -Files configuration is available in [WAHA Plus ![](/images/versions/plus.png)]({{< relref "/docs/how-to/plus-version" >}}) only. - -The following environment variables can be used to configure the file storage options for the WAHA: - -- `WHATSAPP_FILES_MIMETYPES`: This variable can be used to download only specific mimetypes from messages. - By default, all files are downloaded. The mimetypes must be separated by a comma, without spaces. - For example: `audio,image/png,image/gif`. To choose a specific type, use a prefix (like `audio,image`). See usage below. -- `WHATSAPP_DOWNLOAD_MEDIA=true` - this variable can be used to **completely** disable downloading media files. By default, all files are downloaded. - Set this variable to `WHATSAPP_DOWNLOAD_MEDIA=false` to disable downloading media files. - - Under the hood, it sets `WHATSAPP_FILES_MIMETYPES=mimetype/ignore-all-media` to ignore all media files. -- `WHATSAPP_FILES_LIFETIME`: This variable can be used to set the time (in seconds) after which files will be removed to - free up space. The default value is `180`. - - Set this variable to `0` to disable the file lifetime. -- `WHATSAPP_FILES_FOLDER`: This variable can be used to set the folder where files from chats (images, voice messages) - will be stored. The default value is `/tmp/whatsapp-files`. - - The folder must be mounted to the host machine to keep the files between container restarts. [ Read more about how to persist files ->]({{< relref "/docs/how-to/storages#media" >}}) -- Also read more about [Media Storages on the dedicated page ->]({{< relref "/docs/how-to/storages#media" >}}) - -💡 Even if WAHA doesn't process the message media because of `WHATSAPP_FILES_MIMETYPES` or `WHATSAPP_DOWNLOAD_MEDIA` -you'll get a webhook event with `hasMedia: True` field, but with no `media.url`. -```json -{ - "event": "message", - "session": "default", - "payload": { - "hasMedia": true, - "media": { - "url": null, - "mimetype": "video/mp4", - "filename": null - } - } -} -``` - -### Health Check -Health check is available in [WAHA Plus ![](/images/versions/plus.png)]({{< relref "/docs/how-to/plus-version" >}}) only. - -The following environment variables can be used to configure the [Health Check ->]({{< relref "/docs/how-to/other" >}}): -- `WHATSAPP_HEALTH_MEDIA_FILES_THRESHOLD_MB` - the threshold in MB for the media files storage. The default value is `100`. -- `WHATSAPP_HEALTH_SESSIONS_FILES_THRESHOLD_MB` - the threshold in MB for the sessions files storage. The default value is `100`. -- `WHATSAPP_HEALTH_MONGODB_TIMEOUT` - the timeout in milliseconds for the MongoDB health check. The default value is `5000`. - -## Examples - -#### Debug Mode - -To enable debug mode, set the `DEBUG` environment variable to any value: - -``` -DEBUG=1 -``` - -#### Protecting the API with a Secret Code - -To protect the API with a secret code, set the `WHATSAPP_API_KEY` environment variable to your secret code: - -``` -WHATSAPP_API_KEY=mysecret -``` - -You must include the `X-Api-Key: mysecret` header in all requests to the API. - -#### Starting Sessions Automatically - -To start sessions automatically when the API is launched, set the `WHATSAPP_START_SESSION` environment variable to a -comma-separated list of session names: - -``` -WHATSAPP_START_SESSION=session1,session2 -``` - -#### Restarting All Sessions - -To start all **STOPPED** sessions after container restarts, set the `WHATSAPP_RESTART_ALL_SESSIONS` environment variable -to `True`: - -``` -WHATSAPP_RESTART_ALL_SESSIONS=True -``` - -#### Protecting the Swagger Panel - -To protect the Swagger panel with `admin / admin` credentials, set the `WHATSAPP_SWAGGER_USERNAME` -and `WHATSAPP_SWAGGER_PASSWORD` environment variables: - -``` -WHATSAPP_SWAGGER_USERNAME=admin -WHATSAPP_SWAGGER_PASSWORD=admin -``` - - -#### Downloading Specific Mimetypes - -To download only specific mimetypes from messages, set the `WHATSAPP_FILES_MIMETYPES` environment variable to a -comma-separated list of mimetypes: - -``` -WHATSAPP_FILES_MIMETYPES=audio,image/png,image/gif -``` - -#### Disable Downloading Media Files -To disable downloading media files, set the `WHATSAPP_DOWNLOAD_MEDIA` environment variable to `false`: - -``` -WHATSAPP_DOWNLOAD_MEDIA=false -``` - -#### Setting the File Lifetime - -To set the time (in seconds) after which files will be removed to free up space, set the `WHATSAPP_FILES_LIFETIME` -environment variable: - -``` -WHATSAPP_FILES_LIFETIME=300 -``` - -#### Setting the File Storage Folder - -To set the folder where files from chats (images, voice messages) will be stored, set the `WHATSAPP_FILES_FOLDER` -environment variable: - -``` -WHATSAPP_FILES_FOLDER=/home/user/whatsapp-files -``` diff --git a/docs/site/content/en/docs/how-to/contacts/index.md b/docs/site/content/en/docs/how-to/contacts/index.md deleted file mode 100644 index d086971d..00000000 --- a/docs/site/content/en/docs/how-to/contacts/index.md +++ /dev/null @@ -1,117 +0,0 @@ ---- -title : "👤 Contacts" -description: "Contacts" -lead: "" -date: 2020-10-06T08:48:45+00:00 -lastmod: 2020-10-06T08:48:45+00:00 -draft: false -images: [] -weight: 230 ---- - -Methods for contacts. - -{{< alert icon="👉" text="WhatsApp Web does not support adding contacts, so the API doesn't support it too." />}} - -## Endpoints -See the list of engines [**that support the feature ->**]({{< relref "/docs/how-to/engines#features" >}}). - -### Get all contacts - -Get your contacts - `GET /api/contacts/all` - -```json -[ - { - "id": "11231231231@c.us", - "number": "11231231231", - "name": "Contact Name", - "pushname": "Pushname", - "shortName": "Shortname", - "isMe": true, - "isGroup": false, - "isWAContact": true, - "isMyContact": true, - "isBlocked": false - } -] -``` - -### Get contact - -Get contact - -- `GET /api/contacts?contactId=11231231231&session=default` -- `GET /api/contacts?contactId=11231231231@c.us&session=default` - -```json -{ - "id": "11231231231@c.us", - "number": "11231231231", - "name": "Contact Name", - "pushname": "Pushname", - "shortName": "Shortname", - "isMe": true, - "isGroup": false, - "isWAContact": true, - "isMyContact": true, - "isBlocked": false -} -``` - -### Check phone number exists - -If you want to check if phone number is registered in WhatsApp (even if the number is not in your contact list) - use -this endpoint for that. -```bash -GET /api/contacts/check-exists?phone=11231231231&session=default -``` -It returns `numberExists` field with `true` or `false` value and `chatId` field with chat ID of the number (if exists). - -```json -{ - "numberExists": true, - "chatId": "123123123@c.us" -} -``` -**Note for Brazilian Phone Numbers** - -You should use the `GET /api/contacts/check-exists` endpoint **before sending a message to a new phone number** -to get the correct chatId because of the additional 9-digit number added after 2012. - -Read more about -[error sending text to half of Brazilian numbers (every number registered before 2012) ->](https://github.com/devlikeapro/whatsapp-http-api/issues/238) - -It's fine to send the response to `chatId` for incoming messages, though - the payload already has the correct `chatId`. - -### Get "about" contact - -- `GET /api/contacts/about?contactId=11231231231&session=default` - -```json -{ - "about": "Hi, I use WhatsApp!" -} -``` - -### Get contact profile picture - -- `GET /api/contacts/profile-picture?contactId=11231231231&session=default` - -```json -{ - "profilePictureURL": "https://example.com/profile.jpg" -} -``` - -### Block (unblock) contact -- To block contact - `POST /api/contacts/block` -- To unblock contact - `POST /api/contacts/unblock` - -Request: -```json -{ - "contactId": "11231231231", - "session": "default" -} -``` diff --git a/docs/site/content/en/docs/how-to/deploy/index.md b/docs/site/content/en/docs/how-to/deploy/index.md deleted file mode 100644 index cba8f121..00000000 --- a/docs/site/content/en/docs/how-to/deploy/index.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: "🚀 Deploy" -description: "How to deploy WAHA" -lead: "" -date: 2020-10-06T08:48:45+00:00 -lastmod: 2020-10-06T08:48:45+00:00 -draft: false -images: [ ] -weight: 298 ---- - -This page provides useful information to assist you in deploying the project. -It includes tips on how to avoid running long command lines, how to view logs, and other helpful advice. - -## How to Use Docker Compose - -Docker Compose is a tool that allows you to define and run multi-container Docker applications. It simplifies the -process of managing multiple containers and their dependencies. In this topic, we will walk you through how to use -Docker Compose with the WhatsApp HTTP API. - -### Prerequisites - -Before you start, you need to have Docker and Docker Compose installed on your machine. You can download Docker from the -official website [here](https://www.docker.com/products/docker-desktop). Docker Compose is included with Docker Desktop -for Windows and macOS, but for Linux, you need to install it separately. You can find the installation -instructions [here](https://docs.docker.com/compose/install/). - -### Getting Started - -To get started, you need to clone the [docker-compose.yaml](https://github.com/devlikeapro/whatsapp-http-api/blob/core/docker-compose.yaml) file to your local machine. -Open your terminal and run the following command: - -``` -wget https://raw.githubusercontent.com/devlikeapro/whatsapp-http-api/core/docker-compose.yaml -``` - -### Running the WhatsApp HTTP API Service - -To start the `whatsapp-http-api` service, run the following command: - -``` -docker-compose up -d whatsapp-http-api -``` - -This will start the container in detached mode and map port 3000 to 3000 on the host machine. - -To stop the service, run the command: - -``` -docker-compose down -``` - -This will stop and remove the container. - -To restart the service, run the command: - -``` -docker-compose restart whtasapp-http-api -``` - -This will restart the container. - -### Viewing the Logs - -To view the logs for the `whatsapp-http-api` service, run the command: - -``` -docker-compose logs -f whatsapp-http-api -``` - -This will show the logs in real-time. To view the logs for the `whatsapp-http-api-plus` service, -replace `whatsapp-http-api` with `whatsapp-http-api-plus`. - -To view the logs for a specific period, run the command: - -``` -docker-compose logs --since