Coding

Cara Bikin Bot WhatsApp Pakai Python dalam 30 Menit, Auto Reply 24 Jam!

4 min read
Admin Admin

Daftar Isi

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.

Bot WhatsApp dengan Python

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:

Baca juga: Tutorial Lengkap Membuat Dashboard Analitik Real-time dengan React
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()
Demo Bot WhatsApp

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:

Artikel terkait: Hasilkan Uang dengan HTML dan CSS! 5 Cara Mudah Menghasilkan Penghasilan Tambahan Sambil Belajar Coding
  1. Buka terminal di folder proyek
  2. Jalankan perintah: python bot.py
  3. Scan QR Code WhatsApp Web
  4. 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:

Artikel terkait: Integrasi SSO di Multiple Aplikasi Dalam 15 Menit! Begini Cara Mudahnya
  • 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.