- Notifications
You must be signed in to change notification settings - Fork7
snowfluke/wagate
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A very simple typescript whatsapp gateway via expressjs REST API using whatsapp-web.js.
- For more process-oriented whatsapp bot without a REST API, you can visit:https://github.com/snowfluke/wajs-bot-boilerplate
- For dial-based bot whatsapp, visit:https://github.com/snowfluke/dial-wabot-boilerplate
Any features request and contribution are welcome! ^_^
- Make sure you clone this repo first
- Copy
.env.example
and rename it to.env
- Change the configuration there
- Don't forget to change the
logo.jpg
in the root directory
- Node.js v20+ , I've setups to 20 in package.json, you can change it but generally it works in Node.js v12 higher
- npm package manager
- You can go for docker for an easy setups, or if you deploy it manually you will need to install Google Chrome
- On an Ubuntu server, you will need to run this command:
sudo apt-get update&& sudo apt-get install -y \ gconf-service \ libgbm-dev \ libasound2 \ libatk1.0-0 \ libc6 \ libcairo2 \ libcups2 \ libdbus-1-3 \ libexpat1 \ libfontconfig1 \ libgcc1 \ libgconf-2-4 \ libgdk-pixbuf2.0-0 \ libglib2.0-0 \ libgtk-3-0 \ libnspr4 \ libpango-1.0-0 \ libpangocairo-1.0-0 \ libstdc++6 \ libx11-6 \ libx11-xcb1 \ libxcb1 \ libxcomposite1 \ libxcursor1 \ libxdamage1 \ libxext6 \ libxfixes3 \ libxi6 \ libxrandr2 \ libxrender1 \ libxss1 \ libxtst6 \ ca-certificates \ fonts-liberation \ libappindicator1 \ libnss3 \ lsb-release \ xdg-utils \ wget
cd
into the project directory- run
npm install
- run
npm run build
- run
npm run start
- After that you will need to scan the QR that is printed to the terminal
- You're basically done, or if you want to be more robust, you can use
pm2
for a better process management
You can commented out this line
Line 57 infdbf04b
awaitthis.helper.delay(); |
Line 62 infdbf04b
awaitthis.helper.delay(); |
- [GET] /api/v1/
Response:
{"message":"REST API is working"}
- [POST][Multipart/form-data] /api/v1/send/
name | value |
---|---|
number | 628XXX... |
content | your message |
Response:
{"status":"success","code":200,"message":"Message sucessfully sent","data": {"number":"628XXX...","content":"Hi, mom!","type":"text" }}
- [POST][Multipart/form-data] /api/v1/send/media
name | value |
---|---|
number | 628XXX... |
content | your message |
file | binary file |
Response:
{"status":"success","code":200,"message":"Message sucessfully sent","data": {"number":"628XXX...","content":"this is your media caption","type":"media" }}
{"status":"error","code":400,"message":"Bad Image"}
Code | Status |
---|---|
200 | SUCCESS |
201 | CREATED |
204 | NO CONTENT |
400 | BAD REQUEST |
401 | UNAUTHORIZED |
403 | FORBIDDEN |
404 | NOT FOUND |
408 | TIME OUT |
429 | TOO MANY REQUEST |
500 | INTERNAL SERVER ERROR |
503 | SERVICE UNAVAILABLE |
- Delete
.wwebjs_auth
folder - Delete
node_modules
folder - Delete
package-lock.json
file - Logout the linked devices on your Whatsapp
- Remove
whatsapp-web.js
frompackage.json
- Run
npm install github:pedroslopez/whatsapp-web.js#webpack-exodus