whatsapp-multi-devicewhatsapp-apiwhatsapprestgolanggogolang-whatsapp-apigolang-whatsappbotwhatsapp-web-multi-devicewhatsapp-api-gorest-api
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
3 years ago | |
|---|---|---|
| .github/workflows | 3 years ago | |
| docker | 4 years ago | |
| docs | 3 years ago | |
| src | 3 years ago | |
| .gitignore | 3 years ago | |
| docker-compose.yml | 3 years ago | |
| readme.md | 3 years ago | |
readme.md
Go Whatsapp API Multi Device Version
Feature
- Send whatsapp via http API, docs/openapi.yml for more details
- Compress image before send
- Compress video before send
- Change OS name become your app (it's the device name when connect via mobile)
--os=Chromeor--os=MyApplication
- Basic Auth (able to add multi account)
--basic-auth=kemal:secret,toni:password,userName:secretPassword, or you can simplify-b=kemal:secret,toni:password,userName:secretPassword
- Customizable port and debug mode
--port 8000--debug true
- Auto reply message
--autoreply="Don't reply this message"
- Webhook for received message
--webhook="http://yourwebhook.site/handler", or you can simplify-w="http://yourwebhook.site/handler"
- For more command
./main --help
Required (without docker)
- Mac OS:
brew install vipsbrew install ffmpegexport CGO_CFLAGS_ALLOW="-Xpreprocessor"
- Linux:
sudo apt updatesudo apt install libvips-devsudo apt install ffmpeg
- Windows (not recomended, prefer using WSL):
- install vips library, or you can check here https://www.libvips.org/install.html
- install ffmpeg, download here
- add to vips & ffmpg to environment variable
How to use
Basic
- Clone this repo
git clone https://github.com/aldinokemal/go-whatsapp-web-multi-device - open via cmd/terminal
- run
cd src - run
go run main.go - open
http://localhost:3000 - run
go run main.go --helpfor more detail flags
Docker (you don't need to install in required)
- Clone this repo
git clone https://github.com/aldinokemal/go-whatsapp-web-multi-device - open via cmd/terminal
- run
docker-compose up -d --build - open
http://localhost:3000
Build your own binary
- Clone this repo
git clone https://github.com/aldinokemal/go-whatsapp-web-multi-device - open via cmd/terminal
- run
go install github.com/markbates/pkger/cmd/pkger@latest - run
cd src - run
- Linux & MacOS:
pkger && go build -o whatsapp - Windows (CMD, not PowerShell):
pkger.exe && go build -o whatsapp.exe
- Linux & MacOS:
- run
- Linux & MacOS:
./whatsapp- run
./whatsapp --helpfor more detail flags
- run
- Windows:
.\whatsapp.exeor you can double-click it- run
.\whatsapp.exe --helpfor more detail flags
- run
- Linux & MacOS:
- open
http://localhost:3000in browser
Production Mode (docker)
docker run --detach --publish=3000:3000 --name=whatsapp --restart=always --volume=$(docker volume create --name=whatsapp):/app/storages aldinokemal2104/go-whatsapp-web-multidevice --autoreply="Dont't reply this message please"
Production Mode (binary)
- download binary from release
You can fork or edit this source code !
Current API
You can check docs/openapi.yml for detail API
| Feature | Menu | Method | URL |
|---|---|---|---|
| ✅ | Login | GET | /app/login |
| ✅ | Logout | GET | /app/logout |
| ✅ | Reconnect | GET | /app/reconnect |
| ✅ | User Info | GET | /user/info |
| ✅ | User Avatar | GET | /user/avatar |
| ✅ | User My Group List | GET | /user/my/groups |
| ✅ | User My Privacy Setting | GET | /user/my/privacy |
| ✅ | Send Message | POST | /send/message |
| ✅ | Send Image | POST | /send/image |
| ✅ | Send File | POST | /send/file |
| ✅ | Send Video | POST | /send/video |
| ✅ | Send Contact | POST | /send/contact |
| ✅ | Send Link | POST | /send/link |
✅ = Available
❌ = Not Available Yet
App User Interface
- Homepage

- Login

- Send Message

- Send Image

- Send File

- Send Video

- Send Contact

- User Info

- User Avatar

- User Privacy

- User Group

- Auto Reply

- Basic Auth Prompt

Mac OS NOTE
- Please do this if you have an error (invalid flag in pkg-config --cflags: -Xpreprocessor)
export CGO_CFLAGS_ALLOW="-Xpreprocessor"