এই সেকশনে আমরা WhatsApp চ্যাটবট তৈরি করব, কিন্তু টвиটার বা ফেসবুকের চ্যাটবটের মতো WhatsApp চ্যাটবট প্ল্যাটফর্মে সরাসরি রান করে না কারণ WhatsApp-এর পলিসি।
তবে একটি উপায় আছে, Selenium ব্যবহার করে, যা পাইথনের একটি স্মার্ট প্যাকেজ যা ডেভেলপারদের ব্রাউজারের এক্টিভিটি অটোমেট করতে দেয়। এর মাধ্যমে আমরা ব্রাউজারের মাধ্যমে WhatsApp Web ব্যবহার করতে পারি।
প্রয়োজনীয়তা (Requirements)
আমাদের তিনটি বেসিক জিনিস প্রয়োজন: Selenium।
Pip ব্যবহার করে Selenium খুব সহজে ইনস্টল করা যায়, টার্মিনালে নিচের কমান্ড চালান:
$ pip install selenium
Chrome/Firefox বা অন্য যেকোনো WebDriver।
আমি Chrome WebDriver ব্যবহার করছি, নিচে আপনার OS অনুযায়ী Chrome WebDriver ডাউনলোড করার লিংক:
https://chromedriver.storage.googleapis.com/index.html?path=2.46/
WhatsApp অ্যাকাউন্ট।
WhatsApp অ্যাকাউন্ট থাকতে হবে, না থাকলে তৈরি করুন।
নিচে পাইথন ব্যবহার করে নির্দিষ্ট কন্টাক্টে WhatsApp মেসেজ পাঠানোর একটি সিম্পল প্রোগ্রাম দেওয়া হলো।
উদাহরণ
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import time
import sys
# নিচের পাথটি আপনার কম্পিউটারে chromedriver-এর অ্যাবসোলিউট পাথ দিয়ে রিপ্লেস করুন
driver = webdriver.Chrome(r'c:\users\rajesh\Desktop\chromedriver')
driver.get("https://web.whatsapp.com/")
# time.sleep()
wait = WebDriverWait(driver, 600)
# 'My Bsnl'-কে আপনার বন্ধু বা গ্রুপের নাম দিয়ে রিপ্লেস করুন
target = '"My Bsnl"'
# নিচের স্ট্রিংটি আপনার নিজের মেসেজ দিয়ে রিপ্লেস করুন
string = sys.argv[1]
x_arg = '//span[contains(@title,' + target + ')]'
group_title = wait.until(EC.presence_of_element_located((By.XPATH, x_arg)))
print(group_title)
print("Wait for few seconds")
group_title.click()
message = driver.find_elements_by_xpath('//*[@id="main"]/footer/div[1]/div[2]/div/div[2]')[0]
message.send_keys(string)
sendbutton = driver.find_elements_by_xpath('//*[@id="main"]/footer/div[1]/div[3]/button')[0]
sendbutton.click()
driver.close()
উপরের স্ক্রিপ্ট কমান্ড প্রম্পটে চালান, WhatsApp কন্টাক্টকে আর্গুমেন্ট হিসেবে মেসেজ পাস করিয়ে:
> python whatsppPython.py "Hello" DevTools listening on ws://127.0.0.1:12954/devtools/browser/a5bb04bd-66a3-4002-999f-6a0824f591da <selenium.webdriver.remote.webelement.WebElement (session="83e7034b9a6f6b49e9e422e655f270d3", element="0.30994636046479007-1")> after wait … …..
Chrome ব্রাউজার খুলবে, স্ক্রিন কিছু এইরকম দেখাবে:

আপনার মোবাইল ডিভাইসে, WhatsApp-এ টপ বার থেকে WhatsApp Web বেছে নিন। স্ক্রিনে দেখাওয়া QR কোড স্ক্যান করুন।
তবে আমরা দেখতে পাচ্ছি মেসেজটি নির্দিষ্ট কন্টাক্টে ("My Bsnl" আমাদের কেসে) পাঠানো হয়েছে।
