Sign inSign up

aldinokemal2104/go-whatsapp-web-multidevice

By aldinokemal2104

•Updated 5 days ago

Golang Whatsapp Web Multi Device

Image
Developer tools
20

100K+

aldinokemal2104/go-whatsapp-web-multidevice repository overview

⁠WhatsApp API Multi Device Version

release version

Build Image

release windows release linux release macos

⁠Support ARM Architecture

Now that we support ARM64 for Linux:

⁠Feature

  • Send WhatsApp message via http API, docs/openapi.yml⁠ for more details
  • Mention someone
    • @phoneNumber
    • example: Hello @628974812XXXX, @628974812XXXX
  • Post Whatsapp Status
  • Compress image before send
  • Compress video before send
  • Change OS name become your app (it's the device name when connect via mobile)
    • --os=Chrome or --os=MyApplication
  • Basic Auth (able to add multi credentials)
    • --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"
  • Webhook Secret Our webhook will be sent to you with an HMAC header and a sha256 default key secret.
    You may modify this by using the option below:
    • --webhook-secret="secret"

⁠Configuration

You can configure the application using either command-line flags (shown above) or environment variables. Configuration can be set in three ways (in order of priority):

  1. Command-line flags (highest priority)
  2. Environment variables
  3. .env file (lowest priority)
⁠Environment Variables

To use environment variables:

  1. Copy .env.example to .env in your project root
  2. Modify the values in .env according to your needs
  3. Or set the same variables as system environment variables

See .env.example⁠ for all available configuration options.

Note: Command-line flags will override any values set in environment variables or .env file.

  • For more command ./main --help
⁠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 (docker compose)

create docker-compose.yml file with the following configuration:

services:
  whatsapp:
    image: aldinokemal2104/go-whatsapp-web-multidevice
    container_name: whatsapp
    restart: always
    ports:
      - "3000:3000"
    volumes:
      - whatsapp:/app/storages
    command:
      - --basic-auth=admin:admin
      - --port=3000
      - --debug=true
      - --os=Chrome
      - --account-validation=false

volumes:
  whatsapp:

or with env

services:
  whatsapp:
    image: aldinokemal2104/go-whatsapp-web-multidevice
    container_name: whatsapp
    restart: always
    ports:
      - "3000:3000"
    volumes:
      - whatsapp:/app/storages
    environment:
      - APP_BASIC_AUTH=admin:admin
      - APP_PORT=3000
      - APP_DEBUG=true
      - APP_OS=Chrome
      - APP_ACCOUNT_VALIDATION=false

volumes:
  whatsapp:

⁠Current API

FeatureMenuMethodURL
✅Login with Scan QRGET/app/login
✅Login With Pair CodeGET/app/login-with-code
✅LogoutGET/app/logout
✅ReconnectGET/app/reconnect
✅DevicesGET/app/devices
✅User InfoGET/user/info
✅User AvatarGET/user/avatar
✅User Change AvatarPOST/user/avatar
✅User My GroupsGET/user/my/groups
✅User My NewsletterGET/user/my/newsletters
✅User My Privacy SettingGET/user/my/privacy
✅Send MessagePOST/send/message
✅Send ImagePOST/send/image
✅Send AudioPOST/send/audio
✅Send FilePOST/send/file
✅Send VideoPOST/send/video
✅Send ContactPOST/send/contact
✅Send LinkPOST/send/link
✅Send LocationPOST/send/location
✅Send Poll / VotePOST/send/poll
✅Send PresencePOST/send/presence
✅Revoke MessagePOST/message/:message_id/revoke
✅React MessagePOST/message/:message_id/reaction
✅Delete MessagePOST/message/:message_id/delete
✅Edit MessagePOST/message/:message_id/update
✅Read Message (DM)POST/message/:message_id/read
❌Star MessagePOST/message/:message_id/star
✅Join Group With LinkPOST/group/join-with-link
✅Leave GroupPOST/group/leave
✅Create GroupPOST/group
✅Add Participants in GroupPOST/group/participants
✅Remove Participant in GroupPOST/group/participants/remove
✅Promote Participant in GroupPOST/group/participants/promote
✅Demote Participant in GroupPOST/group/participants/demote
✅Unfollow NewsletterPOST/newsletter/unfollow
✅ = Available
❌ = Not Available Yet

Tag summary

Content type

Image

Digest

sha256:caec63477…

Size

83.1 MB

Last updated

5 days ago

docker pull aldinokemal2104/go-whatsapp-web-multidevice