بناء Chatbot لإرسال البريد الإلكتروني باستخدام Google Dialogflow

بناء Chatbot لإرسال البريد الإلكتروني باستخدام Google Dialogflow

أصبحت Chatbots أداة حيوية بشكل متزايد للشركات في العصر الحديث. باستخدام الأدوات والدراية المناسبة ، تنشئ الشركات وكلاء دردشة يمكنهم إجراء محادثات حقيقية مع العملاء.





تعد Google Dialogflow ES واحدة من أقوى أدوات بناء روبوت الدردشة وأكثرها قوة في السوق. لكن كيف يمكنك إطلاق العنان لإمكاناتها الكاملة؟





اجعل فيديو اليوم

الخطوة 1: قم بإنشاء وكيل Dialogflow ES

يعد إنشاء وكيل Dialogflow ES الخاص بك هو الخطوة الأولى في هذه العملية. يعمل أي حساب Google ، وستبدأ بالانتقال إلى ملف موقع Google Dialogflow EN . انقر فوق إنشاء وكيل بمجرد تسجيل الدخول واملأ التفاصيل في النموذج قبل النقر خلق . يمكنك استخدام Dialogflow إلى إنشاء روبوت محادثة للترفيه أو الأتمتة أو خدمة العملاء. يغطي هذا المشروع الأخير.





  إنشاء وكيل وفاق الحوار

الخطوة 2: إضافة نوايا متابعة Dialogflow

الوكيل الجديد لديه فقط نية ترحيب افتراضية ونية احتياطية افتراضية. النية هي جزء أو مرحلة في محادثة.

تحتاج إلى إضافة هدفين للمتابعة إلى نية الترحيب الافتراضية الحالية للبدء. تحوم فوق هدف الترحيب الافتراضي ، انقر فوق أضف نية المتابعة ، واختيار نعم من القائمة المنسدلة. كرر العملية بتحديد 'لا' من القائمة المنسدلة لإنشاء هدف المتابعة الثاني.



  نعم ولا نوايا المتابعة

ستؤدي نية عدم المتابعة إلى إنهاء المحادثة وتوديع المستخدم. افتح ال لا نية للمتابعة وأضف سلسلة من الردود النصية لإنهاء المحادثة. قم بتنشيط ضع هذه النية كنهاية للمحادثة المنزلق.

  نية نهاية المحادثة في تدفق الحوار

ارجع إلى شاشة Intents الرئيسية وانقر على ملف نعم نية المتابعة لفتحه.





الخطوة 3: إنشاء قائمة ردود حوار غنية باستخدام JSON

الآن وقد تم إعداد هذه النوايا ، فقد حان الوقت لطرح سؤال على المستخدم حتى يتمكن من الوصول إليها. افتح ال هدف الترحيب الافتراضي و حذف الردود التي ولّدت معها. انقر أضف الردود واختر الحمولة المخصصة من القائمة.

كيفية عرض رسائل instagram على جهاز الكمبيوتر
  ترحيب حمولة مخصصة النية

تضيف شفرة JSON أدناه نوعين مختلفين من الردود المنسقة ؛ معلومات ورقائق.





{ 
"richContent": [
[
{
"type": "chips",
"options": [
{
"text": "Yes"
},
{
"text": "No"
}
]
},
{
"image": {
"src": {
"rawUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/50/TK_email_icon.svg/1024px-TK_email_icon.svg.png"
}
},
"title": "Tell me about yourself :)",
"subtitle": "Give me some of your personal information. I'll send it to you in an email. That's the deal; absolutely no funny business. Promise! You in?",
"type": "info"
}
]
]
}

الخطوة 4: جمع اسم المستخدم كمعامل Dialogflow

بعد ذلك ، حان الوقت لإضافة نية متابعة أخرى لجمع البيانات من المستخدم. كما هو موضح في الخطوة 2 ، يجب أن يكون لديك بالفعل نية متابعة 'نعم' تسأل عن اسم المستخدم. تحوم فوق نعم نية المتابعة في قائمة الأهداف الرئيسية ، انقر فوق أضف نية المتابعة ، واختر العادة من القائمة.

  حدد نعم نية المتابعة

سيؤدي هذا إلى إنشاء نية متابعة جديدة بدون أي عبارات تدريبية. انتقل إلى قسم عبارات التدريب ، واكتب اسمًا في المربع ، واضغط على Enter لإضافته كعبارة جديدة. سيؤدي هذا إلى إنشاء معلمة جديدة بنوع الكيان @ sys.person. اضغط على @ sys.person كيان وتغييره إلى @ sys.given-name كيان.

  الحوار المعطى اسم معلمة الإعداد

سيؤدي هذا إلى تخزين مدخلات المستخدم بحيث يمكن للوكيل استخدامها. توجه إلى قسم الردود وأضف ردًا باستخدام $ اسم معين داخله. يستدعي هذا معلمة الاسم التي جمعتها ، مما يتيح لها الظهور في الدردشة.

  رد معلمة اسم مربع الحوار

الخطوة 5: استخدم حمولة مخصصة لـ Dialogflow لتشغيل النوايا

تبقى ضمن نية المتابعة التي أضفتها للتو ، انقر فوق إضافة ردود وحدد Custom Payload من القائمة. ستؤدي إضافة رمز JSON أدناه إلى هذا القسم إلى ظهور قائمة استجابة منسقة تطلب من المستخدم اختيار لون.

  قائمة المحتويات الغنية

الجزء الأكثر أهمية في رمز JSON هذا هو قسم الحدث مع كل إدخال. عند النقر عليه ، يستدعي كل عنصر قائمة حدثًا يسمى COLOR بالاسم ومعلمات اللون التي تم جمعها حتى الآن. يمكن أن تحتوي النوايا على أحداث مخصصة لها ستؤدي إلى إطلاقها.

{ 
"richContent": [
[
{
"event": {
"languageCode": "en",
"parameters": {
"name": "$given-name",
"color": "Red"
},
"name": "COLOR"
},
"title": "Red",
"type": "list"
},
{
"type": "divider"
},
{
"event": {
"name": "COLOR",
"languageCode": "en",
"parameters": {
"name": "$given-name",
"color": "Green"
}
},
"type": "list",
"title": "Green"
},
{
"type": "divider"
},
{
"type": "list",
"title": "Blue",
"event": {
"languageCode": "en",
"name": "COLOR",
"parameters": {
"name": "$given-name",
"color": "Blue"
}
}
}
]
]
}

الخطوة 6: نقل معلمات Dialogflow بين النوايا

ارجع إلى قائمة Intents الرئيسية وانقر فوق خلق النية . امنح نيتك الجديدة اسمًا وأدخل اللون في قسم الأحداث قبل الضرب يدخل .

  نية اللون مع الحدث

انتقل إلى قسم عبارات التدريب وأضف اسمًا ولونًا إلى قائمة العبارات لبدء إنشاء معلمات جديدة. غير ال @ sys.person كيان المعلمة إلى @ sys.given-name وتأكد من تعيين كيان اللون على @ sys.color .

  تدريب الألوان والمعلمات

يمكنك الآن إضافة بعض الردود باستخدام $ selected-name و $ color لتظهر مدخلات المستخدم في نافذة الدردشة.

  استجابات نية اللون مع المعلمات

أخيرًا ، ارجع إلى السياقات في الجزء العلوي من الصفحة وأضف إخراجًا باسم فريد. سيؤدي هذا إلى تمرير المعلمات من هذه النية إلى النية التالية.

  سياق إخراج نية اللون

الخطوة 7: اجمع رقم البلد ورقم الهاتف الخاص بالمستخدم كمعلمات Dialogflow

ارجع إلى قائمة Intents الرئيسية ، وحوم فوق ملف نية اللون الذي أنشأته للتو ، ثم انقر فوق أضف نية المتابعة . تحقق من قسم السياقات في القصد الجديد. تأكد من أنه يتضمن سياق اللون الذي قمت بإنشائه في الخطوة الأخيرة في كل من أقسام الإدخال والإخراج. أضف سياق إخراج آخر للهدف الحالي.

  نية متابعة بلد لون تدفق الحوار

اذهب إلى عبارات التدريب قسم وإضافة اسم بلد إلى القائمة قبل الضرب يدخل . سيؤدي هذا إلى إنشاء معلمة جديدة. غيّر نوع كيان المعلمة إلى @ sys.geo-country قبل إضافة المعلمة إلى قسم الاستجابة.

  تدريب البلد والمعايير

ارجع إلى قائمة النوايا الرئيسية وقم بإنشاء هدف متابعة جديد للهدف الذي أنشأته للتو. كرر الخطوات التي اتخذتها للتو ، ولكن استخدم رقم هاتف في ملف عبارات التدريب الجزء. تأكد من أن المعلمة التي تم إنشاؤها لها الامتداد @ sys.phone-number نوع الكيان.

  تدريب رقم الهاتف والمعلمات

ارجع إلى قائمة النوايا الرئيسية وأنشئ هدفين جديدين للمتابعة للهدف الذي أنشأته للتو ؛ (أ) نية المتابعة بنعم ولا. يمكنك تعيين نية عدم المتابعة لإنهاء المحادثة.

  رقم الهاتف نعم لا المتابعات

تحتاج نية المتابعة 'نعم' إلى الحصول على جميع السياقات من النوايا السابقة التي قمت بإنشائها.

  متابعة سياقات الإدخال

أخيرًا ، ارجع إلى قائمة النوايا الرئيسية وأنشئ نية متابعة جديدة لنية المتابعة نعم التي أنشأتها للتو. أضف عنوان بريد إلكتروني إلى قسم عبارات التدريب وتأكد من وجود المعلمة التي تم إنشاؤها @ sys.email كنوع كيانها.

  معلمة البريد الإلكتروني لتدفق الحوار

اذهب إلى استجابات القسم ، انقر فوق أضف الردود ، واختر الحمولة المخصصة من القائمة. سيضيف رمز JSON التالي استجابة منسقة من نوع القائمة تستدعي حدثًا يسمى SENDEMAIL. سيتم إرسال جميع معلمات المستخدم التي طلبتها حتى الآن إلى هذه النية.

{ 
"richContent": [
[
{
"title": "Send Email",
"event": {
"parameters": {
"name": "#Color-followup.name",
"country": "#Color-country-followup.country",
"email": "$email",
"color": "#Color-followup.color",
"phone": "#Color-country-phonenum-followup.phone-number"
},
"name": "SENDEMAIL",
"languageCode": "en"
},
"type": "list"
}
]
]
}

الخطوة 8: إرسال بريد إلكتروني باستخدام محرر Dialogflow Node.js المضمن

انقر خلق النية في قائمة النوايا الرئيسية. يضيف ارسل بريد الكتروني الى الأحداث قسم وضرب يدخل . اتبع هذا عن طريق إضافة جميع المعلمات التي جمعتها إلى العمل والمعلمات الجزء.

  حدث البريد الإلكتروني والمعاملات

اذهب إلى تحقيق، إنجاز أسفل الصفحة وقم بتنشيط شريط التمرير المسمى تفعيل استدعاء الرد التلقائي على الويب لهذا الغرض . سيمكنك هذا من إضافة رمز مخصص إلى هذه النية.

  تحقيق نية تدفق الحوار

يختار تحقيق، إنجاز من القائمة الرئيسية على يسار الصفحة وقم بتنشيط شريط التمرير لتمكين ملف محرر مضمن . قد تضطر إلى إضافة حساب فوترة إلى مشروع Google الخاص بك للقيام بذلك.

  الحوار المضمن النشط المحرر

اضغط على package.json علامة التبويب وانتقل إلى أسفل الملف. استبدل قسم التبعيات بالتعليمة البرمجية التالية لإضافة Nodemailer API إلى مشروعك.

"dependencies": { 
"actions-on-google": "^2.2.0",
"firebase-admin": "^5.13.1",
"firebase-functions": "^2.0.2",
"dialogflow": "^0.6.0",
"nodemailer": "^4.4.2",
"dialogflow-fulfillment": "^0.5.0"
}

ارجع إلى ملف index.js واستبدل الشفرة الحالية بالعينة الموجودة في هذا المشروع CodePen قبل النقر نشر . ستحتاج إلى استبدال بيانات اعتماد Gmail بتلك الخاصة بحسابك الخاص. تحتاج إلى استخدام كلمة مرور التطبيق لهذا الغرض. بمجرد اكتمال المحادثة ، سيرسل روبوت الدردشة الخاص بك عبر البريد الإلكتروني جميع التفاصيل التي تجمعها إلى المستخدم في نهاية محادثة ناجحة. تستطيع تعرف على المزيد حول Node.js وكيفية استخدامه مع دليلنا المفيد.

استخدام Dialogflow ES على موقع الويب الخاص بك

يمكن أن يقوم برنامج الدردشة الآلي الجديد الخاص بك بجمع معلومات المستخدم وإرسال رسائل البريد الإلكتروني ، ولكن يمكن لبرنامج Dialogflow ES القيام بأكثر من ذلك بكثير. يمكنك توصيل أي واجهة برمجة تطبيقات تقريبًا بهذه الخدمة ، ويمكنك استخدام واجهة برمجة تطبيقات Dialogflow للتحكم في برنامج الدردشة الآلي الخاص بك على موقع الويب الخاص بك.