إرسال الرسالة الأولى إلى المستخدم - الترحيب والتوقيع
في الجزء الأول ، تعلمنا كيفية إطلاق المبتدئين ، وتثبيت webhook لمشروع botviber الخاص بنا.في هذا اليوم الثاني ، سنتعلم كيفية إرسال الرسالة الأولى المعروضة لمستخدمينا ، وإنشاء روابط للبحث عن برنامج الروبوت الخاص بنا وإطلاقه ، سواء داخل ViberURL و NoViberURL
سنشكل روابط للبوت
1) QR غير متصل - يمكن تنزيله من منطقة الإدارة التابعة لـ viber2) رابط ViberURL لنقل الرسائل والمراسلةviber://pa?chatURI=dinner&context=fromhabr
3) رابط NoViberURL لإعادة التوجيه على الإنترنت هناك العديد من اختصارات عناوين URL - ولكن جميعها تبدو كرسائل غير مرغوب فيها ، لذلك أوصي بإنشاء التعليمات البرمجية الخاصة بك من ثلاثة أسطر من PHP ووضع الملف على الاستضافة ، إليك محتويات ملف foot.php<?php
header ("Location: viber://pa?chatURI=dinner");
exit();
تحيات botviber أو "event": "المحادثة_البدء"
بعد فتح QR أو اتباع الرابط إلى عنوان تطبيقنا من خوادم Viber (Jetty) ، تصل طلبات POST مع حدث ("الحدث": "chat_started") ويبدو محتواها الكامل كما يلي:بريد المعلمات الواردة - أو JSON من 13 حقلاً{
"chat_hostname": "SN-327_",
"event": "conversation_started",
"context": "fromlanding",
"message_token": 5406893180055821524,
"subscribed": false,
"timestamp": 1581161565470,
"type": "open",
"user": {
"api_version": 8,
"avatar": "https://media-direct.cdn.viber.com/avatar...",
"country": "RU",
"id": "J2k6sasdgghaazDeoXVYww==",
"language": "ru",
"name": "Denis" №
}
}
ولكن في معظم الحالات ، نحن مهتمون فقط بهذه المجالات الخمسة{
"context": "fromlanding",
"subscribed": false,
"user": {
"country": "RU",
"id": "J2k6sasdgghaazDeoXVYww==",
"name": "Denis" №
}
}
وأحيانًا نحتاج إلى حقل واحد فقط"Id": "J2k6sasdgghaazDeoXVYww =="
هذا هو معرف فايبر الرئيسي للمستخدم ، وهو نظير لـ chat_id في البرقية.ويرجى ملاحظة أنه في عربة chat_id يوجد رسول واحد في جميع برامج الروبوت على الشبكة بالكامل - مثل رقم الهاتف المحمول والمعرف في الهاتف - إنه مثل رمز فريد من نوعه داخل أحد برامج الروبوت الخاصة بك. في روبوت آخر ، سيكون معرفك مختلفًا ...
نعالجها والإجابة للحصول على واحدة من الإجابات الثلاثة كما في الصورة أعلاهأ) type = "text"b) وهنا نرى الحالة الكلاسيكية من النوع = "rich_media"c) على الشاشة الثالثة Type = "keyboard"مزيد من التفاصيل حول viber REST API ، وفيما يلي سننظر في كيفية الحصول على الخيار الأولكما نرى بالفعل ، يمكن وضع علامة على botviber لأي عمل أو متجر صغير ، بالإضافة إلى أنماط مخصصة لموقعك الرئيسي
1) لمعالجة رسائل المستخدم في ملف مشروع myviberbot / views.py ، قم بإجراء التغييرات:
import requests
import json
from django.shortcuts import HttpResponse
from django.views.decorators.csrf import csrf_exempt
auth_token = '45df835d27d01f-cd2e7wetwerga18a8-9a7wert786234'
url = 'https://chatapi.viber.com/pa/send_message'
headers = {'X-Viber-Auth-Token': auth_token}
def sending(func):
def wrapped(*args):
return requests.post(url, json.dumps(func(*args)), headers=headers)
return wrapped
@sending
def send_text(agent, text, track=None):
m = dict(receiver=agent, min_api_version=2, tracking_data=track, type="text", text=text)
return m
@csrf_exempt
def trx_bot(request):
if request.method == "POST":
viber = json.loads(request.body.decode('utf-8'))
if viber['event'] == 'conversation_started':
print(" ")
conversation(viber)
elif viber['event'] == 'webhook':
return HttpResponse(status=200)
else:
print(" Webhook - , POSTMAN")
return HttpResponse(status=500)
return HttpResponse(status=200)
def conversation(viber):
id = viber['user']['id']
if viber['subscribed']:
send_text(id, ' ')
else:
send_text(id, ' ?\n\n . ...')
أعد تشغيل مشروع Django الخاص بنا.لسوء الحظ ، "Rakuten Viber" لا يعطي صفحات رسمية للسلطة الفلسطينية والمجتمع لأي شخص ، باستثناء العلامات التجارية الكبيرة والشخصيات العامة ، لذلك ، لتعزيز SEO والعلاقات العامة على الشبكات الاجتماعية ، وما إلى ذلك. فيما يلي عينة من الموارد: قم بتشغيل botviber بنجاح. للمتابعة ... في المقالة التالية ، سنقوم بتحليل الحدث ["رسالة"] ، لمعالجة رسائل المستخدم ، سوف تتعلم ما يجب القيام به لإجراء حوار ، وكيفية فصل الرسائل التالية ، وعمومًا كيفية تعليم botviber لفهم أن هذه هي التالية. (إنشاء Viberbot الكامل على Django 2 و Viber REST API. الجزء الثالث - الرسالة) المواد: وثائق viber REST API
Django الإصدار 2.2Radio-miner