কম্পিউটার টিউটোরিয়াল

পাইথনে WhatsApp অটোমেশন (WhatsApp using Python)

এই সেকশনে আমরা 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 using Python)

আপনার মোবাইল ডিভাইসে, WhatsApp-এ টপ বার থেকে WhatsApp Web বেছে নিন। স্ক্রিনে দেখাওয়া QR কোড স্ক্যান করুন।

তবে আমরা দেখতে পাচ্ছি মেসেজটি নির্দিষ্ট কন্টাক্টে ("My Bsnl" আমাদের কেসে) পাঠানো হয়েছে।

পাইথনে WhatsApp অটোমেশন (WhatsApp using Python)

  1. পাইথন ব্যবহার করে স্টপওয়াচ তৈরি করা

  2. পাইথন ব্যবহার করে টুইটার সেনটিমেন্ট অ্যানালিসিস

  3. পাইথনে মেশিন লার্নিং পরিচিতি – বেসিক কনসেপ্ট ও লাইব্রেরি

  4. পাইথনে cx_Freeze ব্যবহার করে এক্সিকিউটেবল বানানো