View on GitHub

WhatsApp NET Client

WhatsApp Client Library for .NET Developer

Apa itu WhatsApp NET Client?

WhatsApp NET Client adalah library gratis untuk .NET Developer yang digunakan untuk mengembangkan aplikasi WhatsApp klien berbasis desktop. Library ini dikembangkan di atas teknologi .NET dengan menggunakan bahasa pemrograman C#, sehingga bisa juga digunakan untuk semua bahasa pemrograman .NET selain C# seperti VB.NET, F#, C++ dan bahasa .NET lainnya.

Jadi dengan menggunakan library ini Anda bisa dengan mudah membuat aplikasi-aplikasi yang membutuhkan komunikasi dengan aplikasi WhatsApp Web, seperti:

Arsitektur

Saat ini pengembangan WhatsApp NET Client menggunakan engine Baileys - WhatsApp Web API untuk berkomunikasi secara langsung dengan WhatsApp server menggunakan WebSocket.

Fitur

Feature Status
Headless/no window
Otomatis menyimpan sesi login (jadi scan qr code WAnya cukup sekali saja)
Mendukung penggunaan multi account WA, untuk contohnya bisa Anda lihat di https://github.com/WhatsAppNETClient/WhatsAppNETClientMultiAccount
Grab contacts untuk membaca kontak WA sehingga hasilnya bisa disimpan ke database
Grab groups dan members untuk membaca data group beserta anggotanya sehingga hasilnya juga bisa disimpan ke database
Mengirim pesan personal atau group
Mengirim banyak pesan (broadcast)
Mengirim pesan dengan gambar, audio, video, stiker, gif dan semua jenis dokumen
Mengirim pesan dengan gambar, audio, video, dan semua jenis dokumen via URL
Mengirim pesan dengan tipe list, button dan CTA button
Bisa juga menambahkan gambar di pesan dengan tipe button
ReplyMessage (quoted message)
Mention user
Bisa menyimpan gambar, audio, video, semua jenis dokumen termasuk vcard dari pesan yang masuk
Bisa juga mengirim dan membaca pesan dengan tipe vcard, location, live location
Bisa membuat group, menambahkan/menghapus member group (syaratnya nomor WA harus sebagai admin)
Bisa membaca pesan dari group dan mendapatkan informasi pengirimnya
Bisa menghapus pesan yang ada di group
Bisa mendapatkan nomor WA yang digunakan untuk scan QRCode
Cek histori pesan berdasarkan nomor WA, jumlah pesan yang ditampilkan bisa diatur lewat parameter limit
Subscribe event ChangeState untuk memonitoring perubahan status koneksi
Subscribe event OnUnreadMessage untuk memonitoring pesan yang belum terbaca
Subscribe event OnCreatedGroupStatus untuk memonitoring status pembuatan group
Subscribe event GroupJoin untuk memonitoring user yang join ke group
Subscribe event GroupLeave untuk memonitoring user keluar dari group
Subscribe event OnReceiveBusinessProfiles untuk memonitoring hasil pengecekan profil bisnis
Subscribe event ReceiveMessage, untuk memonitoring pesan masuk
Subscribe event ReceiveMessageStatus untuk memonitoring status pesan yang dikirim berhasil atau gagal.
Subscribe event MessageAck untuk memonitoring status pesan setelah di kirim (pending, sudah diterima/baca, dll)
Tersedia fitur untuk verifikasi valid atau tidaknya nomor WA. Fitur ini cocok untuk mengirimkan broadcast ke nomor-nomor yang belum ada di daftar kontak atau nomor-nomor hasil generate.
Tersedia fitur untuk mengecek profil bisnis
Tersedia juga fitur REST API, sehingga semua fitur library WhatsApp NET Client juga bisa diakses via REST API baik secara local maupun remote. Untuk contoh penggunaannya bisa Anda lihat di https://github.com/WhatsAppNETClient/WhatsAppNETAPIRestApi
Archive chat (semua atau berdasarkan nomor WA)
Delete chat (semua atau berdasarkan nomor WA)
Pengesetan status online/offline
Logout
Bisa dengan mudah diintegrasikan dengan semua jenis database

Persyaratan Sistem

Instalasi

1. Menginstall Node.js

Kenapa harus menginstall Node.js? Karena dalam pengembangannya WhatsApp NET Client ini, saya menggunakan Baileys - WhatsApp Web API sebagai engine untuk berkomunikasi dengan WhatsApp, sehingga diperlukan Node.js karena Baileys - WhatsApp Web API sendiri dikembangkan di atas platform ini.

Untuk menginstall Node.js sangat mudah sekali, Anda tinggal download file instalasinya di sini dengan memilih versi yang sesuai dengan panduan saya di atas. Setelah itu tinggal lakukan instalasi dan mengikuti petunjuk yang ada.

2. Mengclone Repository WhatsAppNETAPINodeJs

WhatsApp NET API NodeJs adalah program kecil yang saya tulis menggunakan bahasa pemrograman java script yang di dalamnya terdapat module untuk mengakses library Baileys - WhatsApp Web API dan node-signalr.

Untuk mengclone repository WhatsApp NET API NodeJs caranya sangat gampang, Anda tinggal mendownload software git dan menginstallnya.

Setelah itu Anda jalankan command prompt kemudian masuk ke drive C atau D, kemudian ketik perintah berikut:

git clone https://github.com/WhatsAppNETClient/WhatsAppNETAPINodeJs2.git

Jangan lupa menekan enter ya hehehe, setelah itu lanjutkan dengan mengetikan perintah cd WhatsAppNETAPINodeJs2, kemudian ketikan perintah terakhir yaitu npm install dan sekali lagi jangan lupa di enter.

Kemudian tunggu sampai proses instalasi module-module Node.js yang dibutuhkan selesai. Kalo untuk tampilan prosesnya lebih kurang seperti berikut, jadi mungkin di pc/laptop Anda akan mendapatkan tampilan yang berbeda.

Setelah itu baca file README yang ada di folder C:\WhatsAppNETAPINodeJs2 kemudian lakukan langkah-langkah sesuai instruksi yang ada.

3. Mengclone Repository Contoh Penggunaan Library WhatsApp NET Client

Langkah-langkah ini sebenarnya sama seperti sebelumnya, Anda tinggal pindah direktori atau mau pindah drive yang lain sama saja. Tapi untuk langkah-langkah di sini saya tetap menggunakan drive C untuk mengclone repositoy contoh penggunaan library WhatsApp NET Client.

Karena posisi kia sekarang ada di direktori C:\WhatsAppNETAPINodeJs2, jadi kita harus kembali dulu ke root drive C dengan mengetikan perintah cd\, setelah itu ketik perintah berikut:

git clone https://github.com/WhatsAppNETClient/WhatsAppNETClient2.git

Ok, sampai di sini berarti langkah-langkah instalasi sudah selesai, kalo Anda buka windows explorer kemudian pindah ke drive C, maka akan mendapatkan dua direktor baru dengan nama WhatsAppNETAPINodeJs2 dan WhatsAppNETClient2 yang merupakan hasil dari langkah-langkah sebelumnya.

Membuka Project Contoh Penggunaan Library WhatsApp NET Client

Caranya gampang, tinggal buka file WhatsAppNETAPI.sln yang ada di direktori C:\WhatsAppNETClient2\src.

Contoh penggunaan library WhatsApp NET Client ini saya buat dalam dua bahasa yaitu bahasa C# dan VB.NET.

Oh iya mumpung saya ingat hehe, project ini saya buat dengan menggunakan Visual Studio .NET 2015 Community, jadi minimal Anda harus sudah menginstall Visual Studio .NET 2015 Community atau versi yang lebih baru.

Oke setelah membuka file WhatsAppNETAPI.sln, klik kanan solution WhatsAppNETAPI -> Rebuild Solution. Langkah ini bertujuan untuk merestore semua paket nuget yang digunakan di dalam project ini.

Setelah itu Anda bisa langsung menjalankan project dengan menekan tombol F5, kemudian mengeset lokasi direktori WhatsAppNETAPINodeJs yang merupakan hasil dari langkah-langkah sebelumnya, kemudian klik tombol Start.

Melaporkan Bug atau Error

Secara teknis dalam pengembangan sebuah aplikasi jelas tidak mungkin 100% bebas dari bug. Nah jika Anda menemukan bug atau error pada saat menggunakan library WhatsApp NET Client ini, silahkan Anda laporkan di halaman https://github.com/WhatsAppNETClient/WhatsAppNETClient2/issues.

Screenshot Project Contoh Penggunaan Library WhatsApp NET Client

Tampilan awal demo project WhatsApp NET Client

Mohon maaf untuk beberapa screenshot berikutnya belum saya update, jadi masih menggunakan screenshot versi lama 😁

Scan awal QRCode cukup sekali saja, untuk koneksi berikutnya sudah tidak diperlukan lagi karna library ini otomatis menyimpan session autentikasinya.

Contoh subscribe pesan yang masuk, ada beberapa informasi yang bisa anda dapatkan seperti tanggal/jam, nomor/nama pengirim, pesan dan nama file jika pesan mengandung gambar, audio, video dan file dokumen lainnya.

Contoh hasil dari fitur grab data contact, di fitur ini Anda bisa mendapatkan informasi nomor/nama kontak, short name dan verified Name.

Contoh hasil dari fitur grab group dan anggotanya, di fitur ini Anda bisa mendapatkan informasi nama group dan membernya (nomor/nama kontak, short name dan verified Name).

Contoh subscribe pesan yang keluar, di fitur ini Anda bisa mendapatkan status pengiriman pesan apakah berhasil atau gagal (nomor kontak belum terdaftar di WhatsApp).

Info Rilis

v3.0.0 (2023-02-12)

Di versi ini WhatsApp NET Client menggunakan library Baileys - WhatsApp Web API untuk berkomunikasi dengan WhatsApp server menggantikan library whatsapp-web.js.

v2.9.0 (2022-03-12)

v2.8.1 (2022-03-06)

v2.8.0 (2022-02-21)

v2.7.0 (2022-02-05)

v2.6.0 (2022-01-21)

v2.5.0 (2022-01-13)

v2.4.0 (2021-10-31)

v2.3.0 (2021-08-19)

v2.2.0 (2021-08-12)

v2.1.0 (2021-07-30)

v2.0.2 (2021-07-25)

v1.3.3 (2021-02-02)

v1.3.2 (2020-11-22)

v1.3.1 (2020-07-20)

v1.3.0 (2020-07-17)

v1.2.0 (2020-07-13)

v1.1.0 (2020-07-05)

v1.0.5 (2020-06-24)

v1.0.0 (2020-06-22)