مقدمة
في هذا البرنامج التعليمي ، سننشئ تطبيقًا بسيطًا للتعامل مع رسائل WhatsApp الواردة باستخدام Python.
Dependencies
تثبيت ngrok
لأغراض التجربة بالسيرفر المحلي سنحتاج لخدمة tunneling و في هذا الدرس سنستخدم ngrok يمكنك تحميل ngrok من هنا .
تثبيت FLASK
pip install flask
نحتاج إلى نشر الخادم باستخدام إطار عمل FLASK.
يسمح FLASK بالاستجابة بشكل ملائم للطلبات الواردة ومعالجتها.
الخطوة 1: إنشاء تطبيق flask جديد
سننشئ الملف: app.py ونكتب الكود التالي بداخله
from flask import Flask, request, jsonify
from test import Ultrawebhook
import json
app = Flask(__name__)
@app.route('/', methods=['POST'])
def home():
if request.method == 'POST':
bot = Ultrawebhook(request.json)
return bot.processing()
if(__name__) == '__main__':
app.run()
الخطوة 2: معالجة الرسائل الواردة
سننشئ الملف test.py ونكتب الكود التالي بداخله
import json
import requests
class Ultrawebhook():
def __init__(self, json):
self.json = json
self.dict_messages = json['data']
def processing(self):
if self.dict_messages != []:
message = self.dict_messages
msg_from = message['from'].split()
msg_text = message['body'].split()
print("sender phone number : " + msg_from[0])
print("message : " + msg_text[0])
return ''
الخطوة 3: قم بتشغيل المشروع
تشغيل flask
flask run
تشغيل ngrok
لنظام التشغيل ويندوز :
ngrok http 80
لل ماك :
./ngrok http 5000
بعد ذلك ، يجب أن ترى على سبيل المثال:
https://7647-115-83-121-164.ngrok.io
الصق عنوان URL الخاص بك في إعدادات الجهاز في الترا مسج ، كما في الصورة التالية
مثال على نموذج الرد بشكل JSON
{
"event_type": "message_received",
"instanceId": "90",
"data": {
"id": "[email protected]_7ECAED9EB68D3474BE591443134C2E3F",
"from": "[email protected]",
"to": "[email protected]",
"ack": "pending",
"type": "chat",
"body": "I can't send a message using php code\nCan you help me",
"fromMe": false,
"isForwarded": false,
"time": 1643311467
}
}
Finley: اختبار المشروع وتلقي رسائل WhatsApp الرسالة الأولى
أرسل الآن رسالة WhatsApp إلى الرقم الذي تربط المثيل به.
ستتم طباعة رقم المرسل والرسالة المرسلة.
تهانينا. لقد تلقيت أول رسالة WhatsApp .
الآن بعد تلقي رسائل WhatsApp ، يمكنك إنشاء روبوت محادثة بسهولة باستخدام Python و Ultramsg API.
أنواع خطاطيف الويب التي يمكن استخدامها مع WhatsApp API & Ultramsg
- webhook_message_received: إشعارات الـ webhooks عند استلام الرسائل.
- webhook_message_create : إشعارات الويب هوك عند إنشاء رسالة .
- webhook_message_ack : لمعرفة حالة الرسائل .
يمكنك الاطلاع على وثائق Whatsapp API الكاملة والأسئلة الشائعة .