mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-21 04:59:15 +00:00
Compare commits
1 Commits
next-relea
...
leifermend
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
028f6186b4 |
6
.github/FUNDING.yml
vendored
6
.github/FUNDING.yml
vendored
@@ -1,9 +1,9 @@
|
|||||||
# These are supported funding model platforms
|
# These are supported funding model platforms
|
||||||
|
|
||||||
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
||||||
patreon: leifermendez
|
patreon: # Replace with a single Patreon username
|
||||||
open_collective: bot-whatsapp
|
open_collective: #
|
||||||
ko_fi: # Replace with a single Ko-fi username
|
ko_fi: # Replace with a single Ko-fi username
|
||||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
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
|
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||||
custom: https://www.buymeacoffee.com/leifermendez
|
custom: "https://www.buymeacoffee.com/leifermendez"
|
||||||
|
|||||||
55
.github/workflows/ci.yml
vendored
55
.github/workflows/ci.yml
vendored
@@ -1,8 +1,12 @@
|
|||||||
name: BotWhatsapp Build-Test
|
name: BotWhatsapp CI
|
||||||
|
|
||||||
on:
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
|
- main
|
||||||
- dev
|
- dev
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@@ -34,6 +38,55 @@ jobs:
|
|||||||
- name: Build Eslint rules
|
- name: Build Eslint rules
|
||||||
run: yarn lint:fix
|
run: yarn lint:fix
|
||||||
|
|
||||||
|
############ RELEASE ############
|
||||||
|
release:
|
||||||
|
name: Release
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs:
|
||||||
|
- build-package
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
ref: ${{ github.head_ref }}
|
||||||
|
|
||||||
|
- name: Setup Node
|
||||||
|
uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 16.x
|
||||||
|
cache: 'yarn'
|
||||||
|
registry-url: https://registry.npmjs.org/
|
||||||
|
|
||||||
|
- run: corepack enable
|
||||||
|
|
||||||
|
- name: Install NPM Dependencies
|
||||||
|
run: yarn install --immutable --network-timeout 300000
|
||||||
|
|
||||||
|
- name: Build Package
|
||||||
|
run: yarn build
|
||||||
|
|
||||||
|
- name: Release @bot-whatsapp/bot
|
||||||
|
run: yarn node ./scripts/release.js --name=bot --version= --token="${{ secrets.NPM_TOKEN }}"
|
||||||
|
|
||||||
|
- name: Release @bot-whatsapp/cli
|
||||||
|
run: yarn node ./scripts/release.js --name=cli --version= --token="${{ secrets.NPM_TOKEN }}"
|
||||||
|
|
||||||
|
- name: Release @bot-whatsapp/create-bot-whatsapp
|
||||||
|
run: yarn node ./scripts/release.js --name=create-bot-whatsapp --version= --token="${{ secrets.NPM_TOKEN }}"
|
||||||
|
|
||||||
|
- name: Release @bot-whatsapp/database
|
||||||
|
run: yarn node ./scripts/release.js --name=database --version= --token="${{ secrets.NPM_TOKEN }}"
|
||||||
|
|
||||||
|
- name: Release @bot-whatsapp/provider
|
||||||
|
run: yarn node ./scripts/release.js --name=provider --version= --token="${{ secrets.NPM_TOKEN }}"
|
||||||
|
|
||||||
|
- name: Commit Versioning
|
||||||
|
run: |
|
||||||
|
git config --global user.name 'Leifer Mendez (githubaction)'
|
||||||
|
git config --global user.email 'leifermendez@users.noreply.github.com'
|
||||||
|
git commit -am "ci(version): :zap: updated versions every packages"
|
||||||
|
git push
|
||||||
|
|
||||||
############ UNIT TEST ############
|
############ UNIT TEST ############
|
||||||
test-unit:
|
test-unit:
|
||||||
name: Unit Tests
|
name: Unit Tests
|
||||||
|
|||||||
56
.github/workflows/releases-dev.yml
vendored
56
.github/workflows/releases-dev.yml
vendored
@@ -1,56 +0,0 @@
|
|||||||
name: BotWhatsapp Releases(DEV)
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- next-release
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
############ RELEASE ############
|
|
||||||
release:
|
|
||||||
name: Release
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
ref: ${{ github.head_ref }}
|
|
||||||
persist-credentials: false
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Setup Node
|
|
||||||
uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 16.x
|
|
||||||
cache: 'yarn'
|
|
||||||
registry-url: https://registry.npmjs.org/
|
|
||||||
|
|
||||||
- run: corepack enable
|
|
||||||
|
|
||||||
- name: Install NPM Dependencies
|
|
||||||
run: yarn install --immutable --network-timeout 300000
|
|
||||||
|
|
||||||
- name: Build Package
|
|
||||||
run: yarn build
|
|
||||||
|
|
||||||
- name: Release @bot-whatsapp/bot
|
|
||||||
run: yarn node ./scripts/release.js --name=bot --version= --token="${{ secrets.NPM_TOKEN }}"
|
|
||||||
|
|
||||||
- name: Release @bot-whatsapp/cli
|
|
||||||
run: yarn node ./scripts/release.js --name=cli --version= --token="${{ secrets.NPM_TOKEN }}"
|
|
||||||
|
|
||||||
- name: Release @bot-whatsapp/create-bot-whatsapp
|
|
||||||
run: yarn node ./scripts/release.js --name=create-bot-whatsapp --version= --token="${{ secrets.NPM_TOKEN }}"
|
|
||||||
|
|
||||||
- name: Release @bot-whatsapp/database
|
|
||||||
run: yarn node ./scripts/release.js --name=database --version= --token="${{ secrets.NPM_TOKEN }}"
|
|
||||||
|
|
||||||
- name: Release @bot-whatsapp/provider
|
|
||||||
run: yarn node ./scripts/release.js --name=provider --version= --token="${{ secrets.NPM_TOKEN }}"
|
|
||||||
|
|
||||||
- name: Commit Versioning & Push changes
|
|
||||||
uses: actions-js/push@master
|
|
||||||
with:
|
|
||||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
message: 'ci(version): :zap: automatic - "${date}" updated versions every packages'
|
|
||||||
branch: 'dev'
|
|
||||||
60
.github/workflows/releases.yml
vendored
60
.github/workflows/releases.yml
vendored
@@ -1,60 +0,0 @@
|
|||||||
name: BotWhatsapp Releases(Prod)
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- 'v*.*.*'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
############ RELEASE ############
|
|
||||||
release:
|
|
||||||
name: Release
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
ref: ${{ github.head_ref }}
|
|
||||||
persist-credentials: false
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Set output
|
|
||||||
id: vars
|
|
||||||
run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
- name: Setup Node
|
|
||||||
uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 16.x
|
|
||||||
cache: 'yarn'
|
|
||||||
registry-url: https://registry.npmjs.org/
|
|
||||||
|
|
||||||
- run: corepack enable
|
|
||||||
|
|
||||||
- name: Install NPM Dependencies
|
|
||||||
run: yarn install --immutable --network-timeout 300000
|
|
||||||
|
|
||||||
- name: Build Package
|
|
||||||
run: yarn build
|
|
||||||
|
|
||||||
- name: Release @bot-whatsapp/bot
|
|
||||||
run: yarn node ./scripts/release.js --name=bot --version="${{ steps.vars.outputs.tag }}" --token="${{ secrets.NPM_TOKEN }}"
|
|
||||||
|
|
||||||
- name: Release @bot-whatsapp/cli
|
|
||||||
run: yarn node ./scripts/release.js --name=cli --version="${{ steps.vars.outputs.tag }}" --token="${{ secrets.NPM_TOKEN }}"
|
|
||||||
|
|
||||||
- name: Release @bot-whatsapp/create-bot-whatsapp
|
|
||||||
run: yarn node ./scripts/release.js --name=create-bot-whatsapp --version="${{ steps.vars.outputs.tag }}" --token="${{ secrets.NPM_TOKEN }}"
|
|
||||||
|
|
||||||
- name: Release @bot-whatsapp/database
|
|
||||||
run: yarn node ./scripts/release.js --name=database --version="${{ steps.vars.outputs.tag }}" --token="${{ secrets.NPM_TOKEN }}"
|
|
||||||
|
|
||||||
- name: Release @bot-whatsapp/provider
|
|
||||||
run: yarn node ./scripts/release.js --name=provider --version="${{ steps.vars.outputs.tag }}" --token="${{ secrets.NPM_TOKEN }}"
|
|
||||||
|
|
||||||
- name: Commit Versioning & Push changes
|
|
||||||
uses: actions-js/push@master
|
|
||||||
with:
|
|
||||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
message: 'ci(version): :zap: automatic - "${date}" updated versions every packages'
|
|
||||||
branch: 'dev'
|
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -3,7 +3,6 @@
|
|||||||
/packages/*/node_modules
|
/packages/*/node_modules
|
||||||
/packages/*/dist
|
/packages/*/dist
|
||||||
/packages/*/docs/dist
|
/packages/*/docs/dist
|
||||||
/packages/provider/src/venom/tokens
|
|
||||||
session.json
|
session.json
|
||||||
chats/*
|
chats/*
|
||||||
!chats/.gitkeep
|
!chats/.gitkeep
|
||||||
|
|||||||
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@@ -6,7 +6,6 @@
|
|||||||
"bot",
|
"bot",
|
||||||
"provider",
|
"provider",
|
||||||
"adapter",
|
"adapter",
|
||||||
"ci",
|
"ci"
|
||||||
"starters"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
225
CHANGELOG.md
225
CHANGELOG.md
@@ -2,231 +2,6 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||||
|
|
||||||
### [0.1.2](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.1...v0.1.2) (2022-12-12)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **cli:** :art: starters ([79e2318](https://github.com/leifermendez/bot-whatsapp/commit/79e231825613f33bfec2ae8e93139f885c199c7a))
|
|
||||||
* **cli:** :art: starters ([87ba43a](https://github.com/leifermendez/bot-whatsapp/commit/87ba43a5535be0893a7701a3b6a085ee5d29e7c5))
|
|
||||||
* fix dependencias ([61d0324](https://github.com/leifermendez/bot-whatsapp/commit/61d032426119341187a470035d49b8b252ca46cd))
|
|
||||||
|
|
||||||
### [0.1.1](https://github.com/leifermendez/bot-whatsapp/compare/v0.3.0...v0.1.1) (2022-12-12)
|
|
||||||
|
|
||||||
## 0.3.0 (2022-12-12)
|
|
||||||
|
|
||||||
|
|
||||||
### ⚠ BREAKING CHANGES
|
|
||||||
|
|
||||||
* 🧨 NO
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* (🎸) add onClick prop to component ([4ae3898](https://github.com/leifermendez/bot-whatsapp/commit/4ae389846d38c133f6bb2129ae373eed39d9d08d))
|
|
||||||
* **adapter:** added adapter mysql ([717a7dc](https://github.com/leifermendez/bot-whatsapp/commit/717a7dc95fbc107ec6f55387aff606c47144baa4))
|
|
||||||
* **adapter:** implementation of json file adapter ([5e1a373](https://github.com/leifermendez/bot-whatsapp/commit/5e1a3737303c843095984f6357564ea18458362f))
|
|
||||||
* **adapter:** mysql adapter ([8d73c86](https://github.com/leifermendez/bot-whatsapp/commit/8d73c86946d07aa80e5b375b62b84a88b2892e03))
|
|
||||||
* **adapter:** sql is added to create the table ([4b7de0f](https://github.com/leifermendez/bot-whatsapp/commit/4b7de0f6901524fa2c09271c3a99c364e6b3c260))
|
|
||||||
* **bot:** :fire: improvement provider handler ([4154cc2](https://github.com/leifermendez/bot-whatsapp/commit/4154cc223091a46d3203d3a378cd42f61749a5fa))
|
|
||||||
* **bot:** :zap: add send image function ([ce8a96b](https://github.com/leifermendez/bot-whatsapp/commit/ce8a96b958ff814c65d8fb4dbd5eaed5cc83a1ed))
|
|
||||||
* **ci:** :art: add releases ([b115dc3](https://github.com/leifermendez/bot-whatsapp/commit/b115dc3654996f049837bfb6b5d039a2313df0ad))
|
|
||||||
* **ci:** :art: relases script ([2e906bc](https://github.com/leifermendez/bot-whatsapp/commit/2e906bce79f7d854d437334e1d0c2cd270b0bbc6))
|
|
||||||
* **ci:** update ci ([e5a9db7](https://github.com/leifermendez/bot-whatsapp/commit/e5a9db7e12340c4f5baa66e8b20585b63daa3bcf))
|
|
||||||
* **cli:** create-starter ([3977987](https://github.com/leifermendez/bot-whatsapp/commit/397798790ef5857ca758b0df8384c6a4bfacc181))
|
|
||||||
* **provider:** :fire: add twilii (weoking) ([4350dff](https://github.com/leifermendez/bot-whatsapp/commit/4350dff22a7de69ba6d35ecbdd67e59b810bd46f))
|
|
||||||
* **provider:** added twilio provider ([8dd3be9](https://github.com/leifermendez/bot-whatsapp/commit/8dd3be909b36717f6b54e141a5f48d2722d4855c))
|
|
||||||
* **release:** added ([1988948](https://github.com/leifermendez/bot-whatsapp/commit/1988948c30d922beb7b83faab96d1d59cf7f5f90))
|
|
||||||
* **release:** added ([f4ad704](https://github.com/leifermendez/bot-whatsapp/commit/f4ad7040abf619635480c30babd6f1159c7af85a))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **adapter:** conflict resolution ([4b307ef](https://github.com/leifermendez/bot-whatsapp/commit/4b307efe79c738a5c4e04ff1c07ca247d827593c))
|
|
||||||
* **adapter:** corrections are made to the adapter ([afa6771](https://github.com/leifermendez/bot-whatsapp/commit/afa677190392d48715930ebe2b1e15c7619d730f))
|
|
||||||
* **bot:** :zap: added delay promises ([73caf09](https://github.com/leifermendez/bot-whatsapp/commit/73caf090ba9013132e5dcb7761a10939dc9ac300))
|
|
||||||
* **bot:** :zap: fix sensitive case ([24ac9fb](https://github.com/leifermendez/bot-whatsapp/commit/24ac9fbf48f80eeb521a36bc938af3a70dd82303))
|
|
||||||
* **bot:** :zap: flow improvement + add utils ([a7b19d9](https://github.com/leifermendez/bot-whatsapp/commit/a7b19d9bff5ea66ff888555c3df37ae0e20b612a))
|
|
||||||
* **bot:** update ([49698bf](https://github.com/leifermendez/bot-whatsapp/commit/49698bfda9d2a53f7b1a7e1724a796698601fbaa))
|
|
||||||
* **ci:** :zap: balance version ([ec46cfd](https://github.com/leifermendez/bot-whatsapp/commit/ec46cfdd657c08c8e90261613f00cfc080f1e1d6))
|
|
||||||
* **ci:** :zap: github action ([b827a0a](https://github.com/leifermendez/bot-whatsapp/commit/b827a0ab225b89bb8117c82628db0679c09b4102))
|
|
||||||
* **ci:** :zap: github action ([4142ca4](https://github.com/leifermendez/bot-whatsapp/commit/4142ca4fd552e7005f3b1397a76b90a2e574d19d))
|
|
||||||
* **ci:** :zap: github action ([091544a](https://github.com/leifermendez/bot-whatsapp/commit/091544ac3fac0c16925e856e1aec64bcad0ecf6d))
|
|
||||||
* **ci:** :zap: github action ([2ce342a](https://github.com/leifermendez/bot-whatsapp/commit/2ce342a0cb15019d5084ca06dc30e342b030ea10))
|
|
||||||
* **ci:** :zap: github action ([7817793](https://github.com/leifermendez/bot-whatsapp/commit/781779328f93ef8b0e6e0f85c6cd05ae782112fb))
|
|
||||||
* **ci:** :zap: github action ([dfced8c](https://github.com/leifermendez/bot-whatsapp/commit/dfced8c594e9175c81e837af359631ba055b7e1a))
|
|
||||||
* **ci:** :zap: github action ([aaa4ce8](https://github.com/leifermendez/bot-whatsapp/commit/aaa4ce837229fd51e274de3d91e1d9d615ac69fd))
|
|
||||||
* **ci:** :zap: github action ([9ddf144](https://github.com/leifermendez/bot-whatsapp/commit/9ddf144244cd6877e7d26f576387814459f2befb))
|
|
||||||
* **ci:** :zap: github action ([b465de5](https://github.com/leifermendez/bot-whatsapp/commit/b465de55a0e511213d1a7760a74efa102172c85e))
|
|
||||||
* **ci:** :zap: github action ([cf1dc6f](https://github.com/leifermendez/bot-whatsapp/commit/cf1dc6fac810545e5a2b63f31f71322f37329e38))
|
|
||||||
* **ci:** :zap: github action ([8d897f8](https://github.com/leifermendez/bot-whatsapp/commit/8d897f824e27a55ca011163092a813a7e8f426af))
|
|
||||||
* **ci:** ci ([f55cfae](https://github.com/leifermendez/bot-whatsapp/commit/f55cfae6e4ccc1df949212999406680020d27f9c))
|
|
||||||
* **ci:** ci ([671c5b3](https://github.com/leifermendez/bot-whatsapp/commit/671c5b37f33360e8cb754625b8dd6e83bce9014d))
|
|
||||||
* **cli:** :bug: path ([32212fb](https://github.com/leifermendez/bot-whatsapp/commit/32212fb52d206bf6f8d753a86d9ce40aa0db2a5d))
|
|
||||||
* **cli:** :fire: create script - templates ([2319db3](https://github.com/leifermendez/bot-whatsapp/commit/2319db3009501fe57ae21e60ad286eb68c46f4fd))
|
|
||||||
* **cli:** :fire: create script - templates ([9cb98b5](https://github.com/leifermendez/bot-whatsapp/commit/9cb98b5e73fca3c3f5e70a8497badc31e494b943))
|
|
||||||
* **cli:** :fire: create script - templates ([2999e0e](https://github.com/leifermendez/bot-whatsapp/commit/2999e0e753f31a8b9e6d7c117e78cdb5656e203a))
|
|
||||||
* **cli:** :fire: create script - templates ([af716b7](https://github.com/leifermendez/bot-whatsapp/commit/af716b75372899877a81b528b58278376166d0ad))
|
|
||||||
* **cli:** :fire: create script - templates ([c6999c8](https://github.com/leifermendez/bot-whatsapp/commit/c6999c84931083a87b5717db58003be68244707e))
|
|
||||||
* **cli:** :fire: create script - templates ([d4b49a9](https://github.com/leifermendez/bot-whatsapp/commit/d4b49a9bd7085070f0c5964d2903f10b71bde0b3))
|
|
||||||
* **cli:** :fire: create script - templates ([eebc3c9](https://github.com/leifermendez/bot-whatsapp/commit/eebc3c980638d88f11a0d93b8344f3ff345c7ee5))
|
|
||||||
* **cli:** :zap: clean eslinter ([bfb69d9](https://github.com/leifermendez/bot-whatsapp/commit/bfb69d9a9574a757ae02748b6c5f5afa3eac68e6))
|
|
||||||
* **cli:** :zap: clean eslinter ([15f6972](https://github.com/leifermendez/bot-whatsapp/commit/15f697225775a0f0e0a440cd980f7fb8f51a1056))
|
|
||||||
* **cli:** :zap: create-starter ([d3b8310](https://github.com/leifermendez/bot-whatsapp/commit/d3b8310180d2ad813733b1d18f2c32d7d947740a))
|
|
||||||
* **cli:** :zap: update cli copy ([7797c2b](https://github.com/leifermendez/bot-whatsapp/commit/7797c2b46133697e2a591adab2b67e66b34a1cfe))
|
|
||||||
* **fix:** fix ([6483545](https://github.com/leifermendez/bot-whatsapp/commit/648354500b123f20044f5ac2e8a26b15f16d1b8d))
|
|
||||||
* **fix:** fix ([28c0480](https://github.com/leifermendez/bot-whatsapp/commit/28c0480b8bfa6b24394095f57c36ef89c9aeb566))
|
|
||||||
* **linter:** update linter and commitlint ([70a94ab](https://github.com/leifermendez/bot-whatsapp/commit/70a94ab2c6f8e4122780c77bc3a621944883e621))
|
|
||||||
* pre-copy fix ([08e2552](https://github.com/leifermendez/bot-whatsapp/commit/08e2552907c48cfeaac843457a18bf2032e6f8aa))
|
|
||||||
* pre-copy fix ([6617107](https://github.com/leifermendez/bot-whatsapp/commit/6617107ab824215c449e26eae6c2bb327ecfc092))
|
|
||||||
* **starter:** pre-copy fix ([929e74c](https://github.com/leifermendez/bot-whatsapp/commit/929e74c84b667ec13cb5490b3b951cb8df15ebd1))
|
|
||||||
|
|
||||||
|
|
||||||
* (💍) Is justa test! ([37d04e9](https://github.com/leifermendez/bot-whatsapp/commit/37d04e9e89d3f01fdc367654ba60fb11ab2614c4))
|
|
||||||
|
|
||||||
### [0.2.1](https://github.com/leifermendez/bot-whatsapp/compare/v0.2.0...v0.2.1) (2022-12-12)
|
|
||||||
|
|
||||||
## 0.2.0 (2022-12-12)
|
|
||||||
|
|
||||||
|
|
||||||
### ⚠ BREAKING CHANGES
|
|
||||||
|
|
||||||
* 🧨 NO
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* (🎸) add onClick prop to component ([4ae3898](https://github.com/leifermendez/bot-whatsapp/commit/4ae389846d38c133f6bb2129ae373eed39d9d08d))
|
|
||||||
* **adapter:** added adapter mysql ([717a7dc](https://github.com/leifermendez/bot-whatsapp/commit/717a7dc95fbc107ec6f55387aff606c47144baa4))
|
|
||||||
* **adapter:** implementation of json file adapter ([5e1a373](https://github.com/leifermendez/bot-whatsapp/commit/5e1a3737303c843095984f6357564ea18458362f))
|
|
||||||
* **adapter:** mysql adapter ([8d73c86](https://github.com/leifermendez/bot-whatsapp/commit/8d73c86946d07aa80e5b375b62b84a88b2892e03))
|
|
||||||
* **adapter:** sql is added to create the table ([4b7de0f](https://github.com/leifermendez/bot-whatsapp/commit/4b7de0f6901524fa2c09271c3a99c364e6b3c260))
|
|
||||||
* **bot:** :fire: improvement provider handler ([4154cc2](https://github.com/leifermendez/bot-whatsapp/commit/4154cc223091a46d3203d3a378cd42f61749a5fa))
|
|
||||||
* **bot:** :zap: add send image function ([ce8a96b](https://github.com/leifermendez/bot-whatsapp/commit/ce8a96b958ff814c65d8fb4dbd5eaed5cc83a1ed))
|
|
||||||
* **ci:** :art: add releases ([b115dc3](https://github.com/leifermendez/bot-whatsapp/commit/b115dc3654996f049837bfb6b5d039a2313df0ad))
|
|
||||||
* **ci:** :art: relases script ([2e906bc](https://github.com/leifermendez/bot-whatsapp/commit/2e906bce79f7d854d437334e1d0c2cd270b0bbc6))
|
|
||||||
* **ci:** update ci ([e5a9db7](https://github.com/leifermendez/bot-whatsapp/commit/e5a9db7e12340c4f5baa66e8b20585b63daa3bcf))
|
|
||||||
* **cli:** create-starter ([3977987](https://github.com/leifermendez/bot-whatsapp/commit/397798790ef5857ca758b0df8384c6a4bfacc181))
|
|
||||||
* **provider:** :fire: add twilii (weoking) ([4350dff](https://github.com/leifermendez/bot-whatsapp/commit/4350dff22a7de69ba6d35ecbdd67e59b810bd46f))
|
|
||||||
* **provider:** added twilio provider ([8dd3be9](https://github.com/leifermendez/bot-whatsapp/commit/8dd3be909b36717f6b54e141a5f48d2722d4855c))
|
|
||||||
* **release:** added ([1988948](https://github.com/leifermendez/bot-whatsapp/commit/1988948c30d922beb7b83faab96d1d59cf7f5f90))
|
|
||||||
* **release:** added ([f4ad704](https://github.com/leifermendez/bot-whatsapp/commit/f4ad7040abf619635480c30babd6f1159c7af85a))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **adapter:** conflict resolution ([4b307ef](https://github.com/leifermendez/bot-whatsapp/commit/4b307efe79c738a5c4e04ff1c07ca247d827593c))
|
|
||||||
* **adapter:** corrections are made to the adapter ([afa6771](https://github.com/leifermendez/bot-whatsapp/commit/afa677190392d48715930ebe2b1e15c7619d730f))
|
|
||||||
* **bot:** :zap: added delay promises ([73caf09](https://github.com/leifermendez/bot-whatsapp/commit/73caf090ba9013132e5dcb7761a10939dc9ac300))
|
|
||||||
* **bot:** :zap: fix sensitive case ([24ac9fb](https://github.com/leifermendez/bot-whatsapp/commit/24ac9fbf48f80eeb521a36bc938af3a70dd82303))
|
|
||||||
* **bot:** :zap: flow improvement + add utils ([a7b19d9](https://github.com/leifermendez/bot-whatsapp/commit/a7b19d9bff5ea66ff888555c3df37ae0e20b612a))
|
|
||||||
* **bot:** update ([49698bf](https://github.com/leifermendez/bot-whatsapp/commit/49698bfda9d2a53f7b1a7e1724a796698601fbaa))
|
|
||||||
* **ci:** :zap: balance version ([ec46cfd](https://github.com/leifermendez/bot-whatsapp/commit/ec46cfdd657c08c8e90261613f00cfc080f1e1d6))
|
|
||||||
* **ci:** :zap: github action ([b827a0a](https://github.com/leifermendez/bot-whatsapp/commit/b827a0ab225b89bb8117c82628db0679c09b4102))
|
|
||||||
* **ci:** :zap: github action ([4142ca4](https://github.com/leifermendez/bot-whatsapp/commit/4142ca4fd552e7005f3b1397a76b90a2e574d19d))
|
|
||||||
* **ci:** :zap: github action ([091544a](https://github.com/leifermendez/bot-whatsapp/commit/091544ac3fac0c16925e856e1aec64bcad0ecf6d))
|
|
||||||
* **ci:** :zap: github action ([2ce342a](https://github.com/leifermendez/bot-whatsapp/commit/2ce342a0cb15019d5084ca06dc30e342b030ea10))
|
|
||||||
* **ci:** :zap: github action ([7817793](https://github.com/leifermendez/bot-whatsapp/commit/781779328f93ef8b0e6e0f85c6cd05ae782112fb))
|
|
||||||
* **ci:** :zap: github action ([dfced8c](https://github.com/leifermendez/bot-whatsapp/commit/dfced8c594e9175c81e837af359631ba055b7e1a))
|
|
||||||
* **ci:** :zap: github action ([aaa4ce8](https://github.com/leifermendez/bot-whatsapp/commit/aaa4ce837229fd51e274de3d91e1d9d615ac69fd))
|
|
||||||
* **ci:** :zap: github action ([9ddf144](https://github.com/leifermendez/bot-whatsapp/commit/9ddf144244cd6877e7d26f576387814459f2befb))
|
|
||||||
* **ci:** :zap: github action ([b465de5](https://github.com/leifermendez/bot-whatsapp/commit/b465de55a0e511213d1a7760a74efa102172c85e))
|
|
||||||
* **ci:** :zap: github action ([cf1dc6f](https://github.com/leifermendez/bot-whatsapp/commit/cf1dc6fac810545e5a2b63f31f71322f37329e38))
|
|
||||||
* **ci:** :zap: github action ([8d897f8](https://github.com/leifermendez/bot-whatsapp/commit/8d897f824e27a55ca011163092a813a7e8f426af))
|
|
||||||
* **ci:** ci ([f55cfae](https://github.com/leifermendez/bot-whatsapp/commit/f55cfae6e4ccc1df949212999406680020d27f9c))
|
|
||||||
* **ci:** ci ([671c5b3](https://github.com/leifermendez/bot-whatsapp/commit/671c5b37f33360e8cb754625b8dd6e83bce9014d))
|
|
||||||
* **cli:** :bug: path ([32212fb](https://github.com/leifermendez/bot-whatsapp/commit/32212fb52d206bf6f8d753a86d9ce40aa0db2a5d))
|
|
||||||
* **cli:** :fire: create script - templates ([2319db3](https://github.com/leifermendez/bot-whatsapp/commit/2319db3009501fe57ae21e60ad286eb68c46f4fd))
|
|
||||||
* **cli:** :fire: create script - templates ([9cb98b5](https://github.com/leifermendez/bot-whatsapp/commit/9cb98b5e73fca3c3f5e70a8497badc31e494b943))
|
|
||||||
* **cli:** :fire: create script - templates ([2999e0e](https://github.com/leifermendez/bot-whatsapp/commit/2999e0e753f31a8b9e6d7c117e78cdb5656e203a))
|
|
||||||
* **cli:** :fire: create script - templates ([af716b7](https://github.com/leifermendez/bot-whatsapp/commit/af716b75372899877a81b528b58278376166d0ad))
|
|
||||||
* **cli:** :fire: create script - templates ([c6999c8](https://github.com/leifermendez/bot-whatsapp/commit/c6999c84931083a87b5717db58003be68244707e))
|
|
||||||
* **cli:** :fire: create script - templates ([d4b49a9](https://github.com/leifermendez/bot-whatsapp/commit/d4b49a9bd7085070f0c5964d2903f10b71bde0b3))
|
|
||||||
* **cli:** :fire: create script - templates ([eebc3c9](https://github.com/leifermendez/bot-whatsapp/commit/eebc3c980638d88f11a0d93b8344f3ff345c7ee5))
|
|
||||||
* **cli:** :zap: clean eslinter ([bfb69d9](https://github.com/leifermendez/bot-whatsapp/commit/bfb69d9a9574a757ae02748b6c5f5afa3eac68e6))
|
|
||||||
* **cli:** :zap: clean eslinter ([15f6972](https://github.com/leifermendez/bot-whatsapp/commit/15f697225775a0f0e0a440cd980f7fb8f51a1056))
|
|
||||||
* **cli:** :zap: create-starter ([d3b8310](https://github.com/leifermendez/bot-whatsapp/commit/d3b8310180d2ad813733b1d18f2c32d7d947740a))
|
|
||||||
* **cli:** :zap: update cli copy ([7797c2b](https://github.com/leifermendez/bot-whatsapp/commit/7797c2b46133697e2a591adab2b67e66b34a1cfe))
|
|
||||||
* **fix:** fix ([6483545](https://github.com/leifermendez/bot-whatsapp/commit/648354500b123f20044f5ac2e8a26b15f16d1b8d))
|
|
||||||
* **fix:** fix ([28c0480](https://github.com/leifermendez/bot-whatsapp/commit/28c0480b8bfa6b24394095f57c36ef89c9aeb566))
|
|
||||||
* **linter:** update linter and commitlint ([70a94ab](https://github.com/leifermendez/bot-whatsapp/commit/70a94ab2c6f8e4122780c77bc3a621944883e621))
|
|
||||||
* pre-copy fix ([08e2552](https://github.com/leifermendez/bot-whatsapp/commit/08e2552907c48cfeaac843457a18bf2032e6f8aa))
|
|
||||||
* pre-copy fix ([6617107](https://github.com/leifermendez/bot-whatsapp/commit/6617107ab824215c449e26eae6c2bb327ecfc092))
|
|
||||||
* **starter:** pre-copy fix ([929e74c](https://github.com/leifermendez/bot-whatsapp/commit/929e74c84b667ec13cb5490b3b951cb8df15ebd1))
|
|
||||||
|
|
||||||
|
|
||||||
* (💍) Is justa test! ([37d04e9](https://github.com/leifermendez/bot-whatsapp/commit/37d04e9e89d3f01fdc367654ba60fb11ab2614c4))
|
|
||||||
|
|
||||||
### [0.0.3](https://github.com/leifermendez/bot-whatsapp/compare/v0.2.0...v0.0.3) (2022-12-12)
|
|
||||||
|
|
||||||
## 0.2.0 (2022-12-12)
|
|
||||||
|
|
||||||
|
|
||||||
### ⚠ BREAKING CHANGES
|
|
||||||
|
|
||||||
* 🧨 NO
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* (🎸) add onClick prop to component ([4ae3898](https://github.com/leifermendez/bot-whatsapp/commit/4ae389846d38c133f6bb2129ae373eed39d9d08d))
|
|
||||||
* **adapter:** added adapter mysql ([717a7dc](https://github.com/leifermendez/bot-whatsapp/commit/717a7dc95fbc107ec6f55387aff606c47144baa4))
|
|
||||||
* **adapter:** implementation of json file adapter ([5e1a373](https://github.com/leifermendez/bot-whatsapp/commit/5e1a3737303c843095984f6357564ea18458362f))
|
|
||||||
* **adapter:** mysql adapter ([8d73c86](https://github.com/leifermendez/bot-whatsapp/commit/8d73c86946d07aa80e5b375b62b84a88b2892e03))
|
|
||||||
* **adapter:** sql is added to create the table ([4b7de0f](https://github.com/leifermendez/bot-whatsapp/commit/4b7de0f6901524fa2c09271c3a99c364e6b3c260))
|
|
||||||
* **bot:** :fire: improvement provider handler ([4154cc2](https://github.com/leifermendez/bot-whatsapp/commit/4154cc223091a46d3203d3a378cd42f61749a5fa))
|
|
||||||
* **bot:** :zap: add send image function ([ce8a96b](https://github.com/leifermendez/bot-whatsapp/commit/ce8a96b958ff814c65d8fb4dbd5eaed5cc83a1ed))
|
|
||||||
* **ci:** :art: add releases ([b115dc3](https://github.com/leifermendez/bot-whatsapp/commit/b115dc3654996f049837bfb6b5d039a2313df0ad))
|
|
||||||
* **ci:** :art: relases script ([2e906bc](https://github.com/leifermendez/bot-whatsapp/commit/2e906bce79f7d854d437334e1d0c2cd270b0bbc6))
|
|
||||||
* **ci:** update ci ([e5a9db7](https://github.com/leifermendez/bot-whatsapp/commit/e5a9db7e12340c4f5baa66e8b20585b63daa3bcf))
|
|
||||||
* **cli:** create-starter ([3977987](https://github.com/leifermendez/bot-whatsapp/commit/397798790ef5857ca758b0df8384c6a4bfacc181))
|
|
||||||
* **provider:** :fire: add twilii (weoking) ([4350dff](https://github.com/leifermendez/bot-whatsapp/commit/4350dff22a7de69ba6d35ecbdd67e59b810bd46f))
|
|
||||||
* **provider:** added twilio provider ([8dd3be9](https://github.com/leifermendez/bot-whatsapp/commit/8dd3be909b36717f6b54e141a5f48d2722d4855c))
|
|
||||||
* **release:** added ([1988948](https://github.com/leifermendez/bot-whatsapp/commit/1988948c30d922beb7b83faab96d1d59cf7f5f90))
|
|
||||||
* **release:** added ([f4ad704](https://github.com/leifermendez/bot-whatsapp/commit/f4ad7040abf619635480c30babd6f1159c7af85a))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **adapter:** conflict resolution ([4b307ef](https://github.com/leifermendez/bot-whatsapp/commit/4b307efe79c738a5c4e04ff1c07ca247d827593c))
|
|
||||||
* **adapter:** corrections are made to the adapter ([afa6771](https://github.com/leifermendez/bot-whatsapp/commit/afa677190392d48715930ebe2b1e15c7619d730f))
|
|
||||||
* **bot:** :zap: added delay promises ([73caf09](https://github.com/leifermendez/bot-whatsapp/commit/73caf090ba9013132e5dcb7761a10939dc9ac300))
|
|
||||||
* **bot:** :zap: fix sensitive case ([24ac9fb](https://github.com/leifermendez/bot-whatsapp/commit/24ac9fbf48f80eeb521a36bc938af3a70dd82303))
|
|
||||||
* **bot:** :zap: flow improvement + add utils ([a7b19d9](https://github.com/leifermendez/bot-whatsapp/commit/a7b19d9bff5ea66ff888555c3df37ae0e20b612a))
|
|
||||||
* **bot:** update ([49698bf](https://github.com/leifermendez/bot-whatsapp/commit/49698bfda9d2a53f7b1a7e1724a796698601fbaa))
|
|
||||||
* **ci:** :zap: balance version ([ec46cfd](https://github.com/leifermendez/bot-whatsapp/commit/ec46cfdd657c08c8e90261613f00cfc080f1e1d6))
|
|
||||||
* **ci:** :zap: github action ([b827a0a](https://github.com/leifermendez/bot-whatsapp/commit/b827a0ab225b89bb8117c82628db0679c09b4102))
|
|
||||||
* **ci:** :zap: github action ([4142ca4](https://github.com/leifermendez/bot-whatsapp/commit/4142ca4fd552e7005f3b1397a76b90a2e574d19d))
|
|
||||||
* **ci:** :zap: github action ([091544a](https://github.com/leifermendez/bot-whatsapp/commit/091544ac3fac0c16925e856e1aec64bcad0ecf6d))
|
|
||||||
* **ci:** :zap: github action ([2ce342a](https://github.com/leifermendez/bot-whatsapp/commit/2ce342a0cb15019d5084ca06dc30e342b030ea10))
|
|
||||||
* **ci:** :zap: github action ([7817793](https://github.com/leifermendez/bot-whatsapp/commit/781779328f93ef8b0e6e0f85c6cd05ae782112fb))
|
|
||||||
* **ci:** :zap: github action ([dfced8c](https://github.com/leifermendez/bot-whatsapp/commit/dfced8c594e9175c81e837af359631ba055b7e1a))
|
|
||||||
* **ci:** :zap: github action ([aaa4ce8](https://github.com/leifermendez/bot-whatsapp/commit/aaa4ce837229fd51e274de3d91e1d9d615ac69fd))
|
|
||||||
* **ci:** :zap: github action ([9ddf144](https://github.com/leifermendez/bot-whatsapp/commit/9ddf144244cd6877e7d26f576387814459f2befb))
|
|
||||||
* **ci:** :zap: github action ([b465de5](https://github.com/leifermendez/bot-whatsapp/commit/b465de55a0e511213d1a7760a74efa102172c85e))
|
|
||||||
* **ci:** :zap: github action ([cf1dc6f](https://github.com/leifermendez/bot-whatsapp/commit/cf1dc6fac810545e5a2b63f31f71322f37329e38))
|
|
||||||
* **ci:** :zap: github action ([8d897f8](https://github.com/leifermendez/bot-whatsapp/commit/8d897f824e27a55ca011163092a813a7e8f426af))
|
|
||||||
* **ci:** ci ([f55cfae](https://github.com/leifermendez/bot-whatsapp/commit/f55cfae6e4ccc1df949212999406680020d27f9c))
|
|
||||||
* **ci:** ci ([671c5b3](https://github.com/leifermendez/bot-whatsapp/commit/671c5b37f33360e8cb754625b8dd6e83bce9014d))
|
|
||||||
* **cli:** :bug: path ([32212fb](https://github.com/leifermendez/bot-whatsapp/commit/32212fb52d206bf6f8d753a86d9ce40aa0db2a5d))
|
|
||||||
* **cli:** :fire: create script - templates ([2319db3](https://github.com/leifermendez/bot-whatsapp/commit/2319db3009501fe57ae21e60ad286eb68c46f4fd))
|
|
||||||
* **cli:** :fire: create script - templates ([9cb98b5](https://github.com/leifermendez/bot-whatsapp/commit/9cb98b5e73fca3c3f5e70a8497badc31e494b943))
|
|
||||||
* **cli:** :fire: create script - templates ([2999e0e](https://github.com/leifermendez/bot-whatsapp/commit/2999e0e753f31a8b9e6d7c117e78cdb5656e203a))
|
|
||||||
* **cli:** :fire: create script - templates ([af716b7](https://github.com/leifermendez/bot-whatsapp/commit/af716b75372899877a81b528b58278376166d0ad))
|
|
||||||
* **cli:** :fire: create script - templates ([c6999c8](https://github.com/leifermendez/bot-whatsapp/commit/c6999c84931083a87b5717db58003be68244707e))
|
|
||||||
* **cli:** :fire: create script - templates ([d4b49a9](https://github.com/leifermendez/bot-whatsapp/commit/d4b49a9bd7085070f0c5964d2903f10b71bde0b3))
|
|
||||||
* **cli:** :fire: create script - templates ([eebc3c9](https://github.com/leifermendez/bot-whatsapp/commit/eebc3c980638d88f11a0d93b8344f3ff345c7ee5))
|
|
||||||
* **cli:** :zap: clean eslinter ([bfb69d9](https://github.com/leifermendez/bot-whatsapp/commit/bfb69d9a9574a757ae02748b6c5f5afa3eac68e6))
|
|
||||||
* **cli:** :zap: clean eslinter ([15f6972](https://github.com/leifermendez/bot-whatsapp/commit/15f697225775a0f0e0a440cd980f7fb8f51a1056))
|
|
||||||
* **cli:** :zap: create-starter ([d3b8310](https://github.com/leifermendez/bot-whatsapp/commit/d3b8310180d2ad813733b1d18f2c32d7d947740a))
|
|
||||||
* **cli:** :zap: update cli copy ([7797c2b](https://github.com/leifermendez/bot-whatsapp/commit/7797c2b46133697e2a591adab2b67e66b34a1cfe))
|
|
||||||
* **fix:** fix ([6483545](https://github.com/leifermendez/bot-whatsapp/commit/648354500b123f20044f5ac2e8a26b15f16d1b8d))
|
|
||||||
* **fix:** fix ([28c0480](https://github.com/leifermendez/bot-whatsapp/commit/28c0480b8bfa6b24394095f57c36ef89c9aeb566))
|
|
||||||
* **linter:** update linter and commitlint ([70a94ab](https://github.com/leifermendez/bot-whatsapp/commit/70a94ab2c6f8e4122780c77bc3a621944883e621))
|
|
||||||
* pre-copy fix ([08e2552](https://github.com/leifermendez/bot-whatsapp/commit/08e2552907c48cfeaac843457a18bf2032e6f8aa))
|
|
||||||
* pre-copy fix ([6617107](https://github.com/leifermendez/bot-whatsapp/commit/6617107ab824215c449e26eae6c2bb327ecfc092))
|
|
||||||
* **starter:** pre-copy fix ([929e74c](https://github.com/leifermendez/bot-whatsapp/commit/929e74c84b667ec13cb5490b3b951cb8df15ebd1))
|
|
||||||
|
|
||||||
|
|
||||||
* (💍) Is justa test! ([37d04e9](https://github.com/leifermendez/bot-whatsapp/commit/37d04e9e89d3f01fdc367654ba60fb11ab2614c4))
|
|
||||||
|
|
||||||
## 0.2.0-alpha.0 (2022-12-01)
|
## 0.2.0-alpha.0 (2022-12-01)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
--------
|
--------
|
||||||
🦊 Documentación: [https://bot-whatsapp.pages.dev/](https://bot-whatsapp.pages.dev/)
|
🦊 Documentación: [https://bot-whatsapp.pages.dev/](https://bot-whatsapp.pages.dev/)
|
||||||
Video como hacer PR: https://youtu.be/Lxt8Acob6aU
|
Video como hacer PR: https://youtu.be/Lxt8Acob6aU
|
||||||
|
|
||||||
🚀 __Roadmap:__ [https://github.com/users/leifermendez/projects/4/views/1](https://github.com/users/leifermendez/projects/4/views/1)
|
- [ ] Evitar dependencias
|
||||||
|
|
||||||
|
|
||||||
**Comunidad**
|
**Comunidad**
|
||||||
|
|||||||
3
core.class.log
Normal file
3
core.class.log
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[handleMsg]: { from: 'XXXXXX', body: 'hola', hasMedia: false }
|
||||||
|
[handleMsg]: { from: 'XXXXXX', body: 'hola', hasMedia: false }
|
||||||
|
[handleMsg]: { from: 'XXXXXX', body: 'hola', hasMedia: false }
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@bot-whatsapp/root",
|
"name": "@bot-whatsapp/root",
|
||||||
"version": "0.1.2",
|
"version": "0.2.0-alpha.0",
|
||||||
"description": "Bot de wahtsapp open source para MVP o pequeños negocios",
|
"description": "Bot de wahtsapp open source para MVP o pequeños negocios",
|
||||||
"main": "app.js",
|
"main": "app.js",
|
||||||
"private": true,
|
"private": true,
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
"prepare": "npx husky install",
|
"prepare": "npx husky install",
|
||||||
"preinstall": "npx only-allow yarn",
|
"preinstall": "npx only-allow yarn",
|
||||||
"postinstall": "npx prettier --write .",
|
"postinstall": "npx prettier --write .",
|
||||||
"release": "standard-version -- --prerelease"
|
"release": "standard-version"
|
||||||
},
|
},
|
||||||
"workspaces": [
|
"workspaces": [
|
||||||
"packages/create-bot-whatsapp",
|
"packages/create-bot-whatsapp",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@bot-whatsapp/bot",
|
"name": "@bot-whatsapp/bot",
|
||||||
"version": "0.0.21-alpha.0",
|
"version": "0.0.12-alpha.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "./lib/bundle.bot.cjs",
|
"main": "./lib/bundle.bot.cjs",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
const prompts = require('prompts')
|
const prompts = require('prompts')
|
||||||
const { yellow, red, cyan, bgMagenta } = require('kleur')
|
const { yellow, red, cyan } = require('kleur')
|
||||||
const { copyBaseApp } = require('../create-app')
|
const { copyBaseApp } = require('../create-app')
|
||||||
const { join } = require('path')
|
const { join } = require('path')
|
||||||
const { existsSync } = require('fs')
|
const { existsSync } = require('fs')
|
||||||
@@ -34,8 +34,7 @@ const startInteractive = async () => {
|
|||||||
choices: [
|
choices: [
|
||||||
{ title: 'whatsapp-web.js (gratis)', value: 'wweb' },
|
{ title: 'whatsapp-web.js (gratis)', value: 'wweb' },
|
||||||
{ title: 'Twilio', value: 'twilio' },
|
{ title: 'Twilio', value: 'twilio' },
|
||||||
{ title: 'Venom (gratis)', value: 'venom' },
|
{ title: 'Baileys (gratis)', value: 'bailey', disabled: true },
|
||||||
{ title: 'Baileys (gratis)', value: 'bailey' },
|
|
||||||
{ title: 'API Oficial (Meta)', value: 'meta', disabled: true },
|
{ title: 'API Oficial (Meta)', value: 'meta', disabled: true },
|
||||||
],
|
],
|
||||||
max: 1,
|
max: 1,
|
||||||
@@ -73,9 +72,9 @@ const startInteractive = async () => {
|
|||||||
throw new Error('TEMPLATE_NAME_INVALID: ', templateName)
|
throw new Error('TEMPLATE_NAME_INVALID: ', templateName)
|
||||||
|
|
||||||
const possiblesPath = [
|
const possiblesPath = [
|
||||||
join(__dirname, '..', '..', 'starters', 'apps', templateName),
|
|
||||||
join(__dirname, '..', 'starters', 'apps', templateName),
|
|
||||||
join(__dirname, 'starters', 'apps', templateName),
|
join(__dirname, 'starters', 'apps', templateName),
|
||||||
|
join(__dirname, '..', 'starters', 'apps', templateName),
|
||||||
|
join(__dirname, '..', '..', 'starters', 'apps', templateName),
|
||||||
]
|
]
|
||||||
|
|
||||||
const answer = outDir.toLowerCase() || 'n'
|
const answer = outDir.toLowerCase() || 'n'
|
||||||
@@ -85,7 +84,6 @@ const startInteractive = async () => {
|
|||||||
const indexOfPath = possiblesPath.find((a) => existsSync(a))
|
const indexOfPath = possiblesPath.find((a) => existsSync(a))
|
||||||
await copyBaseApp(indexOfPath, join(process.cwd(), templateName))
|
await copyBaseApp(indexOfPath, join(process.cwd(), templateName))
|
||||||
console.log(``)
|
console.log(``)
|
||||||
console.log(bgMagenta(`⚡⚡⚡INSTRUCCIONES⚡⚡⚡`))
|
|
||||||
console.log(yellow(`cd ${templateName}`))
|
console.log(yellow(`cd ${templateName}`))
|
||||||
console.log(yellow(`npm install`))
|
console.log(yellow(`npm install`))
|
||||||
console.log(yellow(`npm start`))
|
console.log(yellow(`npm start`))
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@bot-whatsapp/cli",
|
"name": "@bot-whatsapp/cli",
|
||||||
"version": "0.0.28-alpha.0",
|
"version": "0.0.19-alpha.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
0
packages/create-bot-whatsapp/bin/create.js
Executable file → Normal file
0
packages/create-bot-whatsapp/bin/create.js
Executable file → Normal file
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "create-bot-whatsapp",
|
"name": "create-bot-whatsapp",
|
||||||
"version": "0.0.39-alpha.0",
|
"version": "0.0.25-alpha.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "./lib/bundle.create-bot-whatsapp.cjs",
|
"main": "./lib/bundle.create-bot-whatsapp.cjs",
|
||||||
"files": [
|
"files": [
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
const banner = require('../../config/banner.rollup.json')
|
const banner = require('../../config/banner.rollup.json')
|
||||||
const commonjs = require('@rollup/plugin-commonjs')
|
const commonjs = require('@rollup/plugin-commonjs')
|
||||||
const copy = require('rollup-plugin-copy')
|
|
||||||
const { nodeResolve } = require('@rollup/plugin-node-resolve')
|
const { nodeResolve } = require('@rollup/plugin-node-resolve')
|
||||||
const { join } = require('path')
|
const { join } = require('path')
|
||||||
|
|
||||||
@@ -13,11 +13,5 @@ module.exports = {
|
|||||||
file: PATH,
|
file: PATH,
|
||||||
format: 'cjs',
|
format: 'cjs',
|
||||||
},
|
},
|
||||||
plugins: [
|
plugins: [commonjs(), nodeResolve()],
|
||||||
copy({
|
|
||||||
targets: [{ src: 'starters/*', dest: join(__dirname, 'starters') }],
|
|
||||||
}),
|
|
||||||
commonjs(),
|
|
||||||
nodeResolve(),
|
|
||||||
],
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@bot-whatsapp/database",
|
"name": "@bot-whatsapp/database",
|
||||||
"version": "0.0.20-alpha.0",
|
"version": "0.0.11-alpha.0",
|
||||||
"description": "Esto es el conector a mysql, pg, mongo",
|
"description": "Esto es el conector a mysql, pg, mongo",
|
||||||
"main": "./lib/mock/index.cjs",
|
"main": "./lib/mock/index.cjs",
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
|
|||||||
@@ -4,228 +4,143 @@ import type { DocumentHead } from '@builder.io/qwik-city'
|
|||||||
export default component$(() => {
|
export default component$(() => {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<h1>Bienvenido</h1>
|
<h1>Welcome to BotWhatsapp Docs Starter</h1>
|
||||||
|
|
||||||
<p>
|
|
||||||
Un robot (bot) de Whatsapp es un programa que reconoce palabras
|
|
||||||
clave en los mensajes que entran, y contesta con respuestas
|
|
||||||
pre-programadas, facilitando así el dar información a posibles
|
|
||||||
clientes desde tu cuenta de Whatsapp automáticamente.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Este bot esta programado en Javascript y usa NodeJS y es{' '}
|
|
||||||
<a href="https://www.redhat.com/es/topics/open-source/what-is-open-source">
|
|
||||||
Open Source
|
|
||||||
</a>
|
|
||||||
.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Está programado de tal forma que se pueden usar varias librerías
|
|
||||||
(hasta ahora whatsapp-web.js, twilio y Venom) y se puden agregar
|
|
||||||
más.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Si se quere cambiar la librería que se está usando, esto se
|
|
||||||
puede hacer con solo cambiar unas lineas en el código.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<table border>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Características</th>
|
|
||||||
<th>Estatus</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>Menus y Submenus</td>
|
|
||||||
<td>
|
|
||||||
<g-emoji
|
|
||||||
class="g-emoji"
|
|
||||||
alias="white_check_mark"
|
|
||||||
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/2705.png"
|
|
||||||
>
|
|
||||||
✅
|
|
||||||
</g-emoji>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Dialogflow</td>
|
|
||||||
<td>
|
|
||||||
<g-emoji
|
|
||||||
class="g-emoji"
|
|
||||||
alias="white_check_mark"
|
|
||||||
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/2705.png"
|
|
||||||
>
|
|
||||||
✅
|
|
||||||
</g-emoji>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>MySQL</td>
|
|
||||||
<td>
|
|
||||||
<g-emoji
|
|
||||||
class="g-emoji"
|
|
||||||
alias="white_check_mark"
|
|
||||||
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/2705.png"
|
|
||||||
>
|
|
||||||
✅
|
|
||||||
</g-emoji>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>JSON File</td>
|
|
||||||
<td>
|
|
||||||
<g-emoji
|
|
||||||
class="g-emoji"
|
|
||||||
alias="white_check_mark"
|
|
||||||
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/2705.png"
|
|
||||||
>
|
|
||||||
✅
|
|
||||||
</g-emoji>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>QR Scan (route)</td>
|
|
||||||
<td>
|
|
||||||
<g-emoji
|
|
||||||
class="g-emoji"
|
|
||||||
alias="white_check_mark"
|
|
||||||
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/2705.png"
|
|
||||||
>
|
|
||||||
✅
|
|
||||||
</g-emoji>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Easy deploy heroku</td>
|
|
||||||
<td>
|
|
||||||
<g-emoji
|
|
||||||
class="g-emoji"
|
|
||||||
alias="white_check_mark"
|
|
||||||
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/2705.png"
|
|
||||||
>
|
|
||||||
✅
|
|
||||||
</g-emoji>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Buttons</td>
|
|
||||||
<td>
|
|
||||||
<g-emoji
|
|
||||||
class="g-emoji"
|
|
||||||
alias="white_check_mark"
|
|
||||||
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/2705.png"
|
|
||||||
>
|
|
||||||
✅
|
|
||||||
</g-emoji>
|
|
||||||
<g-emoji
|
|
||||||
class="g-emoji"
|
|
||||||
alias="information_source"
|
|
||||||
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/2139.png"
|
|
||||||
>
|
|
||||||
ℹ️
|
|
||||||
</g-emoji>{' '}
|
|
||||||
(No funciona en multi-device)
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Send Voice Note</td>
|
|
||||||
<td>
|
|
||||||
<g-emoji
|
|
||||||
class="g-emoji"
|
|
||||||
alias="white_check_mark"
|
|
||||||
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/2705.png"
|
|
||||||
>
|
|
||||||
✅
|
|
||||||
</g-emoji>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Add support ubuntu/linux</td>
|
|
||||||
<td>
|
|
||||||
<g-emoji
|
|
||||||
class="g-emoji"
|
|
||||||
alias="white_check_mark"
|
|
||||||
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/2705.png"
|
|
||||||
>
|
|
||||||
✅
|
|
||||||
</g-emoji>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<h2>Requisitos</h2>
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>Node v14 o superior</li>
|
<li>This homepage uses a layout without a menu.</li>
|
||||||
<li>
|
<li>
|
||||||
VSCode (Editor de codigo){' '}
|
<span>The </span>
|
||||||
<a
|
<a href="/docs">Documentation</a>
|
||||||
href="https://code.visualstudio.com/download"
|
<span>
|
||||||
rel="nofollow"
|
{' '}
|
||||||
>
|
pages use multiple nested layouts, one of them providing
|
||||||
Descargar
|
a left menu.
|
||||||
</a>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
MySql (opcional) solo aplica si vas a usar el modo 'mysql'{' '}
|
Check out the <code>src/routes</code> directory to get
|
||||||
<a href="https://github.com/leifermendez/bot-whatsapp/blob/main/sql-bot.sql">
|
started.
|
||||||
sql-bot.sql migración
|
|
||||||
</a>
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Dialogflow (opcional) solo aplica si vas a usar el modo
|
Add integrations with <code>npm run qwik add</code>.
|
||||||
'dialogflow'
|
</li>
|
||||||
|
<li>
|
||||||
|
More info about development in <code>README.md</code>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="/docs">Qwik City</a>
|
||||||
|
<span> is the meta-framework for Qwik</span>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h2>Instalación</h2>
|
<h2>Commands</h2>
|
||||||
|
|
||||||
|
<table class="commands">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>npm run dev</code>
|
||||||
|
</td>
|
||||||
|
<td>Start the dev server and watch for changes.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>npm run preview</code>
|
||||||
|
</td>
|
||||||
|
<td>Production build and start preview server.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>npm run build</code>
|
||||||
|
</td>
|
||||||
|
<td>Production build.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>npm run qwik add</code>
|
||||||
|
</td>
|
||||||
|
<td>Select an integration to add.</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<h2>Add Integrations</h2>
|
||||||
|
|
||||||
|
<table class="commands">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>npm run qwik add cloudflare-pages</code>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a
|
||||||
|
href="https://developers.cloudflare.com/pages"
|
||||||
|
target="_blank"
|
||||||
|
>
|
||||||
|
Cloudflare Pages Server
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>npm run qwik add express</code>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="https://expressjs.com/" target="_blank">
|
||||||
|
Nodejs Express Server
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>npm run qwik add netlify-edge</code>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="https://docs.netlify.com/" target="_blank">
|
||||||
|
Netlify Edge Functions
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>npm run qwik add static</code>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a
|
||||||
|
href="https://qwik.builder.io/qwikcity/static-site-generation/overview/"
|
||||||
|
target="_blank"
|
||||||
|
>
|
||||||
|
Static Site Generation (SSG)
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<h2>Community</h2>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
Abre VSCode y muevete al directorio en donde queres insralar
|
<span>Questions or just want to say hi? </span>
|
||||||
el bot.
|
<a href="https://qwik.builder.io/chat" target="_blank">
|
||||||
</li>
|
Chat on discord!
|
||||||
<li>Ejecuta este comando: npm create bot-whatsapp@latest</li>
|
</a>
|
||||||
<li>Contesta que SI queres crear un bot nuevo (Y)</li>
|
|
||||||
<li>
|
|
||||||
Selecciona con las flechas (arriba y abajo) la librería que
|
|
||||||
quieres usar para el bot, cuando estes sobre la opción que
|
|
||||||
quieres, oprime la barra de espacio y luego la tecla "Enter"
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
De igual forma selecciona la base de daros que quieres usar.
|
<span>Follow </span>
|
||||||
|
<a href="https://twitter.com/QwikDev" target="_blank">
|
||||||
|
@QwikDev
|
||||||
|
</a>
|
||||||
|
<span> on Twitter</span>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Cambiate al directorio que se creo dependiendo de la base de
|
<span>Open issues and contribute on </span>
|
||||||
datos que hayas seleccionado, si seleccionaste "Memory"
|
<a href="https://github.com/BuilderIO/qwik" target="_blank">
|
||||||
sería "cd base-wweb-memory"
|
GitHub
|
||||||
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Ya estando en el nuevo subdirectorio, ejecuta el comando
|
<span>Watch </span>
|
||||||
"npm install" y espera a que se instalen las dependencias.
|
<a href="https://qwik.builder.io/media/" target="_blank">
|
||||||
|
Presentations, Podcasts, Videos, etc.
|
||||||
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
|
||||||
Una vez que termine la instalación ejecuta el comando "npm
|
|
||||||
start"y espera a que te mande el mensaje de que necesitas
|
|
||||||
escanear el código QR, para esto ve al directorio en el que
|
|
||||||
se instaló y busca el archivo "qr.svg" y abrelo, te debe de
|
|
||||||
mostrsr un código QR que tienes que escanear en el Whatsapp
|
|
||||||
que quieres ligar con el bot, para esto ve a tu Whatsapp,
|
|
||||||
haz clic en los tres botones de arriba a la derecha y entra
|
|
||||||
en "Linked devices", y luego en el botón que dice "LINK
|
|
||||||
DEVICE", esto va a abrir la camara para que escanes el
|
|
||||||
código.
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
Una vez ligado el Whatsapp vas a ver el mensaje de
|
|
||||||
"Proveedor conectado y listo".
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
Desde OTRO celular mandas un mensaje al numero del Whatsapp
|
|
||||||
que acabas de ligar al bot con la palabra "Hola" y LISTO.
|
|
||||||
</li>
|
|
||||||
<li>Debes de recibir una respuesta automática del bot.</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@bot-whatsapp/provider",
|
"name": "@bot-whatsapp/provider",
|
||||||
"version": "0.0.26-alpha.0",
|
"version": "0.0.17-alpha.0",
|
||||||
"description": "Esto es el conector a Twilio, Meta, etc...",
|
"description": "Esto es el conector a Twilio, Meta, etc...",
|
||||||
"main": "./lib/mock/index.cjs",
|
"main": "./lib/mock/index.cjs",
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
@@ -16,8 +16,6 @@
|
|||||||
"exports": {
|
"exports": {
|
||||||
"./mock": "./lib/mock/index.cjs",
|
"./mock": "./lib/mock/index.cjs",
|
||||||
"./twilio": "./lib/twilio/index.cjs",
|
"./twilio": "./lib/twilio/index.cjs",
|
||||||
"./web-whatsapp": "./lib/web-whatsapp/index.cjs",
|
"./web-whatsapp": "./lib/web-whatsapp/index.cjs"
|
||||||
"./venom": "./lib/venom/index.cjs",
|
|
||||||
"./baileys": "./lib/baileys/index.cjs"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,22 +30,4 @@ module.exports = [
|
|||||||
},
|
},
|
||||||
plugins: [commonjs()],
|
plugins: [commonjs()],
|
||||||
},
|
},
|
||||||
{
|
|
||||||
input: join(__dirname, 'src', 'venom', 'index.js'),
|
|
||||||
output: {
|
|
||||||
banner: banner['banner.output'].join(''),
|
|
||||||
file: join(__dirname, 'lib', 'venom', 'index.cjs'),
|
|
||||||
format: 'cjs',
|
|
||||||
},
|
|
||||||
plugins: [commonjs()],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
input: join(__dirname, 'src', 'baileys', 'index.js'),
|
|
||||||
output: {
|
|
||||||
banner: banner['banner.output'].join(''),
|
|
||||||
file: join(__dirname, 'lib', 'baileys', 'index.cjs'),
|
|
||||||
format: 'cjs',
|
|
||||||
},
|
|
||||||
plugins: [commonjs()],
|
|
||||||
},
|
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,171 +0,0 @@
|
|||||||
const { ProviderClass } = require('@bot-whatsapp/bot')
|
|
||||||
const pino = require('pino')
|
|
||||||
const {
|
|
||||||
default: makeWASocket,
|
|
||||||
useMultiFileAuthState,
|
|
||||||
} = require('@adiwajshing/baileys')
|
|
||||||
const {
|
|
||||||
baileyGenerateImage,
|
|
||||||
baileyCleanNumber,
|
|
||||||
baileyIsValidNumber,
|
|
||||||
} = require('./utils')
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ⚙️ BaileysProvider: Es una clase tipo adaptor
|
|
||||||
* que extiende clases de ProviderClass (la cual es como interfaz para sber que funciones rqueridas)
|
|
||||||
* https://github.com/adiwajshing/Baileys
|
|
||||||
*/
|
|
||||||
class BaileysProvider extends ProviderClass {
|
|
||||||
vendor
|
|
||||||
constructor() {
|
|
||||||
super()
|
|
||||||
this.initBailey().then(() => this.initBusEvents())
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Iniciar todo Bailey
|
|
||||||
*/
|
|
||||||
async initBailey() {
|
|
||||||
const { state, saveCreds } = await useMultiFileAuthState('sessions')
|
|
||||||
|
|
||||||
try {
|
|
||||||
this.vendor = makeWASocket({
|
|
||||||
printQRInTerminal: false,
|
|
||||||
auth: state,
|
|
||||||
logger: pino({ level: 'error' }),
|
|
||||||
})
|
|
||||||
|
|
||||||
this.vendor.ev.on(
|
|
||||||
'connection.update',
|
|
||||||
async ({ qr, connection, lastDisconnect }) => {
|
|
||||||
if (qr) baileyGenerateImage(qr)
|
|
||||||
if (connection === 'open') this.emit('ready', true)
|
|
||||||
if (lastDisconnect?.error) {
|
|
||||||
saveCreds()
|
|
||||||
this.initBailey()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
} catch (e) {
|
|
||||||
this.emit('error', e)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Mapeamos los eventos nativos a los que la clase Provider espera
|
|
||||||
* para tener un standar de eventos
|
|
||||||
* @returns
|
|
||||||
*/
|
|
||||||
busEvents = () => [
|
|
||||||
{
|
|
||||||
event: 'connection.update',
|
|
||||||
func: async ({ qr, connection, lastDisconnect }) => {
|
|
||||||
if (qr) {
|
|
||||||
this.emit('require_action', {
|
|
||||||
instructions: [
|
|
||||||
`Debes escanear el QR Code para iniciar session reivsa qr.png`,
|
|
||||||
`Recuerda que el QR se actualiza cada minuto `,
|
|
||||||
`Necesitas ayuda: https://link.codigoencasa.com/DISCORD`,
|
|
||||||
],
|
|
||||||
})
|
|
||||||
baileyGenerateImage(qr)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (lastDisconnect?.error) {
|
|
||||||
this.emit('require_action', {
|
|
||||||
instructions: [
|
|
||||||
`Algo sucedio reinicia el bot o revisa tu whatsapp`,
|
|
||||||
`Necesitas ayuda: https://link.codigoencasa.com/DISCORD`,
|
|
||||||
],
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
if (connection === 'open') this.emit('ready', true)
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
event: 'messages.upsert',
|
|
||||||
func: ({ messages }) => {
|
|
||||||
const [messageCtx] = messages
|
|
||||||
let payload = {
|
|
||||||
...messageCtx,
|
|
||||||
body: messageCtx?.message?.conversation,
|
|
||||||
from: messageCtx?.key?.remoteJid,
|
|
||||||
}
|
|
||||||
if (payload.from === 'status@broadcast') {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!baileyIsValidNumber(payload.from)) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
payload.from = baileyCleanNumber(payload.from, true)
|
|
||||||
this.emit('message', payload)
|
|
||||||
},
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
initBusEvents = () => {
|
|
||||||
const listEvents = this.busEvents()
|
|
||||||
|
|
||||||
for (const { event, func } of listEvents) {
|
|
||||||
this.vendor.ev.on(event, func)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @alpha
|
|
||||||
* @param {string} number
|
|
||||||
* @param {string} message
|
|
||||||
* @example await sendMessage('+XXXXXXXXXXX', 'https://dominio.com/imagen.jpg' | 'img/imagen.jpg')
|
|
||||||
*/
|
|
||||||
|
|
||||||
sendMedia = async (number, imageUrl) => {
|
|
||||||
await this.vendor.sendMessage(number, {
|
|
||||||
image: { url: imageUrl },
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @alpha
|
|
||||||
* @param {string} number
|
|
||||||
* @param {string} message
|
|
||||||
* @param {boolean} voiceNote optional
|
|
||||||
* @example await sendMessage('+XXXXXXXXXXX', 'audio.mp3')
|
|
||||||
*/
|
|
||||||
|
|
||||||
sendAudio = async (number, audioUrl, voiceNote = false) => {
|
|
||||||
const numberClean = number.replace('+', '')
|
|
||||||
await this.vendor.sendMessage(`${numberClean}@c.us`, {
|
|
||||||
audio: { url: audioUrl },
|
|
||||||
ptt: voiceNote,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param {string} number
|
|
||||||
* @param {string} message
|
|
||||||
* @returns
|
|
||||||
*/
|
|
||||||
sendText = async (number, message) => {
|
|
||||||
return this.vendor.sendMessage(number, { text: message })
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* TODO: Necesita terminar de implementar el sendMedia y sendButton guiarse:
|
|
||||||
* https://github.com/leifermendez/bot-whatsapp/blob/4e0fcbd8347f8a430adb43351b5415098a5d10df/packages/provider/src/web-whatsapp/index.js#L165
|
|
||||||
* @param {string} number
|
|
||||||
* @param {string} message
|
|
||||||
* @example await sendMessage('+XXXXXXXXXXX', 'Hello World')
|
|
||||||
*/
|
|
||||||
sendMessage = async (numberIn, message, { options }) => {
|
|
||||||
const number = baileyCleanNumber(numberIn)
|
|
||||||
|
|
||||||
// if (options?.buttons?.length)
|
|
||||||
// return this.sendButtons(number, message, options.buttons)
|
|
||||||
if (options?.media) return this.sendMedia(number, options.media)
|
|
||||||
return this.sendText(number, message)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = BaileysProvider
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
const { createWriteStream } = require('fs')
|
|
||||||
const qr = require('qr-image')
|
|
||||||
|
|
||||||
const baileyCleanNumber = (number, full = false) => {
|
|
||||||
number = number.replace('@s.whatsapp.net', '')
|
|
||||||
number = !full ? `${number}@s.whatsapp.net` : `${number}`
|
|
||||||
return number
|
|
||||||
}
|
|
||||||
|
|
||||||
const baileyGenerateImage = (base64) => {
|
|
||||||
let qr_svg = qr.image(base64, { type: 'png', margin: 4 })
|
|
||||||
qr_svg.pipe(createWriteStream(`${process.cwd()}/qr.png`))
|
|
||||||
}
|
|
||||||
|
|
||||||
const baileyIsValidNumber = (rawNumber) => {
|
|
||||||
const regexGroup = /\@g.us\b/gm
|
|
||||||
const exist = rawNumber.match(regexGroup)
|
|
||||||
return !exist
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = { baileyCleanNumber, baileyGenerateImage, baileyIsValidNumber }
|
|
||||||
@@ -1,116 +0,0 @@
|
|||||||
const { ProviderClass } = require('@bot-whatsapp/bot')
|
|
||||||
const venom = require('venom-bot')
|
|
||||||
const {
|
|
||||||
venomCleanNumber,
|
|
||||||
venomGenerateImage,
|
|
||||||
venomisValidNumber,
|
|
||||||
} = require('./utils')
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ⚙️ VenomProvider: Es una clase tipo adaptor
|
|
||||||
* que extiende clases de ProviderClass (la cual es como interfaz para sber que funciones rqueridas)
|
|
||||||
* https://github.com/orkestral/venom
|
|
||||||
*/
|
|
||||||
class VenomProvider extends ProviderClass {
|
|
||||||
vendor
|
|
||||||
constructor() {
|
|
||||||
super()
|
|
||||||
this.init().then(() => this.initBusEvents())
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Iniciamos el Proveedor Venom
|
|
||||||
*/
|
|
||||||
init = async () => {
|
|
||||||
try {
|
|
||||||
const client = await venom.create(
|
|
||||||
{
|
|
||||||
session: 'session-base',
|
|
||||||
multidevice: true,
|
|
||||||
},
|
|
||||||
(base) => this.generateQr(base),
|
|
||||||
undefined,
|
|
||||||
{ logQR: false }
|
|
||||||
)
|
|
||||||
this.vendor = client
|
|
||||||
} catch (e) {
|
|
||||||
this.emit('auth_failure', {
|
|
||||||
instructions: [
|
|
||||||
`Ocurrio un error con la inicializacion de venom`,
|
|
||||||
`Necesitas ayuda: https://link.codigoencasa.com/DISCORD`,
|
|
||||||
`(Puedes abrir un ISSUE) https://github.com/leifermendez/bot-whatsapp/issues/new/choose`,
|
|
||||||
``,
|
|
||||||
`${e?.message}`,
|
|
||||||
],
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Generamos QR Code pra escanear con el Whatsapp
|
|
||||||
*/
|
|
||||||
generateQr = (qr) => {
|
|
||||||
console.clear()
|
|
||||||
this.emit('require_action', {
|
|
||||||
instructions: [
|
|
||||||
`Debes escanear el QR Code para iniciar session reivsa qr.png`,
|
|
||||||
`Recuerda que el QR se actualiza cada minuto `,
|
|
||||||
`Necesitas ayuda: https://link.codigoencasa.com/DISCORD`,
|
|
||||||
],
|
|
||||||
})
|
|
||||||
venomGenerateImage(qr)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Mapeamos los eventos nativos de https://docs.orkestral.io/venom/#/?id=events
|
|
||||||
* para tener un standar de eventos
|
|
||||||
* @returns
|
|
||||||
*/
|
|
||||||
busEvents = () => [
|
|
||||||
{
|
|
||||||
event: 'onMessage',
|
|
||||||
func: (payload) => {
|
|
||||||
if (payload.from === 'status@broadcast') {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!venomisValidNumber(payload.from)) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
payload.from = venomCleanNumber(payload.from, true)
|
|
||||||
this.emit('message', payload)
|
|
||||||
},
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Iniciamos y mapeamos el BusEvent
|
|
||||||
* Ejemplo:
|
|
||||||
* this.vendor.onMessage() 👉 this.vendor["onMessage"]()
|
|
||||||
*/
|
|
||||||
initBusEvents = () => {
|
|
||||||
const listEvents = this.busEvents()
|
|
||||||
|
|
||||||
for (const { event, func } of listEvents) {
|
|
||||||
if (this.vendor[event])
|
|
||||||
this.vendor[event]((payload) => func(payload))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Enviar mensaje al usuario
|
|
||||||
* @param {*} userId
|
|
||||||
* @param {*} message
|
|
||||||
* @param {*} param2
|
|
||||||
* @returns
|
|
||||||
*/
|
|
||||||
sendMessage = async (userId, message, { options }) => {
|
|
||||||
const number = venomCleanNumber(userId)
|
|
||||||
if (options?.buttons?.length)
|
|
||||||
return this.sendButtons(number, message, options.buttons)
|
|
||||||
if (options?.media) return this.sendMedia(number, options.media)
|
|
||||||
return this.vendor.sendText(number, message)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = VenomProvider
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
const { writeFile } = require('fs')
|
|
||||||
|
|
||||||
const venomCleanNumber = (number, full = false) => {
|
|
||||||
number = number.replace('@c.us', '')
|
|
||||||
number = !full ? `${number}@c.us` : `${number}`
|
|
||||||
return number
|
|
||||||
}
|
|
||||||
|
|
||||||
const venomGenerateImage = (base) => {
|
|
||||||
const matches = base.match(/^data:([A-Za-z-+\/]+);base64,(.+)$/)
|
|
||||||
if (matches.length !== 3) {
|
|
||||||
return new Error('Invalid input string')
|
|
||||||
}
|
|
||||||
|
|
||||||
let response = {}
|
|
||||||
response.type = matches[1]
|
|
||||||
response.data = new Buffer.from(matches[2], 'base64')
|
|
||||||
|
|
||||||
var imageBuffer = response
|
|
||||||
writeFile(
|
|
||||||
`${process.cwd()}/qr.png`,
|
|
||||||
imageBuffer['data'],
|
|
||||||
'binary',
|
|
||||||
(err) => {
|
|
||||||
if (err != null) throw new Error('ERROR_QR_GENERATE')
|
|
||||||
return
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
const venomisValidNumber = (rawNumber) => {
|
|
||||||
const regexGroup = /\@g.us\b/gm
|
|
||||||
const exist = rawNumber.match(regexGroup)
|
|
||||||
return !exist
|
|
||||||
}
|
|
||||||
module.exports = { venomCleanNumber, venomGenerateImage, venomisValidNumber }
|
|
||||||
@@ -3,10 +3,10 @@ const { ProviderClass } = require('@bot-whatsapp/bot')
|
|||||||
const { Console } = require('console')
|
const { Console } = require('console')
|
||||||
const { createWriteStream } = require('fs')
|
const { createWriteStream } = require('fs')
|
||||||
const {
|
const {
|
||||||
wwebCleanNumber,
|
cleanNumber,
|
||||||
wwebDownloadMedia,
|
generateImage,
|
||||||
wwebGenerateImage,
|
isValidNumber,
|
||||||
wwebIsValidNumber,
|
downloadMedia,
|
||||||
} = require('./utils')
|
} = require('./utils')
|
||||||
|
|
||||||
const logger = new Console({
|
const logger = new Console({
|
||||||
@@ -31,7 +31,6 @@ class WebWhatsappProvider extends ProviderClass {
|
|||||||
for (const { event, func } of listEvents) {
|
for (const { event, func } of listEvents) {
|
||||||
this.vendor.on(event, func)
|
this.vendor.on(event, func)
|
||||||
}
|
}
|
||||||
|
|
||||||
this.vendor.emit('preinit')
|
this.vendor.emit('preinit')
|
||||||
this.vendor.initialize().catch((e) => {
|
this.vendor.initialize().catch((e) => {
|
||||||
logger.log(e)
|
logger.log(e)
|
||||||
@@ -60,12 +59,12 @@ class WebWhatsappProvider extends ProviderClass {
|
|||||||
func: (qr) => {
|
func: (qr) => {
|
||||||
this.emit('require_action', {
|
this.emit('require_action', {
|
||||||
instructions: [
|
instructions: [
|
||||||
`Debes escanear el QR Code para iniciar session reivsa qr.png`,
|
`Debes escanear el QR Code para iniciar session reivsa qr.svg`,
|
||||||
`Recuerda que el QR se actualiza cada minuto `,
|
`Recuerda que el QR se actualiza cada minuto `,
|
||||||
`Necesitas ayuda: https://link.codigoencasa.com/DISCORD`,
|
`Necesitas ayuda: https://link.codigoencasa.com/DISCORD`,
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
wwebGenerateImage(qr)
|
generateImage(qr)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -79,10 +78,10 @@ class WebWhatsappProvider extends ProviderClass {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!wwebIsValidNumber(payload.from)) {
|
if (!isValidNumber(payload.from)) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
payload.from = wwebCleanNumber(payload.from, true)
|
payload.from = cleanNumber(payload.from, true)
|
||||||
this.emit('message', payload)
|
this.emit('message', payload)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -98,7 +97,7 @@ class WebWhatsappProvider extends ProviderClass {
|
|||||||
*/
|
*/
|
||||||
sendMedia = async (number, mediaInput = null) => {
|
sendMedia = async (number, mediaInput = null) => {
|
||||||
if (!mediaInput) throw new Error(`NO_SE_ENCONTRO: ${mediaInput}`)
|
if (!mediaInput) throw new Error(`NO_SE_ENCONTRO: ${mediaInput}`)
|
||||||
const fileDownloaded = await wwebDownloadMedia(mediaInput)
|
const fileDownloaded = await downloadMedia(mediaInput)
|
||||||
const media = MessageMedia.fromFilePath(fileDownloaded)
|
const media = MessageMedia.fromFilePath(fileDownloaded)
|
||||||
return this.vendor.sendMessage(number, media, {
|
return this.vendor.sendMessage(number, media, {
|
||||||
sendAudioAsVoice: true,
|
sendAudioAsVoice: true,
|
||||||
@@ -163,7 +162,7 @@ class WebWhatsappProvider extends ProviderClass {
|
|||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
sendMessage = async (userId, message, { options }) => {
|
sendMessage = async (userId, message, { options }) => {
|
||||||
const number = wwebCleanNumber(userId)
|
const number = cleanNumber(userId)
|
||||||
if (options?.buttons?.length)
|
if (options?.buttons?.length)
|
||||||
return this.sendButtons(number, message, options.buttons)
|
return this.sendButtons(number, message, options.buttons)
|
||||||
if (options?.media) return this.sendMedia(number, options.media)
|
if (options?.media) return this.sendMedia(number, options.media)
|
||||||
|
|||||||
@@ -4,18 +4,18 @@ const { tmpdir } = require('os')
|
|||||||
const http = require('http')
|
const http = require('http')
|
||||||
const https = require('https')
|
const https = require('https')
|
||||||
|
|
||||||
const wwebCleanNumber = (number, full = false) => {
|
const cleanNumber = (number, full = false) => {
|
||||||
number = number.replace('@c.us', '')
|
number = number.replace('@c.us', '')
|
||||||
number = !full ? `${number}@c.us` : `${number}`
|
number = !full ? `${number}@c.us` : `${number}`
|
||||||
return number
|
return number
|
||||||
}
|
}
|
||||||
|
|
||||||
const wwebGenerateImage = (base64) => {
|
const generateImage = (base64) => {
|
||||||
let qr_svg = qr.image(base64, { type: 'png', margin: 4 })
|
let qr_svg = qr.image(base64, { type: 'svg', margin: 4 })
|
||||||
qr_svg.pipe(createWriteStream(`${process.cwd()}/qr.png`))
|
qr_svg.pipe(createWriteStream(`${process.cwd()}/qr.svg`))
|
||||||
}
|
}
|
||||||
|
|
||||||
const wwebIsValidNumber = (rawNumber) => {
|
const isValidNumber = (rawNumber) => {
|
||||||
const regexGroup = /\@g.us\b/gm
|
const regexGroup = /\@g.us\b/gm
|
||||||
const exist = rawNumber.match(regexGroup)
|
const exist = rawNumber.match(regexGroup)
|
||||||
return !exist
|
return !exist
|
||||||
@@ -27,7 +27,7 @@ const wwebIsValidNumber = (rawNumber) => {
|
|||||||
* @param {*} url
|
* @param {*} url
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
const wwebDownloadMedia = (url) => {
|
const downloadMedia = (url) => {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const ext = url.split('.').pop()
|
const ext = url.split('.').pop()
|
||||||
const checkProtocol = url.includes('https:')
|
const checkProtocol = url.includes('https:')
|
||||||
@@ -50,9 +50,4 @@ const wwebDownloadMedia = (url) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = { cleanNumber, generateImage, isValidNumber, downloadMedia }
|
||||||
wwebCleanNumber,
|
|
||||||
wwebGenerateImage,
|
|
||||||
wwebIsValidNumber,
|
|
||||||
wwebDownloadMedia,
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -82,35 +82,6 @@ const updateVersion = async (packageName = null, number = null) => {
|
|||||||
return { version: newVersion }
|
return { version: newVersion }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Revisar si la version nueva existe o no en npmjs
|
|
||||||
* @param {*} packageName
|
|
||||||
* @param {*} version
|
|
||||||
* @returns
|
|
||||||
*/
|
|
||||||
const checkExistVersion = async (packageName = null, version = null) => {
|
|
||||||
try {
|
|
||||||
const pkgJson = join(PATH_PACKAGES, packageName)
|
|
||||||
const pkgJsonObject = readPackage(packageName)
|
|
||||||
const { stdout } = await cmd(
|
|
||||||
NPM_COMMAND,
|
|
||||||
['view', `${pkgJsonObject.name}@${version}`],
|
|
||||||
{
|
|
||||||
stdio: 'inherit',
|
|
||||||
cwd: pkgJson,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
return true
|
|
||||||
} catch (e) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Empaquetar
|
|
||||||
* @param {*} packageName
|
|
||||||
* @returns
|
|
||||||
*/
|
|
||||||
const packRelease = async (packageName) => {
|
const packRelease = async (packageName) => {
|
||||||
const pkgJson = join(PATH_PACKAGES, packageName)
|
const pkgJson = join(PATH_PACKAGES, packageName)
|
||||||
const { stdout } = await cmd(NPM_COMMAND, ['pack'], {
|
const { stdout } = await cmd(NPM_COMMAND, ['pack'], {
|
||||||
@@ -120,12 +91,6 @@ const packRelease = async (packageName) => {
|
|||||||
return stdout
|
return stdout
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Lanzar release
|
|
||||||
* @param {*} packageName
|
|
||||||
* @param {*} latest
|
|
||||||
* @returns
|
|
||||||
*/
|
|
||||||
const publishRelease = async (packageName, latest = null) => {
|
const publishRelease = async (packageName, latest = null) => {
|
||||||
const args = !latest ? ['--tag', 'dev'] : ['--access', 'public']
|
const args = !latest ? ['--tag', 'dev'] : ['--access', 'public']
|
||||||
const pkgJson = join(PATH_PACKAGES, packageName)
|
const pkgJson = join(PATH_PACKAGES, packageName)
|
||||||
@@ -141,24 +106,15 @@ const publishRelease = async (packageName, latest = null) => {
|
|||||||
* Recibe los argumentos entrantes
|
* Recibe los argumentos entrantes
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
|
||||||
* Init
|
|
||||||
*/
|
|
||||||
const main = async () => {
|
const main = async () => {
|
||||||
if (PKG_ARG) {
|
if (PKG_ARG) {
|
||||||
let EXIST_VERSION = true
|
|
||||||
const tokenNpm = NPM_TOKEN ? NPM_TOKEN.split('=').at(1) : null
|
const tokenNpm = NPM_TOKEN ? NPM_TOKEN.split('=').at(1) : null
|
||||||
const pkgName = PKG_ARG ? PKG_ARG.split('=').at(1) : null
|
const pkgName = PKG_ARG ? PKG_ARG.split('=').at(1) : null
|
||||||
const pkgNumber = PKG_ARG_VERSION
|
const pkgNumber = PKG_ARG_VERSION
|
||||||
? PKG_ARG_VERSION.split('=').at(1)
|
? PKG_ARG_VERSION.split('=').at(1)
|
||||||
: null
|
: null
|
||||||
if (tokenNpm) await npmToken(tokenNpm)
|
if (tokenNpm) await npmToken(tokenNpm)
|
||||||
|
await updateVersion(pkgName, pkgNumber)
|
||||||
while (EXIST_VERSION) {
|
|
||||||
const { version } = await updateVersion(pkgName, pkgNumber)
|
|
||||||
EXIST_VERSION = await checkExistVersion(pkgName, version)
|
|
||||||
console.log(`[${pkgName} - Version]: `, version, EXIST_VERSION)
|
|
||||||
}
|
|
||||||
await packRelease(pkgName)
|
await packRelease(pkgName)
|
||||||
await publishRelease(pkgName, pkgNumber)
|
await publishRelease(pkgName, pkgNumber)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
### BASE APP
|
|
||||||
|
|
||||||
Este bot contiene un flujo basico en el cual una persona (cliente) escribe **"hola"** y el bot responde.
|
|
||||||
- Bienvenido a mi tienda
|
|
||||||
- Como puedo ayudarte?
|
|
||||||
- Tengo: Zapatos Bolsos etc..
|
|
||||||
|
|
||||||
------
|
|
||||||
- [Discord](https://link.codigoencasa.com/DISCORD)
|
|
||||||
- [Twitter](https://twitter.com/leifermendez)
|
|
||||||
- [Youtube](https://www.youtube.com/watch?v=5lEMCeWEJ8o&list=PL_WGMLcL4jzWPhdhcUyhbFU6bC0oJd2BR)
|
|
||||||
- [Telegram](https://t.me/leifermendez)
|
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
const {
|
|
||||||
createBot,
|
|
||||||
createProvider,
|
|
||||||
createFlow,
|
|
||||||
addKeyword,
|
|
||||||
addChild,
|
|
||||||
} = require('@bot-whatsapp/bot')
|
|
||||||
|
|
||||||
const BaileysProvider = require('@bot-whatsapp/provider/baileys')
|
|
||||||
const MockAdapter = require('@bot-whatsapp/database/mock')
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Declarando flujo hijo
|
|
||||||
*/
|
|
||||||
|
|
||||||
const flowBolsos2 = addKeyword(['bolsos2', '2'])
|
|
||||||
.addAnswer('🤯 *MUCHOS* bolsos ...')
|
|
||||||
.addAnswer('y mas bolsos... bla bla')
|
|
||||||
|
|
||||||
const flowZapatos2 = addKeyword(['zapatos2', '2'])
|
|
||||||
.addAnswer('🤯 repito que tengo *MUCHOS* zapatos.')
|
|
||||||
.addAnswer('y algunas otras cosas.')
|
|
||||||
|
|
||||||
const flowZapatos = addKeyword(['zapatos', 'ZAPATOS'])
|
|
||||||
.addAnswer('🤯 Veo que elegiste zapatos')
|
|
||||||
.addAnswer('Tengo muchos zapatos...bla bla')
|
|
||||||
.addAnswer(
|
|
||||||
['Manda:', '*2*', 'o', '*zapatos2*', 'para mas información'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
},
|
|
||||||
[...addChild(flowZapatos2)]
|
|
||||||
)
|
|
||||||
|
|
||||||
const flowBolsos = addKeyword(['bolsos', 'BOLSOS'])
|
|
||||||
.addAnswer('🙌 Veo que elegiste bolsos')
|
|
||||||
.addAnswer('Tengo muchos bolsos...bla bla')
|
|
||||||
.addAnswer(
|
|
||||||
['Manda:', '*2*', 'o', '*bolsos2*', 'para mas información.'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
},
|
|
||||||
[...addChild(flowBolsos2)]
|
|
||||||
)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Declarando flujo principal
|
|
||||||
*/
|
|
||||||
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
|
|
||||||
.addAnswer('Hola, bienvenido a mi tienda')
|
|
||||||
.addAnswer('Como puedo ayudarte?')
|
|
||||||
.addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..'])
|
|
||||||
.addAnswer(
|
|
||||||
['Para continuar escribe:', '*Zapatos*', 'o', '*Bolsos*'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
console.log(ctx['_data']['notifyName'])
|
|
||||||
},
|
|
||||||
[...addChild(flowBolsos), ...addChild(flowZapatos)]
|
|
||||||
)
|
|
||||||
|
|
||||||
const main = async () => {
|
|
||||||
const adapterDB = new MockAdapter()
|
|
||||||
const adapterFlow = createFlow([flowPrincipal])
|
|
||||||
const adapterProvider = createProvider(BaileysProvider)
|
|
||||||
createBot({
|
|
||||||
flow: adapterFlow,
|
|
||||||
provider: adapterProvider,
|
|
||||||
database: adapterDB,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
main()
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "bot-whatsapp-base-bailey-memory",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"description": "",
|
|
||||||
"main": "app.js",
|
|
||||||
"scripts": {
|
|
||||||
"pre-copy": "cd .. && yarn run copy.lib base-bailey-memory",
|
|
||||||
"start": "node app.js"
|
|
||||||
},
|
|
||||||
"keywords": [],
|
|
||||||
"dependencies": {
|
|
||||||
"@adiwajshing/baileys": "^4.4.0",
|
|
||||||
"@bot-whatsapp/bot": "latest",
|
|
||||||
"@bot-whatsapp/cli": "latest",
|
|
||||||
"@bot-whatsapp/database": "latest",
|
|
||||||
"@bot-whatsapp/provider": "latest"
|
|
||||||
},
|
|
||||||
"author": "",
|
|
||||||
"license": "ISC"
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
### BASE APP
|
|
||||||
|
|
||||||
Este bot contiene un flujo basico en el cual una persona (cliente) escribe **"hola"** y el bot responde.
|
|
||||||
- Bienvenido a mi tienda
|
|
||||||
- Como puedo ayudarte?
|
|
||||||
- Tengo: Zapatos Bolsos etc..
|
|
||||||
|
|
||||||
------
|
|
||||||
- [Discord](https://link.codigoencasa.com/DISCORD)
|
|
||||||
- [Twitter](https://twitter.com/leifermendez)
|
|
||||||
- [Youtube](https://www.youtube.com/watch?v=5lEMCeWEJ8o&list=PL_WGMLcL4jzWPhdhcUyhbFU6bC0oJd2BR)
|
|
||||||
- [Telegram](https://t.me/leifermendez)
|
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
const {
|
|
||||||
createBot,
|
|
||||||
createProvider,
|
|
||||||
createFlow,
|
|
||||||
addKeyword,
|
|
||||||
addChild,
|
|
||||||
} = require('@bot-whatsapp/bot')
|
|
||||||
|
|
||||||
const BaileysProvider = require('@bot-whatsapp/provider/baileys')
|
|
||||||
const MockAdapter = require('@bot-whatsapp/database/mock')
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Declarando flujo hijo
|
|
||||||
*/
|
|
||||||
|
|
||||||
const flowBolsos2 = addKeyword(['bolsos2', '2'])
|
|
||||||
.addAnswer('🤯 *MUCHOS* bolsos ...')
|
|
||||||
.addAnswer('y mas bolsos... bla bla')
|
|
||||||
|
|
||||||
const flowZapatos2 = addKeyword(['zapatos2', '2'])
|
|
||||||
.addAnswer('🤯 repito que tengo *MUCHOS* zapatos.')
|
|
||||||
.addAnswer('y algunas otras cosas.')
|
|
||||||
|
|
||||||
const flowZapatos = addKeyword(['zapatos', 'ZAPATOS'])
|
|
||||||
.addAnswer('🤯 Veo que elegiste zapatos')
|
|
||||||
.addAnswer('Tengo muchos zapatos...bla bla')
|
|
||||||
.addAnswer(
|
|
||||||
['Manda:', '*2*', 'o', '*zapatos2*', 'para mas información'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
},
|
|
||||||
[...addChild(flowZapatos2)]
|
|
||||||
)
|
|
||||||
|
|
||||||
const flowBolsos = addKeyword(['bolsos', 'BOLSOS'])
|
|
||||||
.addAnswer('🙌 Veo que elegiste bolsos')
|
|
||||||
.addAnswer('Tengo muchos bolsos...bla bla')
|
|
||||||
.addAnswer(
|
|
||||||
['Manda:', '*2*', 'o', '*bolsos2*', 'para mas información.'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
},
|
|
||||||
[...addChild(flowBolsos2)]
|
|
||||||
)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Declarando flujo principal
|
|
||||||
*/
|
|
||||||
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
|
|
||||||
.addAnswer('Hola, bienvenido a mi tienda')
|
|
||||||
.addAnswer('Como puedo ayudarte?')
|
|
||||||
.addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..'])
|
|
||||||
.addAnswer(
|
|
||||||
['Para continuar escribe:', '*Zapatos*', 'o', '*Bolsos*'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
console.log(ctx['_data']['notifyName'])
|
|
||||||
},
|
|
||||||
[...addChild(flowBolsos), ...addChild(flowZapatos)]
|
|
||||||
)
|
|
||||||
|
|
||||||
const main = async () => {
|
|
||||||
const adapterDB = new MockAdapter()
|
|
||||||
const adapterFlow = createFlow([flowPrincipal])
|
|
||||||
const adapterProvider = createProvider(BaileysProvider)
|
|
||||||
createBot({
|
|
||||||
flow: adapterFlow,
|
|
||||||
provider: adapterProvider,
|
|
||||||
database: adapterDB,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
main()
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "bot-whatsapp-base-bailey-mongo",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"description": "",
|
|
||||||
"main": "app.js",
|
|
||||||
"scripts": {
|
|
||||||
"pre-copy": "cd .. && yarn run copy.lib base-bailey-mongo",
|
|
||||||
"start": "node app.js"
|
|
||||||
},
|
|
||||||
"keywords": [],
|
|
||||||
"dependencies": {
|
|
||||||
"@adiwajshing/baileys": "^4.4.0",
|
|
||||||
"@bot-whatsapp/bot": "latest",
|
|
||||||
"@bot-whatsapp/cli": "latest",
|
|
||||||
"@bot-whatsapp/database": "latest",
|
|
||||||
"@bot-whatsapp/provider": "latest"
|
|
||||||
},
|
|
||||||
"author": "",
|
|
||||||
"license": "ISC"
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
### BASE APP
|
|
||||||
|
|
||||||
Este bot contiene un flujo basico en el cual una persona (cliente) escribe **"hola"** y el bot responde.
|
|
||||||
- Bienvenido a mi tienda
|
|
||||||
- Como puedo ayudarte?
|
|
||||||
- Tengo: Zapatos Bolsos etc..
|
|
||||||
|
|
||||||
------
|
|
||||||
- [Discord](https://link.codigoencasa.com/DISCORD)
|
|
||||||
- [Twitter](https://twitter.com/leifermendez)
|
|
||||||
- [Youtube](https://www.youtube.com/watch?v=5lEMCeWEJ8o&list=PL_WGMLcL4jzWPhdhcUyhbFU6bC0oJd2BR)
|
|
||||||
- [Telegram](https://t.me/leifermendez)
|
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
const {
|
|
||||||
createBot,
|
|
||||||
createProvider,
|
|
||||||
createFlow,
|
|
||||||
addKeyword,
|
|
||||||
addChild,
|
|
||||||
} = require('@bot-whatsapp/bot')
|
|
||||||
|
|
||||||
const BaileysProvider = require('@bot-whatsapp/provider/baileys')
|
|
||||||
const MockAdapter = require('@bot-whatsapp/database/mock')
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Declarando flujo hijo
|
|
||||||
*/
|
|
||||||
|
|
||||||
const flowBolsos2 = addKeyword(['bolsos2', '2'])
|
|
||||||
.addAnswer('🤯 *MUCHOS* bolsos ...')
|
|
||||||
.addAnswer('y mas bolsos... bla bla')
|
|
||||||
|
|
||||||
const flowZapatos2 = addKeyword(['zapatos2', '2'])
|
|
||||||
.addAnswer('🤯 repito que tengo *MUCHOS* zapatos.')
|
|
||||||
.addAnswer('y algunas otras cosas.')
|
|
||||||
|
|
||||||
const flowZapatos = addKeyword(['zapatos', 'ZAPATOS'])
|
|
||||||
.addAnswer('🤯 Veo que elegiste zapatos')
|
|
||||||
.addAnswer('Tengo muchos zapatos...bla bla')
|
|
||||||
.addAnswer(
|
|
||||||
['Manda:', '*2*', 'o', '*zapatos2*', 'para mas información'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
},
|
|
||||||
[...addChild(flowZapatos2)]
|
|
||||||
)
|
|
||||||
|
|
||||||
const flowBolsos = addKeyword(['bolsos', 'BOLSOS'])
|
|
||||||
.addAnswer('🙌 Veo que elegiste bolsos')
|
|
||||||
.addAnswer('Tengo muchos bolsos...bla bla')
|
|
||||||
.addAnswer(
|
|
||||||
['Manda:', '*2*', 'o', '*bolsos2*', 'para mas información.'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
},
|
|
||||||
[...addChild(flowBolsos2)]
|
|
||||||
)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Declarando flujo principal
|
|
||||||
*/
|
|
||||||
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
|
|
||||||
.addAnswer('Hola, bienvenido a mi tienda')
|
|
||||||
.addAnswer('Como puedo ayudarte?')
|
|
||||||
.addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..'])
|
|
||||||
.addAnswer(
|
|
||||||
['Para continuar escribe:', '*Zapatos*', 'o', '*Bolsos*'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
console.log(ctx['_data']['notifyName'])
|
|
||||||
},
|
|
||||||
[...addChild(flowBolsos), ...addChild(flowZapatos)]
|
|
||||||
)
|
|
||||||
|
|
||||||
const main = async () => {
|
|
||||||
const adapterDB = new MockAdapter()
|
|
||||||
const adapterFlow = createFlow([flowPrincipal])
|
|
||||||
const adapterProvider = createProvider(BaileysProvider)
|
|
||||||
createBot({
|
|
||||||
flow: adapterFlow,
|
|
||||||
provider: adapterProvider,
|
|
||||||
database: adapterDB,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
main()
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "bot-whatsapp-base-bailey-mysql",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"description": "",
|
|
||||||
"main": "app.js",
|
|
||||||
"scripts": {
|
|
||||||
"pre-copy": "cd .. && yarn run copy.lib base-bailey-mysql",
|
|
||||||
"start": "node app.js"
|
|
||||||
},
|
|
||||||
"keywords": [],
|
|
||||||
"dependencies": {
|
|
||||||
"@adiwajshing/baileys": "^4.4.0",
|
|
||||||
"@bot-whatsapp/bot": "latest",
|
|
||||||
"@bot-whatsapp/cli": "latest",
|
|
||||||
"@bot-whatsapp/database": "latest",
|
|
||||||
"@bot-whatsapp/provider": "latest"
|
|
||||||
},
|
|
||||||
"author": "",
|
|
||||||
"license": "ISC"
|
|
||||||
}
|
|
||||||
@@ -3,80 +3,20 @@ const {
|
|||||||
createProvider,
|
createProvider,
|
||||||
createFlow,
|
createFlow,
|
||||||
addKeyword,
|
addKeyword,
|
||||||
addChild,
|
|
||||||
} = require('@bot-whatsapp/bot')
|
} = require('@bot-whatsapp/bot')
|
||||||
|
|
||||||
const TwilioProvider = require('@bot-whatsapp/provider/twilio')
|
const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp')
|
||||||
const MockAdapter = require('@bot-whatsapp/database/mock')
|
const MockAdapter = require('@bot-whatsapp/database/mock')
|
||||||
|
|
||||||
/**
|
const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA'])
|
||||||
* Declarando flujo hijo
|
.addAnswer('Bienvenido a mi tienda')
|
||||||
*/
|
|
||||||
|
|
||||||
const flowBolsos2 = addKeyword(['bolsos2', '2'])
|
|
||||||
.addAnswer('🤯 *MUCHOS* bolsos ...')
|
|
||||||
.addAnswer('y mas bolsos... bla bla')
|
|
||||||
|
|
||||||
const flowZapatos2 = addKeyword(['zapatos2', '2'])
|
|
||||||
.addAnswer('🤯 repito que tengo *MUCHOS* zapatos.')
|
|
||||||
.addAnswer('y algunas otras cosas.')
|
|
||||||
|
|
||||||
const flowZapatos = addKeyword(['zapatos', 'ZAPATOS'])
|
|
||||||
.addAnswer('🤯 Veo que elegiste zapatos')
|
|
||||||
.addAnswer('Tengo muchos zapatos...bla bla')
|
|
||||||
.addAnswer(
|
|
||||||
['Manda:', '*2*', 'o', '*zapatos2*', 'para mas información'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
},
|
|
||||||
[...addChild(flowZapatos2)]
|
|
||||||
)
|
|
||||||
|
|
||||||
const flowBolsos = addKeyword(['bolsos', 'BOLSOS'])
|
|
||||||
.addAnswer('🙌 Veo que elegiste bolsos')
|
|
||||||
.addAnswer('Tengo muchos bolsos...bla bla')
|
|
||||||
.addAnswer(
|
|
||||||
['Manda:', '*2*', 'o', '*bolsos2*', 'para mas información.'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
},
|
|
||||||
[...addChild(flowBolsos2)]
|
|
||||||
)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Declarando flujo principal
|
|
||||||
*/
|
|
||||||
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
|
|
||||||
.addAnswer('Hola, bienvenido a mi tienda')
|
|
||||||
.addAnswer('Como puedo ayudarte?')
|
.addAnswer('Como puedo ayudarte?')
|
||||||
.addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..'])
|
.addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..'])
|
||||||
.addAnswer(
|
|
||||||
['Para continuar escribe:', '*Zapatos*', 'o', '*Bolsos*'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
console.log(ctx['_data']['notifyName'])
|
|
||||||
},
|
|
||||||
[...addChild(flowBolsos), ...addChild(flowZapatos)]
|
|
||||||
)
|
|
||||||
|
|
||||||
const main = async () => {
|
const main = async () => {
|
||||||
const adapterDB = new MockAdapter()
|
const adapterDB = new MockAdapter()
|
||||||
const adapterFlow = createFlow([flowPrincipal])
|
const adapterFlow = createFlow([flowPrincipal])
|
||||||
|
const adapterProvider = createProvider(WebWhatsappProvider)
|
||||||
const adapterProvider = createProvider(TwilioProvider, {
|
|
||||||
accountSid: 'YOUR_ACCOUNT_SID',
|
|
||||||
authToken: 'YOUR_ACCOUNT_TOKEN',
|
|
||||||
vendorNumber: '+14155238886',
|
|
||||||
})
|
|
||||||
|
|
||||||
createBot({
|
createBot({
|
||||||
flow: adapterFlow,
|
flow: adapterFlow,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "bot-whatsapp-base-twilio-memory",
|
"name": "bot-whatsapp-base",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "app.js",
|
"main": "app.js",
|
||||||
@@ -9,13 +9,7 @@
|
|||||||
},
|
},
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"body-parser": "^1.20.1",
|
"whatsapp-web.js": "^1.18.3"
|
||||||
"polka": "^0.5.2",
|
|
||||||
"twilio": "^3.83.4",
|
|
||||||
"@bot-whatsapp/bot": "latest",
|
|
||||||
"@bot-whatsapp/cli": "latest",
|
|
||||||
"@bot-whatsapp/database": "latest",
|
|
||||||
"@bot-whatsapp/provider": "latest"
|
|
||||||
},
|
},
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
|
|||||||
@@ -3,79 +3,20 @@ const {
|
|||||||
createProvider,
|
createProvider,
|
||||||
createFlow,
|
createFlow,
|
||||||
addKeyword,
|
addKeyword,
|
||||||
addChild,
|
|
||||||
} = require('@bot-whatsapp/bot')
|
} = require('@bot-whatsapp/bot')
|
||||||
|
|
||||||
const TwilioProvider = require('@bot-whatsapp/provider/twilio')
|
const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp')
|
||||||
const MockAdapter = require('@bot-whatsapp/database/mock')
|
const MockAdapter = require('@bot-whatsapp/database/mock')
|
||||||
|
|
||||||
/**
|
const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA'])
|
||||||
* Declarando flujo hijo
|
.addAnswer('Bienvenido a mi tienda')
|
||||||
*/
|
|
||||||
|
|
||||||
const flowBolsos2 = addKeyword(['bolsos2', '2'])
|
|
||||||
.addAnswer('🤯 *MUCHOS* bolsos ...')
|
|
||||||
.addAnswer('y mas bolsos... bla bla')
|
|
||||||
|
|
||||||
const flowZapatos2 = addKeyword(['zapatos2', '2'])
|
|
||||||
.addAnswer('🤯 repito que tengo *MUCHOS* zapatos.')
|
|
||||||
.addAnswer('y algunas otras cosas.')
|
|
||||||
|
|
||||||
const flowZapatos = addKeyword(['zapatos', 'ZAPATOS'])
|
|
||||||
.addAnswer('🤯 Veo que elegiste zapatos')
|
|
||||||
.addAnswer('Tengo muchos zapatos...bla bla')
|
|
||||||
.addAnswer(
|
|
||||||
['Manda:', '*2*', 'o', '*zapatos2*', 'para mas información'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
},
|
|
||||||
[...addChild(flowZapatos2)]
|
|
||||||
)
|
|
||||||
|
|
||||||
const flowBolsos = addKeyword(['bolsos', 'BOLSOS'])
|
|
||||||
.addAnswer('🙌 Veo que elegiste bolsos')
|
|
||||||
.addAnswer('Tengo muchos bolsos...bla bla')
|
|
||||||
.addAnswer(
|
|
||||||
['Manda:', '*2*', 'o', '*bolsos2*', 'para mas información.'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
},
|
|
||||||
[...addChild(flowBolsos2)]
|
|
||||||
)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Declarando flujo principal
|
|
||||||
*/
|
|
||||||
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
|
|
||||||
.addAnswer('Hola, bienvenido a mi tienda')
|
|
||||||
.addAnswer('Como puedo ayudarte?')
|
.addAnswer('Como puedo ayudarte?')
|
||||||
.addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..'])
|
.addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..'])
|
||||||
.addAnswer(
|
|
||||||
['Para continuar escribe:', '*Zapatos*', 'o', '*Bolsos*'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
console.log(ctx['_data']['notifyName'])
|
|
||||||
},
|
|
||||||
[...addChild(flowBolsos), ...addChild(flowZapatos)]
|
|
||||||
)
|
|
||||||
|
|
||||||
const main = async () => {
|
const main = async () => {
|
||||||
const adapterDB = new MockAdapter()
|
const adapterDB = new MockAdapter()
|
||||||
const adapterFlow = createFlow([flowPrincipal])
|
const adapterFlow = createFlow([flowPrincipal])
|
||||||
const adapterProvider = createProvider(TwilioProvider, {
|
const adapterProvider = createProvider(WebWhatsappProvider)
|
||||||
accountSid: 'YOUR_ACCOUNT_SID',
|
|
||||||
authToken: 'YOUR_ACCOUNT_TOKEN',
|
|
||||||
vendorNumber: '+14155238886',
|
|
||||||
})
|
|
||||||
|
|
||||||
createBot({
|
createBot({
|
||||||
flow: adapterFlow,
|
flow: adapterFlow,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "bot-whatsapp-base-twilio-mongo",
|
"name": "bot-whatsapp-base",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "app.js",
|
"main": "app.js",
|
||||||
@@ -9,13 +9,7 @@
|
|||||||
},
|
},
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"body-parser": "^1.20.1",
|
"whatsapp-web.js": "^1.18.3"
|
||||||
"polka": "^0.5.2",
|
|
||||||
"twilio": "^3.83.4",
|
|
||||||
"@bot-whatsapp/bot": "latest",
|
|
||||||
"@bot-whatsapp/cli": "latest",
|
|
||||||
"@bot-whatsapp/database": "latest",
|
|
||||||
"@bot-whatsapp/provider": "latest"
|
|
||||||
},
|
},
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
|
|||||||
@@ -3,79 +3,21 @@ const {
|
|||||||
createProvider,
|
createProvider,
|
||||||
createFlow,
|
createFlow,
|
||||||
addKeyword,
|
addKeyword,
|
||||||
addChild,
|
|
||||||
} = require('@bot-whatsapp/bot')
|
} = require('@bot-whatsapp/bot')
|
||||||
|
|
||||||
const TwilioProvider = require('@bot-whatsapp/provider/twilio')
|
const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp')
|
||||||
const MockAdapter = require('@bot-whatsapp/database/mock')
|
const MockAdapter = require('@bot-whatsapp/database/mock')
|
||||||
|
|
||||||
/**
|
const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA'])
|
||||||
* Declarando flujo hijo
|
.addAnswer('Bienvenido a mi tienda')
|
||||||
*/
|
|
||||||
|
|
||||||
const flowBolsos2 = addKeyword(['bolsos2', '2'])
|
|
||||||
.addAnswer('🤯 *MUCHOS* bolsos ...')
|
|
||||||
.addAnswer('y mas bolsos... bla bla')
|
|
||||||
|
|
||||||
const flowZapatos2 = addKeyword(['zapatos2', '2'])
|
|
||||||
.addAnswer('🤯 repito que tengo *MUCHOS* zapatos.')
|
|
||||||
.addAnswer('y algunas otras cosas.')
|
|
||||||
|
|
||||||
const flowZapatos = addKeyword(['zapatos', 'ZAPATOS'])
|
|
||||||
.addAnswer('🤯 Veo que elegiste zapatos')
|
|
||||||
.addAnswer('Tengo muchos zapatos...bla bla')
|
|
||||||
.addAnswer(
|
|
||||||
['Manda:', '*2*', 'o', '*zapatos2*', 'para mas información'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
},
|
|
||||||
[...addChild(flowZapatos2)]
|
|
||||||
)
|
|
||||||
|
|
||||||
const flowBolsos = addKeyword(['bolsos', 'BOLSOS'])
|
|
||||||
.addAnswer('🙌 Veo que elegiste bolsos')
|
|
||||||
.addAnswer('Tengo muchos bolsos...bla bla')
|
|
||||||
.addAnswer(
|
|
||||||
['Manda:', '*2*', 'o', '*bolsos2*', 'para mas información.'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
},
|
|
||||||
[...addChild(flowBolsos2)]
|
|
||||||
)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Declarando flujo principal
|
|
||||||
*/
|
|
||||||
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
|
|
||||||
.addAnswer('Hola, bienvenido a mi tienda')
|
|
||||||
.addAnswer('Como puedo ayudarte?')
|
.addAnswer('Como puedo ayudarte?')
|
||||||
.addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..'])
|
.addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..'])
|
||||||
.addAnswer(
|
|
||||||
['Para continuar escribe:', '*Zapatos*', 'o', '*Bolsos*'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
console.log(ctx['_data']['notifyName'])
|
|
||||||
},
|
|
||||||
[...addChild(flowBolsos), ...addChild(flowZapatos)]
|
|
||||||
)
|
|
||||||
|
|
||||||
const main = async () => {
|
const main = async () => {
|
||||||
const adapterDB = new MockAdapter()
|
const adapterDB = new MockAdapter()
|
||||||
const adapterFlow = createFlow([flowPrincipal])
|
const adapterFlow = createFlow([flowPrincipal])
|
||||||
const adapterProvider = createProvider(TwilioProvider, {
|
const adapterProvider = createProvider(WebWhatsappProvider)
|
||||||
accountSid: 'YOUR_ACCOUNT_SID',
|
|
||||||
authToken: 'YOUR_ACCOUNT_TOKEN',
|
|
||||||
vendorNumber: '+14155238886',
|
|
||||||
})
|
|
||||||
createBot({
|
createBot({
|
||||||
flow: adapterFlow,
|
flow: adapterFlow,
|
||||||
provider: adapterProvider,
|
provider: adapterProvider,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "bot-whatsapp-base-twilio-mysql",
|
"name": "bot-whatsapp-base",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "app.js",
|
"main": "app.js",
|
||||||
@@ -9,13 +9,7 @@
|
|||||||
},
|
},
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"body-parser": "^1.20.1",
|
"whatsapp-web.js": "^1.18.3"
|
||||||
"polka": "^0.5.2",
|
|
||||||
"twilio": "^3.83.4",
|
|
||||||
"@bot-whatsapp/bot": "latest",
|
|
||||||
"@bot-whatsapp/cli": "latest",
|
|
||||||
"@bot-whatsapp/database": "latest",
|
|
||||||
"@bot-whatsapp/provider": "latest"
|
|
||||||
},
|
},
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
### BASE APP
|
|
||||||
|
|
||||||
Este bot contiene un flujo basico en el cual una persona (cliente) escribe **"hola"** y el bot responde.
|
|
||||||
- Bienvenido a mi tienda
|
|
||||||
- Como puedo ayudarte?
|
|
||||||
- Tengo: Zapatos Bolsos etc..
|
|
||||||
|
|
||||||
------
|
|
||||||
- [Discord](https://link.codigoencasa.com/DISCORD)
|
|
||||||
- [Twitter](https://twitter.com/leifermendez)
|
|
||||||
- [Youtube](https://www.youtube.com/watch?v=5lEMCeWEJ8o&list=PL_WGMLcL4jzWPhdhcUyhbFU6bC0oJd2BR)
|
|
||||||
- [Telegram](https://t.me/leifermendez)
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
const {
|
|
||||||
createBot,
|
|
||||||
createProvider,
|
|
||||||
createFlow,
|
|
||||||
addKeyword,
|
|
||||||
} = require('@bot-whatsapp/bot')
|
|
||||||
|
|
||||||
const VenomProvider = require('@bot-whatsapp/provider/venom')
|
|
||||||
const MockAdapter = require('@bot-whatsapp/database/mock')
|
|
||||||
|
|
||||||
const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA'])
|
|
||||||
.addAnswer('Bienvenido a mi tienda')
|
|
||||||
.addAnswer('Como puedo ayudarte?')
|
|
||||||
.addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..'])
|
|
||||||
|
|
||||||
const main = async () => {
|
|
||||||
const adapterDB = new MockAdapter()
|
|
||||||
const adapterFlow = createFlow([flowPrincipal])
|
|
||||||
const adapterProvider = createProvider(VenomProvider)
|
|
||||||
|
|
||||||
createBot({
|
|
||||||
flow: adapterFlow,
|
|
||||||
provider: adapterProvider,
|
|
||||||
database: adapterDB,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
main()
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "bot-whatsapp-base-venom-memory",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"description": "",
|
|
||||||
"main": "app.js",
|
|
||||||
"scripts": {
|
|
||||||
"pre-copy": "cd .. && yarn run copy.lib base-venom-memory",
|
|
||||||
"start": "node app.js"
|
|
||||||
},
|
|
||||||
"keywords": [],
|
|
||||||
"dependencies": {
|
|
||||||
"venom-bot": "^4.3.7",
|
|
||||||
"@bot-whatsapp/bot": "latest",
|
|
||||||
"@bot-whatsapp/cli": "latest",
|
|
||||||
"@bot-whatsapp/database": "latest",
|
|
||||||
"@bot-whatsapp/provider": "latest"
|
|
||||||
},
|
|
||||||
"author": "",
|
|
||||||
"license": "ISC"
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
### BASE APP
|
|
||||||
|
|
||||||
Este bot contiene un flujo basico en el cual una persona (cliente) escribe **"hola"** y el bot responde.
|
|
||||||
- Bienvenido a mi tienda
|
|
||||||
- Como puedo ayudarte?
|
|
||||||
- Tengo: Zapatos Bolsos etc..
|
|
||||||
|
|
||||||
------
|
|
||||||
- [Discord](https://link.codigoencasa.com/DISCORD)
|
|
||||||
- [Twitter](https://twitter.com/leifermendez)
|
|
||||||
- [Youtube](https://www.youtube.com/watch?v=5lEMCeWEJ8o&list=PL_WGMLcL4jzWPhdhcUyhbFU6bC0oJd2BR)
|
|
||||||
- [Telegram](https://t.me/leifermendez)
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
const {
|
|
||||||
createBot,
|
|
||||||
createProvider,
|
|
||||||
createFlow,
|
|
||||||
addKeyword,
|
|
||||||
} = require('@bot-whatsapp/bot')
|
|
||||||
|
|
||||||
const VenomProvider = require('@bot-whatsapp/provider/venom')
|
|
||||||
const MockAdapter = require('@bot-whatsapp/database/mock')
|
|
||||||
|
|
||||||
const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA'])
|
|
||||||
.addAnswer('Bienvenido a mi tienda')
|
|
||||||
.addAnswer('Como puedo ayudarte?')
|
|
||||||
.addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..'])
|
|
||||||
|
|
||||||
const main = async () => {
|
|
||||||
const adapterDB = new MockAdapter()
|
|
||||||
const adapterFlow = createFlow([flowPrincipal])
|
|
||||||
const adapterProvider = createProvider(VenomProvider)
|
|
||||||
|
|
||||||
createBot({
|
|
||||||
flow: adapterFlow,
|
|
||||||
provider: adapterProvider,
|
|
||||||
database: adapterDB,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
main()
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "bot-whatsapp-base-venom-mongo",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"description": "",
|
|
||||||
"main": "app.js",
|
|
||||||
"scripts": {
|
|
||||||
"pre-copy": "cd .. && yarn run copy.lib base-venom-mongo",
|
|
||||||
"start": "node app.js"
|
|
||||||
},
|
|
||||||
"keywords": [],
|
|
||||||
"dependencies": {
|
|
||||||
"venom-bot": "^4.3.7",
|
|
||||||
"@bot-whatsapp/bot": "latest",
|
|
||||||
"@bot-whatsapp/cli": "latest",
|
|
||||||
"@bot-whatsapp/database": "latest",
|
|
||||||
"@bot-whatsapp/provider": "latest"
|
|
||||||
},
|
|
||||||
"author": "",
|
|
||||||
"license": "ISC"
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
### BASE APP
|
|
||||||
|
|
||||||
Este bot contiene un flujo basico en el cual una persona (cliente) escribe **"hola"** y el bot responde.
|
|
||||||
- Bienvenido a mi tienda
|
|
||||||
- Como puedo ayudarte?
|
|
||||||
- Tengo: Zapatos Bolsos etc..
|
|
||||||
|
|
||||||
------
|
|
||||||
- [Discord](https://link.codigoencasa.com/DISCORD)
|
|
||||||
- [Twitter](https://twitter.com/leifermendez)
|
|
||||||
- [Youtube](https://www.youtube.com/watch?v=5lEMCeWEJ8o&list=PL_WGMLcL4jzWPhdhcUyhbFU6bC0oJd2BR)
|
|
||||||
- [Telegram](https://t.me/leifermendez)
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
const {
|
|
||||||
createBot,
|
|
||||||
createProvider,
|
|
||||||
createFlow,
|
|
||||||
addKeyword,
|
|
||||||
} = require('@bot-whatsapp/bot')
|
|
||||||
|
|
||||||
const VenomProvider = require('@bot-whatsapp/provider/venom')
|
|
||||||
const MockAdapter = require('@bot-whatsapp/database/mock')
|
|
||||||
|
|
||||||
const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA'])
|
|
||||||
.addAnswer('Bienvenido a mi tienda')
|
|
||||||
.addAnswer('Como puedo ayudarte?')
|
|
||||||
.addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..'])
|
|
||||||
|
|
||||||
const main = async () => {
|
|
||||||
const adapterDB = new MockAdapter()
|
|
||||||
const adapterFlow = createFlow([flowPrincipal])
|
|
||||||
const adapterProvider = createProvider(VenomProvider)
|
|
||||||
|
|
||||||
createBot({
|
|
||||||
flow: adapterFlow,
|
|
||||||
provider: adapterProvider,
|
|
||||||
database: adapterDB,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
main()
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "bot-whatsapp-base-venom-mysql",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"description": "",
|
|
||||||
"main": "app.js",
|
|
||||||
"scripts": {
|
|
||||||
"pre-copy": "cd .. && yarn run copy.lib base-venom-mysql",
|
|
||||||
"start": "node app.js"
|
|
||||||
},
|
|
||||||
"keywords": [],
|
|
||||||
"dependencies": {
|
|
||||||
"venom-bot": "^4.3.7",
|
|
||||||
"@bot-whatsapp/bot": "latest",
|
|
||||||
"@bot-whatsapp/cli": "latest",
|
|
||||||
"@bot-whatsapp/database": "latest",
|
|
||||||
"@bot-whatsapp/provider": "latest"
|
|
||||||
},
|
|
||||||
"author": "",
|
|
||||||
"license": "ISC"
|
|
||||||
}
|
|
||||||
@@ -3,75 +3,21 @@ const {
|
|||||||
createProvider,
|
createProvider,
|
||||||
createFlow,
|
createFlow,
|
||||||
addKeyword,
|
addKeyword,
|
||||||
addChild,
|
|
||||||
} = require('@bot-whatsapp/bot')
|
} = require('@bot-whatsapp/bot')
|
||||||
|
|
||||||
const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp')
|
const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp')
|
||||||
const MockAdapter = require('@bot-whatsapp/database/mock')
|
const MockAdapter = require('@bot-whatsapp/database/mock')
|
||||||
|
|
||||||
/**
|
const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA'])
|
||||||
* Declarando flujo hijo
|
.addAnswer('Bienvenido a mi tienda')
|
||||||
*/
|
|
||||||
|
|
||||||
const flowBolsos2 = addKeyword(['bolsos2', '2'])
|
|
||||||
.addAnswer('🤯 *MUCHOS* bolsos ...')
|
|
||||||
.addAnswer('y mas bolsos... bla bla')
|
|
||||||
|
|
||||||
const flowZapatos2 = addKeyword(['zapatos2', '2'])
|
|
||||||
.addAnswer('🤯 repito que tengo *MUCHOS* zapatos.')
|
|
||||||
.addAnswer('y algunas otras cosas.')
|
|
||||||
|
|
||||||
const flowZapatos = addKeyword(['zapatos', 'ZAPATOS'])
|
|
||||||
.addAnswer('🤯 Veo que elegiste zapatos')
|
|
||||||
.addAnswer('Tengo muchos zapatos...bla bla')
|
|
||||||
.addAnswer(
|
|
||||||
['Manda:', '*2*', 'o', '*zapatos2*', 'para mas información'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
},
|
|
||||||
[...addChild(flowZapatos2)]
|
|
||||||
)
|
|
||||||
|
|
||||||
const flowBolsos = addKeyword(['bolsos', 'BOLSOS'])
|
|
||||||
.addAnswer('🙌 Veo que elegiste bolsos')
|
|
||||||
.addAnswer('Tengo muchos bolsos...bla bla')
|
|
||||||
.addAnswer(
|
|
||||||
['Manda:', '*2*', 'o', '*bolsos2*', 'para mas información.'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
},
|
|
||||||
[...addChild(flowBolsos2)]
|
|
||||||
)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Declarando flujo principal
|
|
||||||
*/
|
|
||||||
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
|
|
||||||
.addAnswer('Hola, bienvenido a mi tienda')
|
|
||||||
.addAnswer('Como puedo ayudarte?')
|
.addAnswer('Como puedo ayudarte?')
|
||||||
.addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..'])
|
.addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..'])
|
||||||
.addAnswer(
|
|
||||||
['Para continuar escribe:', '*Zapatos*', 'o', '*Bolsos*'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
console.log(ctx['_data']['notifyName'])
|
|
||||||
},
|
|
||||||
[...addChild(flowBolsos), ...addChild(flowZapatos)]
|
|
||||||
)
|
|
||||||
|
|
||||||
const main = async () => {
|
const main = async () => {
|
||||||
const adapterDB = new MockAdapter()
|
const adapterDB = new MockAdapter()
|
||||||
const adapterFlow = createFlow([flowPrincipal])
|
const adapterFlow = createFlow([flowPrincipal])
|
||||||
const adapterProvider = createProvider(WebWhatsappProvider)
|
const adapterProvider = createProvider(WebWhatsappProvider)
|
||||||
|
|
||||||
createBot({
|
createBot({
|
||||||
flow: adapterFlow,
|
flow: adapterFlow,
|
||||||
provider: adapterProvider,
|
provider: adapterProvider,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "bot-whatsapp-base-wweb-memory",
|
"name": "bot-whatsapp-base",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "app.js",
|
"main": "app.js",
|
||||||
@@ -9,11 +9,7 @@
|
|||||||
},
|
},
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"whatsapp-web.js": "^1.18.3",
|
"whatsapp-web.js": "^1.18.3"
|
||||||
"@bot-whatsapp/bot": "latest",
|
|
||||||
"@bot-whatsapp/cli": "latest",
|
|
||||||
"@bot-whatsapp/database": "latest",
|
|
||||||
"@bot-whatsapp/provider": "latest"
|
|
||||||
},
|
},
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
|
|||||||
@@ -3,75 +3,21 @@ const {
|
|||||||
createProvider,
|
createProvider,
|
||||||
createFlow,
|
createFlow,
|
||||||
addKeyword,
|
addKeyword,
|
||||||
addChild,
|
|
||||||
} = require('@bot-whatsapp/bot')
|
} = require('@bot-whatsapp/bot')
|
||||||
|
|
||||||
const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp')
|
const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp')
|
||||||
const MockAdapter = require('@bot-whatsapp/database/mock')
|
const MockAdapter = require('@bot-whatsapp/database/mock')
|
||||||
|
|
||||||
/**
|
const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA'])
|
||||||
* Declarando flujo hijo
|
.addAnswer('Bienvenido a mi tienda')
|
||||||
*/
|
|
||||||
|
|
||||||
const flowBolsos2 = addKeyword(['bolsos2', '2'])
|
|
||||||
.addAnswer('🤯 *MUCHOS* bolsos ...')
|
|
||||||
.addAnswer('y mas bolsos... bla bla')
|
|
||||||
|
|
||||||
const flowZapatos2 = addKeyword(['zapatos2', '2'])
|
|
||||||
.addAnswer('🤯 repito que tengo *MUCHOS* zapatos.')
|
|
||||||
.addAnswer('y algunas otras cosas.')
|
|
||||||
|
|
||||||
const flowZapatos = addKeyword(['zapatos', 'ZAPATOS'])
|
|
||||||
.addAnswer('🤯 Veo que elegiste zapatos')
|
|
||||||
.addAnswer('Tengo muchos zapatos...bla bla')
|
|
||||||
.addAnswer(
|
|
||||||
['Manda:', '*2*', 'o', '*zapatos2*', 'para mas información'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
},
|
|
||||||
[...addChild(flowZapatos2)]
|
|
||||||
)
|
|
||||||
|
|
||||||
const flowBolsos = addKeyword(['bolsos', 'BOLSOS'])
|
|
||||||
.addAnswer('🙌 Veo que elegiste bolsos')
|
|
||||||
.addAnswer('Tengo muchos bolsos...bla bla')
|
|
||||||
.addAnswer(
|
|
||||||
['Manda:', '*2*', 'o', '*bolsos2*', 'para mas información.'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
},
|
|
||||||
[...addChild(flowBolsos2)]
|
|
||||||
)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Declarando flujo principal
|
|
||||||
*/
|
|
||||||
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
|
|
||||||
.addAnswer('Hola, bienvenido a mi tienda')
|
|
||||||
.addAnswer('Como puedo ayudarte?')
|
.addAnswer('Como puedo ayudarte?')
|
||||||
.addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..'])
|
.addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..'])
|
||||||
.addAnswer(
|
|
||||||
['Para continuar escribe:', '*Zapatos*', 'o', '*Bolsos*'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
console.log(ctx['_data']['notifyName'])
|
|
||||||
},
|
|
||||||
[...addChild(flowBolsos), ...addChild(flowZapatos)]
|
|
||||||
)
|
|
||||||
|
|
||||||
const main = async () => {
|
const main = async () => {
|
||||||
const adapterDB = new MockAdapter()
|
const adapterDB = new MockAdapter()
|
||||||
const adapterFlow = createFlow([flowPrincipal])
|
const adapterFlow = createFlow([flowPrincipal])
|
||||||
const adapterProvider = createProvider(WebWhatsappProvider)
|
const adapterProvider = createProvider(WebWhatsappProvider)
|
||||||
|
|
||||||
createBot({
|
createBot({
|
||||||
flow: adapterFlow,
|
flow: adapterFlow,
|
||||||
provider: adapterProvider,
|
provider: adapterProvider,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "bot-whatsapp-base-wweb-mongo",
|
"name": "bot-whatsapp-base",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "app.js",
|
"main": "app.js",
|
||||||
@@ -9,11 +9,7 @@
|
|||||||
},
|
},
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"whatsapp-web.js": "^1.18.3",
|
"whatsapp-web.js": "^1.18.3"
|
||||||
"@bot-whatsapp/bot": "latest",
|
|
||||||
"@bot-whatsapp/cli": "latest",
|
|
||||||
"@bot-whatsapp/database": "latest",
|
|
||||||
"@bot-whatsapp/provider": "latest"
|
|
||||||
},
|
},
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
|
|||||||
@@ -3,75 +3,21 @@ const {
|
|||||||
createProvider,
|
createProvider,
|
||||||
createFlow,
|
createFlow,
|
||||||
addKeyword,
|
addKeyword,
|
||||||
addChild,
|
|
||||||
} = require('@bot-whatsapp/bot')
|
} = require('@bot-whatsapp/bot')
|
||||||
|
|
||||||
const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp')
|
const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp')
|
||||||
const MockAdapter = require('@bot-whatsapp/database/mock')
|
const MockAdapter = require('@bot-whatsapp/database/mock')
|
||||||
|
|
||||||
/**
|
const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA'])
|
||||||
* Declarando flujo hijo
|
.addAnswer('Bienvenido a mi tienda')
|
||||||
*/
|
|
||||||
|
|
||||||
const flowBolsos2 = addKeyword(['bolsos2', '2'])
|
|
||||||
.addAnswer('🤯 *MUCHOS* bolsos ...')
|
|
||||||
.addAnswer('y mas bolsos... bla bla')
|
|
||||||
|
|
||||||
const flowZapatos2 = addKeyword(['zapatos2', '2'])
|
|
||||||
.addAnswer('🤯 repito que tengo *MUCHOS* zapatos.')
|
|
||||||
.addAnswer('y algunas otras cosas.')
|
|
||||||
|
|
||||||
const flowZapatos = addKeyword(['zapatos', 'ZAPATOS'])
|
|
||||||
.addAnswer('🤯 Veo que elegiste zapatos')
|
|
||||||
.addAnswer('Tengo muchos zapatos...bla bla')
|
|
||||||
.addAnswer(
|
|
||||||
['Manda:', '*2*', 'o', '*zapatos2*', 'para mas información'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
},
|
|
||||||
[...addChild(flowZapatos2)]
|
|
||||||
)
|
|
||||||
|
|
||||||
const flowBolsos = addKeyword(['bolsos', 'BOLSOS'])
|
|
||||||
.addAnswer('🙌 Veo que elegiste bolsos')
|
|
||||||
.addAnswer('Tengo muchos bolsos...bla bla')
|
|
||||||
.addAnswer(
|
|
||||||
['Manda:', '*2*', 'o', '*bolsos2*', 'para mas información.'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
},
|
|
||||||
[...addChild(flowBolsos2)]
|
|
||||||
)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Declarando flujo principal
|
|
||||||
*/
|
|
||||||
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
|
|
||||||
.addAnswer('Hola, bienvenido a mi tienda')
|
|
||||||
.addAnswer('Como puedo ayudarte?')
|
.addAnswer('Como puedo ayudarte?')
|
||||||
.addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..'])
|
.addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..'])
|
||||||
.addAnswer(
|
|
||||||
['Para continuar escribe:', '*Zapatos*', 'o', '*Bolsos*'],
|
|
||||||
{ capture: true },
|
|
||||||
(ctx) => {
|
|
||||||
console.log('Aqui puedes ver más info del usuario...')
|
|
||||||
console.log('Puedes enviar un mail, hook, etc..')
|
|
||||||
console.log(ctx)
|
|
||||||
console.log(ctx['_data']['notifyName'])
|
|
||||||
},
|
|
||||||
[...addChild(flowBolsos), ...addChild(flowZapatos)]
|
|
||||||
)
|
|
||||||
|
|
||||||
const main = async () => {
|
const main = async () => {
|
||||||
const adapterDB = new MockAdapter()
|
const adapterDB = new MockAdapter()
|
||||||
const adapterFlow = createFlow([flowPrincipal])
|
const adapterFlow = createFlow([flowPrincipal])
|
||||||
const adapterProvider = createProvider(WebWhatsappProvider)
|
const adapterProvider = createProvider(WebWhatsappProvider)
|
||||||
|
|
||||||
createBot({
|
createBot({
|
||||||
flow: adapterFlow,
|
flow: adapterFlow,
|
||||||
provider: adapterProvider,
|
provider: adapterProvider,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "bot-whatsapp-base-wweb-mysql",
|
"name": "bot-whatsapp-base",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "app.js",
|
"main": "app.js",
|
||||||
@@ -9,11 +9,7 @@
|
|||||||
},
|
},
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"whatsapp-web.js": "^1.18.3",
|
"whatsapp-web.js": "^1.18.3"
|
||||||
"@bot-whatsapp/bot": "latest",
|
|
||||||
"@bot-whatsapp/cli": "latest",
|
|
||||||
"@bot-whatsapp/database": "latest",
|
|
||||||
"@bot-whatsapp/provider": "latest"
|
|
||||||
},
|
},
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
|
|||||||
Reference in New Issue
Block a user