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.