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.
Hugo Thunnissen d9c1200d4d Update go-whatsapp 8 months ago
botcommands Add general "Accepts" method to BridgeContext and s/WhappBridge/TextMessageProxy/g 9 months ago
bridge Add general "Accepts" method to BridgeContext and s/WhappBridge/TextMessageProxy/g 9 months ago
core Add general "Accepts" method to BridgeContext and s/WhappBridge/TextMessageProxy/g 9 months ago
dcwhapp Restructure project into multiple packages 10 months ago
whappdc Only use contact name when it's not an empty string 9 months ago
.gitignore Initial commit: working echo command + config boilerplate 10 months ago
README.md Add README and example config 10 months ago
config.yml.example Correct spelling 9 months ago
go.mod Update go-whatsapp 8 months ago
go.sum Update go-whatsapp 8 months ago
main.go Remove redundantly named import 9 months ago

README.md

Whapp-Deltachat

Whapp-Deltachat is a bridge between WhatsApp and Deltachat. It uses go-whatsapp and go-deltachat respectively to map verified deltachat groups to whatsapp conversations. It is currently not full-featured and most likely is ridden with bugs, but pretty usable. Use at your own risk 🤓.

Requirements

  • A system that go-deltachat will run on. It should work on all systems that are supported by golang and libdeltachat, but the static object file that is distributed with go-deltachat has been compiled on an amd64 linux system, so for other architectures you will need to compile the lib yourself.
  • An Android or iOS device that is capable of running the WhatsApp mobile app. go-whatsapp uses the WhatsApp Web API, so when you use this bridge you will still need to have a device that is running WhatsApp somewhere.

Install

There are no stable releases as of yet, so the only installation method right now is just installing from source.

Installation example:

# clone
git clone git@github.com:hugot/whapp-deltachat.git

# build
cd ./whapp-deltachat
go build .

cp ./config.yml.example ./config.yml

# Now edit the config.yml file
"$EDITOR" ./config.yml

# Finally, run the program.
./whapp-deltachat ./config.yml

First run

During the first time the program runs, there are two QR codes that need to be scanned: First, the program will print a QR code to stdout. Scan this QR code from your deltachat client to become a verified contact of the bridge. The bridge will then create a verified chat with you and send you a QR code to scan from your WhatsApp mobile app. When you have done this, the bridge will start doing it’s thing.

Known bug during first run

The first time that the bridge runs it will receive a lot of messages at the same time and not in chronological order. This means that pre-existing WhatsApp messages will not be in chronological order when they appear in your deltachat client. New messages received while the bridge is running will of course arrive in chronological order.

Feature checklist

This is a list of features that are either implemented already or will be implemented in the future.

  • Receive text messages
  • Receive image messages
  • Receive video messages
  • Receive audio messages
  • Receive document messages
  • Receive contact (vcf) messages
  • Send text messages
  • Send image messages
  • Send video messages
  • Send audio messages
  • Send document messages
  • Send contact (vcf) messages
  • See chat’s profile pic
  • Sync user’s deltachat profile pic with whatsapp profile pic
  • Change group chat name

This code is in no way affiliated with, authorized, maintained, sponsored or endorsed by WhatsApp or any of its affiliates or subsidiaries. This is an independent and unofficial software. Use at your own risk.