ساخت ربات واتس اپ با پایتون

ربات واتس اپ با پایتون یک نرم افزار کاربردی است که قادر به برقراری ارتباط با انسان به صورت گفتاری یا نوشتاری است و امروز می خواهیم یاد بگیریم که چگونه می‌توانیم با استفاده از پایتون یک ربات واتس اپ بسازیم.خب برای ساخت ربات از کجا باید شروع کنیم؟ ابتدا باید بدانیم که برای  ساخت ربات واتس اپ چه شرایط اولیه ای داشته باشیم تا بتوانیم با استفاده از زبان پایتون ربات واتس اپ را بسازیم.تا آخر این مطلب با لرن پایتون همراه باشید برای ساخت ربات واتس اپ با پایتون پس بریم برای شروع.

سیستم مورد نیاز:

قدم اول در ساخت ربات واتس اپ با پایتون باید در مورد سیستمی که می‌خواهیم در آن ربات بسازیم اطلاعاتی در دست داشته باشیم طبق موارد گفته شده سیستم خود را برای شروع آماده کنید.

  • یک حساب کاربری Twilio و یک تلفن هوشمند با شماره تلفن  که در  واتس اپ فعال شده است.
  • باید پایتون 3.9 یا جدیدتر در سیستم نصب شده داشته باشید.اگر در این قسمت مشکل دارید می‌توانید با خواندن مقاله نصب پایتون مشکل خود را برطرف کنید.
  • Flask: ما از فلاسک برای ایجاد یک برنامه وب استفاده خواهیم کرد که با استفاده از آن به پیام های دریافتی WhatsApp پاسخ دهیم.
  • ngrok: Ngrok به ما کمک می کند تا برنامه Flask در حال اجرا در سیستم شما را به یک URL عمومی که Twilio می‌تواند به آن متصل شود، متصل کنیم . این برای نسخه توسعه ربات چت ضروری است زیرا رایانه شما احتمالاً پشت روتر یا فایروال قرار دارد، بنابراین مستقیماً در اینترنت قابل دسترسی نیست.
خب این از مواد لازم برای شروع کار، آماده کنید تا پرقدرت بریم برای شروع ساخت ربات واتس اپ در پایتون چه غوغایی به پا خواهد شد…

ساخت ربات های خودکار ساز یکی از کاربردهای رایج وب اسکرپینگ با پایتون است چطوری ؟ از این لینک بیشتر در موردش بخون

شروع ساخت ربات واتس اپ با پایتون:

مرحله 1: حساب Twilio را با استفاده از  Twilio WhatsApp API  تنظیم کنید.

به این لینک بروید و بر روی دکمه ثبت نام و شروع ساخت کلیک کنید و مشخصات خود را وارد کرده و شناسه ایمیل و شماره موبایل خود را تایید کنید.

ربات واتساپ چطوری بسازیم؟

پس از ورود، از منوی سمت چپ گزینه Develop را انتخاب کنید و سپس موضوع پیام رسانی را انتخاب کنید و سپس گزینه Try it out را انتخاب کنید و در آخر بر روی ارسال پیام واتساپ کلیک کنید. با این کار یک صفحه وب جدید برای راه اندازی جعبه ایمنی WhatsApp باز می شود.

شروع کار برای ساخت ربات واتس اپ با پایتون

مرحله 2: پیکربندی Twilio WhatsApp Sandbox با ارسال یک پیام به این شماره WhatsApp با کد امنیتی منحصر به فرد همانطور که در تصاویر زیر نشان داده شده است:

 

کد را با فرمت زیر به شماره زیر ارسال کنید: 14155238886+

ارسال کد

اکنون کد مخفی را به پیام واتس اپ بالا ارسال کنید و یک پیام تایید به شرح زیر دریافت خواهید کرد:

پیام تایید

مرحله 3: ترمینال را باز کنید و دستور زیر را اجرا کنید تا یک فایل برای ربات ایجاد کنید، یک محیط مجازی برای پایتون ایجاد کنید، تا تمام بسته های لازم را نصب کنید.

  • برای ایجاد دایرکتوری و رفتن به آن دایرکتوری :
				
					mkdir geeks-bot && cd geeks-bot

				
			
  • برای ایجاد و فعال سازی محیط مجازی پایتون:
				
					python3 -m venv geek-bot-env && source geek-bot-env/bin/activate

				
			
  • برای نصب Twilio، فلاسک و درخواست ها: 
				
					pip3 install twilio flask requests
				
			
  • در اینجا دستورات بالا فقط در یک خط آمده است:

				
					mkdir geek-bot && cd geek-bot && python3 -m venv geek-bot-env && source geek-bot-env/bin/activate && pip3 install twilio flask requests
				
			

خروجی:

اولین خروجی از ساخت ربات واتس اپ با پایتون

ایجاد یک سرویس Flask Chatbot برای اجرای ربات به صورت محلی:

مرحله 1: فایل های لازم برای اجرای این برنامه فلاسک را وارد کنید.

				
					from flask import Flask, request
import requests
from twilio.twiml.messaging_response import MessagingResponse
				
			

مرحله 2: دریافت پیام وارد شده توسط کاربر و ارسال پاسخ. ما می‌توانیم با کلید « body » به پاسخ کاربر که درباره درخواست POST می‌باشد دسترسی پیدا کنیم .

				
					
from flask import request
  
incoming_msg = request.values.get('Body', '').lower()
				
			

برای ارسال پیام/پاسخ به کاربر، از تابع ()MessagingResponse از Twilio استفاده می کنیم.

				
					from twilio.twiml.messaging_response import MessagingResponse
  
response = MessagingResponse()
msg = response.message()
msg.body('this is the response/reply  from the bot.)
				
			

مرحله 3: بنابراین اکنون چت بات را می سازیم، از کاربر می خواهیم موضوعی را وارد کند، سپس پیام را برای ربات ارسال می کنیم و ربات جستجو می کند و با آن پاسخ می دهد.

				
					# chatbot logic
def bot():
  
    # user input
    user_msg = request.values.get('Body', '').lower()
  
    # creating object of MessagingResponse
    response = MessagingResponse()
  
    # User Query
    q = user_msg + "geeksforgeeks.org"
  
    # list to store urls
    result = []
  
    # searching and storing urls
    for i in search(q, tld='co.in', num=6, stop=6, pause=2):
        result.append(i)
  
    # displaying result
    msg = response.message(f"--- Result for '{user_msg}' are  ---")
  
    msg = response.message(result[0])
    msg = response.message(result[1])
    msg = response.message(result[2])
    msg = response.message(result[3])
    msg = response.message(result[4])
  
    return str(response)
				
			

در اینجا، در این تابع، با استفاده از user_msg پاسخ پرس و جوی کاربر را دریافت خواهید کرد. سپس ما از جستجوی گوگل با درخواست کاربر و ذخیره آنها در لیستی به نام نتیجه استفاده می کنیم. پس از آن، به سادگی با استفاده از سرویس پیام رسانی Twilio،  پیغام اول را برای کاربر ارسال کنید.

برای اجرای ربات مراحل زیر را طی کنید:

ابتدا اسکریپت بالا را با استفاده از دستور زیر اجرا کنید:

				
					python3 main2.py
				
			

خروجی:

خروجی

در مرحله دوم، یک پنجره ترمینال دیگر باز کنید و دستور زیر را برای راه اندازی سرور ngrok اجرا کنید.

				
					ngrok http 5000
				
			

خروجی:

خروجی

و سومین و آخرین مرحله از ربات واتس اپ با پایتون که باید انجام دهیم این است که URL فوروارد را در تنظیمات جعبه ایمنی WhatsApp تنظیم کنیم. به لینک زیر بروید و URL فوروارد را در محل انتخاب شده قرار دهید و روی ذخیره کلیک کنید.

لینک: https://www.twilio.com/console/sms/whatsapp/sandbox

آخرین مرحله تایید

در زیر اجرای کامل آن آمده است:

در اینجا، ما تمام کتابخانه‌های لازم را که می‌خواهیم در حین اجرای چت بات استفاده کنیم، وارد کرده‌ایم، سپس تابعی به نام ربات ایجاد می‌کنیم، جایی که می‌خواهیم چت‌بات خود را پیاده‌سازی کنیم. 

در تابع ربات، ابتدا پاسخی را که کاربر با استفاده از واتس اپ ارائه کرده  را در متغیری به نام user_msg ذخیره می کنیم. پس از آن یک شی از ()MessagingResponse ایجاد کردیم، برای ارسال پاسخ به کاربر با استفاده از WhatsApp به آن نیاز داریم. 

ما درخواست کاربر را با کلمه “geeksforgeeks.org” اضافه می کنیم زیرا این ربات را با توجه به کاربردی ساخته ایم که ممکن است سوالات مربوط  را داشته باشد و او می تواند هر گونه شک و شبهه مرتبط را بپرسد. پس از آن، ما یک لیست به نام نتیجه ایجاد کرده ایم که در آن آدرس هایی را که باید برای کاربر ارسال کنیم، ذخیره می کنیم. 

ما از کتابخانه جستجوی گوگل برای اهداف گوگل استفاده می کنیم. با استفاده از حلقه for،  با استفاده از تابع ()answer.message ما به سادگی نتیجه را از طریق واتس اپ برای کاربر ارسال می کنیم.

				
					from flask import Flask
from googlesearch import search
import requests
from twilio.twiml.messaging_response import MessagingResponse
  
  
app = Flask(__name__)
  
@app.route("/", methods=["POST"])
  
# chatbot logic
def bot():
  
    # user input
    user_msg = request.values.get('Body', '').lower()
  
    # creating object of MessagingResponse
    response = MessagingResponse()
  
    # User Query
    q = user_msg + "geeksforgeeks.org"
  
    # list to store urls
    result = []
  
    # searching and storing urls
    for i in search(q, tld='co.in', num=6, stop=6, pause=2):
        result.append(i)
  
    # displaying result
    msg = response.message(f"--- Result for '{user_msg}' are  ---")
  
    msg = response.message(result[0])
    msg = response.message(result[1])
    msg = response.message(result[2])
    msg = response.message(result[3])
    msg = response.message(result[4])
  
    return str(response)
  
  
if __name__ == "__main__":
    app.run()
				
			

با استفاده از پایتون توانستیم ربات واتساپ ایجاد کنیم تا در کسب و کار خود استفاده کرده و سبب پیشرفت کارمان شویم نه تنها کسب و کار بلکه در تمامی موارد میتوان از این تکنولوژی استفاده کرد.

آموزش ساخت ربات اینستاگرام با پایتون 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دلیل بازگشت وجه