Bot WhatsApp menjadi solusi praktis untuk mengotomatisasi pesan dan respons. Dalam tutorial ini, kita akan membuat bot WhatsApp sederhana menggunakan Python yang bisa merespons pesan secara otomatis 24 jam.
Persiapan Awal
Sebelum memulai, pastikan Anda telah menginstal:
- Python 3.8 atau lebih baru
- Chrome Browser
- ChromeDriver sesuai versi Chrome
- Editor kode (VS Code disarankan)
1. Instalasi Library yang Diperlukan
Buka terminal dan install library berikut dengan pip:
pip install selenium pip install webdriver_manager pip install python-dotenv
2. Struktur Proyek
Buat folder proyek dengan struktur berikut:
whatsapp_bot/ ├── bot.py ├── responses.py ├── .env └── requirements.txt
3. Konfigurasi Dasar
Buat file .env
untuk menyimpan konfigurasi:
CHROME_PROFILE_PATH=user-data-dir=./chrome_profile AUTO_REPLY_MESSAGE=Terima kasih telah menghubungi kami. Pesan Anda akan segera diproses. BUSINESS_HOURS_START=09:00 BUSINESS_HOURS_END=17:00
4. Membuat File Respons
Buat file responses.py
untuk mengatur pesan respons:
responses = { "halo": "Hai! Terima kasih telah menghubungi kami.", "produk": "Silakan cek katalog produk kami di [link]", "harga": "Untuk informasi harga, silakan sebutkan nama produk yang Anda minati", "default": "Terima kasih atas pesannya. Tim kami akan segera merespons." } def get_response(message): message = message.lower() for key in responses: if key in message: return responses[key] return responses["default"]
5. Implementasi Bot WhatsApp
Buat file utama bot.py
:
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from webdriver_manager.chrome import ChromeDriverManager from datetime import datetime import time import os from dotenv import load_dotenv from responses import get_response load_dotenv() class WhatsAppBot: def __init__(self): self.driver = self.setup_driver() self.wait = WebDriverWait(self.driver, 20) def setup_driver(self): options = webdriver.ChromeOptions() options.add_argument(os.getenv('CHROME_PROFILE_PATH')) return webdriver.Chrome(ChromeDriverManager().install(), options=options) def start(self): self.driver.get("https://web.whatsapp.com") input("Scan QR Code dan tekan Enter...") self.monitor_messages() def monitor_messages(self): while True: try: unread = self.wait.until(EC.presence_of_all_elements_located( (By.CSS_SELECTOR, 'span[aria-label="UNREAD"]'))) for message in unread: message.click() self.process_chat() except Exception as e: print(f"Error: {str(e)}") time.sleep(2) def process_chat(self): try: message_elements = self.driver.find_elements( By.CSS_SELECTOR, 'div.message-in') if message_elements: last_message = message_elements[-1].text response = get_response(last_message) self.send_message(response) except Exception as e: print(f"Error processing chat: {str(e)}") def send_message(self, message): try: input_box = self.wait.until(EC.presence_of_element_located( (By.CSS_SELECTOR, 'div[contenteditable="true"]'))) input_box.send_keys(message) input_box.send_keys(Keys.RETURN) time.sleep(1) except Exception as e: print(f"Error sending message: {str(e)}") if __name__ == "__main__": bot = WhatsAppBot() bot.start()
6. Fitur Tambahan
Beberapa fitur yang bisa ditambahkan:
- Penjadwalan pesan otomatis
- Integrasi dengan database
- Pengolahan bahasa natural (NLP)
- Multi-akun WhatsApp
Tips Penting!
Beberapa hal yang perlu diperhatikan:
- Gunakan nomor WhatsApp Business untuk penggunaan komersial
- Hindari spam dan pesan berlebihan
- Backup chat secara berkala
- Perhatikan kebijakan WhatsApp tentang bot
7. Menjalankan Bot
Untuk menjalankan bot:
- Buka terminal di folder proyek
- Jalankan perintah:
python bot.py
- Scan QR Code WhatsApp Web
- Bot siap digunakan
8. Troubleshooting
Solusi untuk masalah umum:
- QR Code tidak muncul: Periksa versi ChromeDriver
- Bot tidak merespons: Cek koneksi internet
- Pesan error Selenium: Update library
- Chrome crash: Bersihkan cache profil
Pengembangan Lanjutan
Ide untuk pengembangan bot:
- Integrasi dengan API eksternal
- Dashboard admin untuk monitoring
- Sistem tiket support
- Analisis sentiment pesan
Kesimpulan
Dengan mengikuti tutorial ini, Anda telah berhasil membuat bot WhatsApp sederhana yang bisa dikembangkan sesuai kebutuhan. Bot ini bisa sangat membantu dalam mengotomatisasi komunikasi bisnis atau personal Anda.
Seperti bot yang memerlukan monitoring yang baik, domain website Anda juga perlu dikelola dengan tepat. Untuk informasi lengkap tentang monitoring domain expired, list domain expired, dan marketplace domain terpercaya, kunjungi Back.co.id.