جستجو برای:
سبد خرید 0
  • نقشه راه یادگیری پایتون
  • دوره آموزشی
  • درباره ما
  • مجله لرن پایتون
  • پروفایل من

ورود

گذرواژه خود را فراموش کرده اید؟

یا

ارسال مجدد کد یکبار مصرف (00:30)

ثبت نام

استفاده از سایت مشروط بر قبول توافقنامه کاربری و حفظ حریم شخصی می باشد. سیاست حفظ حریم خصوصی.

ارسال مجدد کد یکبار مصرف (00:30)
آموزش زبان برنامه نویسی پایتون
0
آخرین اطلاعیه ها
جهت نمایش اطلاعیه باید وارد سایت شوید
شروع کنید
  • نقشه راه یادگیری پایتون
  • دوره آموزشی
  • درباره ما
  • مجله لرن پایتون
  • پروفایل من
شروع کنید

وبلاگ

آموزش برنامه نویسی پایتون-لرن پایتون > بلاگ > برنامه نویسی وب > ساخت ربات واتس اپ با پایتون

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

1401-01-28
ارسال شده توسط بهارک مهدی پور
برنامه نویسی وب
ساخت ربات واتس اپ با پایتون

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

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

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

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

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

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

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

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

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

3

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

 

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

ارسال کد

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

6

مرحله 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
				
			

خروجی:

8

ایجاد یک سرویس 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

12

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

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

در تابع ربات، ابتدا پاسخی را که کاربر با استفاده از واتس اپ ارائه کرده  را در متغیری به نام 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()
				
			

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

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

قبلی وب اسکرپینگ با پایتون و کتابخانه Beautiful Soup
بعدی آموزش خواندن و نوشتن فایل csv در پایتون

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

برای نوشتن دیدگاه باید وارد بشوید.

جستجو برای:
دوره های آموزشی
  • کسب درآمد با استفاده از وب اسکریپینگ آموزش وب اسکریپینگ با پایتون
    ۴,۰۰۰,۰۰۰ تومان
  • آموزش جنگو (django) | طراحی سایت با جنگو + پروژه محور | لرن پایتون دوره آموزش حرفه‌ای پایتونی شو(آموزش پروژه محور جنگو3)
    نمره 5.00 از 5

    ۵,۰۰۰,۰۰۰ تومان
جستجو برای:
دسته‌ها
  • آموزش پایتون
  • آموزش جنگو
  • برنامه نویسی وب
  • خلاصه کتاب
  • طراحی سایت
  • کاربردهای پایتون
  • ماشین لرنینگ
  • مقالات
پشتیبانی
  • Popular
  • Recent
  • Comments
پشتیبانی
لرن پایتون

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

دسترسی سریع
  • درباره ما
  • تماس با ما
  • دوره آموزشی
  • نقشه راه یادگیری پایتون
نمادها
logo-samandehi
شبکه های اجتماعی
Instagram Eaparat Whatsapp

:: لرن پایتون توسط سرورهای اختصاصی ایران سرور پشتیبانی شده است.

تمامی حقوق مادی و معنوی برای لرن پایتون محفوظ است و هرگونه کپی وانتشار محتوا فقط با لینک به مرجع مجاز است. © کپی رایت 2019

اشتراک گذاری در شبکه های اجتماعی
ارسال به ایمیل
https://www.learnpythonn.com/?p=6548
ورود ×
کد تایید
لطفاً کد تأیید ارسال شده را تایپ کنید
ثبت

رمز عبور را فراموش کرده اید؟
ورود با کد یکبارمصرف
ارسال مجدد کد یکبار مصرف(00:30)
آیا حساب کاربری ندارید؟
ثبت نام
ارسال مجدد کد یکبار مصرف(00:30)
برگشت به ورود

ارسال مجدد کد یکبار مصرف (00:30)
برگشت به ورود
  • (+98) ایران

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

مرورگر شما از HTML5 پشتیبانی نمی کند.