Otomatisasi Pekerjaan Menggunakan Bot WhatsApp
Oleh: Gita Marshelina, Wiby Putra Adyan Ramdhani, Aria Enggar Pamungkas
Masalah dan Ide
WhatsApp hingga saat ini masih dipakai oleh semua anggota tim di lingkungan PT Akhdani Reka Solusi (ARS) sebagai media komunikasi. Bagaimana jika kita bisa memanfaatkan WhatsApp untuk lebih jauh lagi? Dalam lingkungan ARS pada pekerjaan HokBen Rework, bot WhatsApp mulai digunakan untuk otomatisasi pengecekan sumber daya server dan rekapitulasi pembayaran hanya dengan mengirim pesan tertentu pada jalur grup. Berdasarkan hal tersebut, kita bisa memanfaatkan bot ini sebagai portal untuk memudahkan pekerjaan kita yang berulang-ulang, seperti melihat rekap laporan harian (daily report), detail info proyek, hingga integrasi dengan tools lain seperti Trello atau Airtable untuk melihat status atau detil tugas yang diberikan.
Rencana Implementasi
1. Menggunakan Bot WhatsApp
Bot WhatsApp yang digunakan bukan dari API resmi WhatsApp, melainkan proyek open source dari
https://github.com/open-wa/wa-automate-nodejs
Instalasi library ini membutuhkan syarat berikut:
- Kebutuhan Perangkat Keras
- Satu buah server, bisa sebuah PC/laptop ataupun VPS.
- Smartphone yang terkoneksi internet
- Kebutuhan Perangkat Lunak
- NodeJS
- PHP
- Database
- Tahapan Instalasi
Untuk instalasi sistem yang perlu dilakukan adalah:
- Instalasi dan konfigurasi library dan software yang diperlukan
- Membuat script sesuai kebutuhan
- Scan QR code
2. Cara kerja sistem Bot WhatsApp
Pada dasarnya library NodeJS tersebut akan menggunakan headless Chromium yang dikendalikan oleh library ini. Dari mulai membuka WhatsApp web dan menampilkan QR code yang kemudian akan dipindai menggunakan smartphone yang sudah dipasang aplikasi WhatsApp.
Gambar 1. Cara Kerja Sistem Bot WhatsApp
Setelah login menggunakan QR berhasil, library ini akan otomatis membaca DOM teks pesan yang masuk, baik melalui grup maupun pribadi untuk kemudian dibaca konten pesan tersebut. Jika konten pesan ada yang cocok dengan kata kunci yang sudah didefinisikan, maka library ini akan meneruskan eksekusi kode sesuai yang telah dibuat sebelumnya. Berikut contoh kode eksekusi yang telah dibuat:
Gambar 2. Contoh Kode
3. Skrip BOT Dinamis
Skrip bot yang dinamis akan membuat bot WhatsApp bisa menerima masukan dan mengerjakan tugas yang lebih beragam dan bisa ditambah sewaktu-waktu, untuk skrip ini direncanakan akan dibuat dalam bahasa pemrograman PHP. Untuk pengelolaan skripnya akan dibuatkan aplikasi web sebagai admin panel.
Gambar 3. Contoh Tampilan Halaman Index Admin Panel
Gambar 4. Contoh Tampilan Halaman Tambah Script
4. Contoh Integrasi dengan Tools Lain
- Trello dan Airtable
Trello dan Airtable keduanya menyediakan API untuk bisa diakses via HTTP Request. Untuk info lebih lanjut perihal Trello dan Airtable bisa dibaca pada tautan berikut:
https://developer.atlassian.com/cloud/trello/guides/rest-api/api-introduction/
https://airtable.com/api
- Mengambil data dari Google Sheet
Google menyediakan API untuk mengambil data dari dalam google sheet melalui script misalnya menggunakan PHP. Integrasi ini bisa dimanfaatkan misal untuk meminta data pelamar, data pegawai yang belum mengisi daily report, dan lain-lain. Untuk mengambil data dari Google Sheet bisa menggunakan cara pada tautan berikut:
https://www.srijan.net/blog/integrating-google-sheets-with-php-is-this-easy-know-how
- Jobstreet
Untuk mengambil lowongan perusahaan bisa menggunakan curl ke
http://157.230.35.21/jobstreet_api.php
yang sudah dikonfigurasi khusus untuk mengambil lowongan di PT Akhdani Reka Solusi.
- Build aplikasi di Jenkins
Jenkins menyediakan API untuk melakukan job pada Jenkins misalnya build aplikasi yang telah dikonfigurasi sebelumnya menggunakan REST API. Untuk informasi lebih lengkap bisa dibaca pada tautan berikut:
https://www.jenkins.io/doc/book/using/remote-access-api/
Scheduled Meeting dari Google Calendar dan Zoom
Google menyediakan API untuk membuat event meeting menggunakan Google Calendar dan generate link Google Meet secara otomatis. Seperti halnya Zoom juga menyediakan API untuk membuat meeting. Langkahnya bisa dilakukan dengan cara yang terlampir pada tautan berikut:
https://developers.google.com/calendar/create-events
https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate
Dalam rencana implementasi, untuk membuat event meeting menggunakan curl dengan metode seperti berikut:
https://usefulangle.com/post/29/google-calendar-api-create-event-php
Cara Pemakaian dan Contoh
Penggunaan bot ini dilakukan melalui dua cara, yaitu jalur grup atau jalur pribadi. Dari sisi server akan ditentukan juga mana perintah yang bisa direspon hanya melalui jalur pribadi atau bisa direspon di jalur grup. Gambar di bawah ini adalah contoh implementasi bot WhatsApp untuk info lowongan pekerjaan di ARS melalui jalur pribadi dan contoh mengubah gambar menjadi stiker melalui jalur grup:
Gambar 5. Contoh Respon Chat Bot Melalui Pesan Pribadi
Gambar 6. Contoh Respon Chat Bot Melalui Pesan Grup
Masalah yang Pernah Muncul
Pada penggunaan bot ini pernah mengalami masalah, di antaranya adalah:
- Smartphone tidak terhubung ke internet.
Disarankan handphone harus dalam keadaan selalu terhubung ke jaringan internet. Jika sewaktu-waktu jaringan internet bermasalah dan pesan tidak diterima bot, bot akan tetap membalas pesan ketika internet kembali terhubung.
- Session web WhatsApp berakhir.
Maka harus dilakukan scan QR code ulang.
- Error pada script/modul.
Harus ada pengecekan atau testing berkala, memastikan script selalu uptodate.