Menghubungkan WhatsApp dengan Telegram Menggunakan Matterbridge

2021.06.17 00:00

Blog

Pernah enggak kamu merasa sebel dengan banyaknya aplikasi chatting yang beredar di dunia maya? Gatel liatnya. Ditambah lagi aplikasi-aplikasi ini tidak dapat saling terhubung. Istilahnya “walled garden”. Taman nan indah dimana kita sebagai pengguna dikurung oleh pengembang. Retorikanya, kenapa? Kenapa enggak seperti email yang bisa saling komunikasi walau beda server!!

Duh.. Qo jadi marah-marah..

Kali ini kita akan mencoba menghubungkan WhatsApp dan Telegram menggunakan Matterbridge. Matterbridge adalah sebuah perangkat lunak yang berfungsi sebagai jembatan antara layanan perpesanan alias chatting misalnya mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft teams, nextcloud, mumble, vk dll. Banyak ya?

Tapi sekarang kita coba dua aja dulu. Yaitu WhatsApp & Telegram.

Persiapan 1 : bikin 🤖 bot Telegram, langsung saja chat ke @BotFather.

Persiapan 2 : bikin 🤖 bot WhatsApp, udah ada belum sih? Gak bakal ada ya kayaknya? Jadi kita terpaksa membuat akun baru yang fungsinya sebagai bot “kurir” chat dari Telegram ke WhatsApp. Pastikan kamu menggunakan nomer enggak penting buat membuat akun baru ini, karena ada kemungkinan diblokir oleh pihak WhatsApp. Oh iya, di atas, 🤖 bot Telegram juga berfungsi sama yaitu kurir. Dari WhatsApp ke Telegram.

Persiapan 3 : cari id grup Telegram yang mau dihubungkan, caranya gampil tinggal cek di “Message details”.

Persiapan 4 : buat file konfigurasi, misal mbconf.toml, sesuaikan bot token dan grup id milik kamu.

[telegram.mytelegram]
#See https://core.telegram.org/bots#6-botfather
#and https://www.linkedin.com/pulse/telegram-bots-beginners-marco-frau
Token="1801129960:AAEqJAnEBxNCHUMxyvPippnQblr6A8H0Z2E"
RemoteNickFormat="{NICK}: "
MessageFormat="HTMLNick"

[whatsapp.mywhatsapp]
# Number you will use as a relay bot. Tip: Get some disposable sim card, don't rely on
# your own number.
Number="+62895618439977"

# First time that you login you will need to scan QR code, then credentials will be saved in
# a session file.
# If you won't set SessionFile then you will need to scan QR code on every restart.
# optional (by default the session is stored only in memory, till restarting matterbridge)
SessionFile="session-62895618439977.gob"

# If your terminal is white we need to invert QR code in order for it to be scanned properly
# optional (default false)
QrOnWhiteTerminal=false

# Messages will be seen by other WhatsApp contacts as coming from the bridge.
# Original nick will be part of the message.
RemoteNickFormat="{NICK}: "

[[gateway]]
name="gateway1"
enable=true

[[gateway.inout]]
account="whatsapp.mywhatsapp"
channel=""

[[gateway.inout]]
account="telegram.mytelegram"
channel=""

Persiapan kita anggap selesai di sini. Sebenarnya ada yang kurang. Kita belum mendapatkan id grup WhatsApp. Sayangnya WhatsApp tidak menyediakan informasi ini di aplikasinya. Jadi sementara kita isi nama grup aja dulu. Lanjut..

Unduh binary Matterbridge

Di sini saya menggunakan Raspberry Pi 3, jadi saya menggunakan binary dengan arsitektur armv6. Kamu cari binary yang sesuai dengan komputer kamu ya! Unduh di : https://github.com/42wim/matterbridge/releases/latest

Eksekusi binary Matterbridge

Sebelumnya beri hak eksekusi ke binary yang kita unduh tadi.

chmod +x "binary-matterbridge"

Jalankan Matterbridge dengan file konfigurasi yang sudah kita buat.

$ ./mb-armv6 -conf mbconf.toml

Nah di sini eksekusi akan gagal karena id grup WhatsApp salah. Dan di pesan error kita bisa melihat id grup yang benar. Edit file konfigurasi menggunakan grup id yang benar kemudian eksekusi ulang Matterbridge. Jika tidak ada error kita akan mendapatkan QR Code di layar terminal yang harus kita scan melalui aplikasi WhatsApp, seperti saat kita akan login WhatsApp web. Jelasnya kamu dapat melihat video berikut :

atau

Assalamualaykum!

Referensi

https://t.me/halamanbelakang

https://chat.whatsapp.com/HmJhO0HmagP0pXJnUWVwtc

https://t.me/joinchat/AlTNLyLmL35lYTZl

https://github.com/42wim/matterbridge