בוט פייסבוק
איך לבנות בוט פייסבוק
facebok chatbot
לפייסבוק יש פיצ'ר שמאפשר ליצור בוט, הבוט יכול "לדבר" עם משתמשים בצאט ולענות להם לפי מילים מסויימות שהוא מזהה, מזכיר קצת את mirc מימים עברו…, מאוד דומה לסוכן שקיים באתרים. דוגמה לבוט כזה הוא ה YesBot (לחצו עלי) של חברת יס
אז איך בונים בוט ואיך גורמים לו לעבוד בשבילנו.
ישנם פלטפורמות מובנות לבניית בוטים, שבדרך כלל משלמים להם חודשית או פר הודעות אני מאמין שיש גם חינמיים, אבל אנחנו רוצים ללמוד קוד, ולמקסם את היכולת שלנו, ולכן לא נשתמש בכלים אלה שהם בעיקר לאלה שאינם מפתחים.
ישנם גם פלאגינים לוורדפרס שעושים את העבודה:
https://he.wordpress.org/plugins/cool-fb-chat/
https://wordpress.org/plugins/fb-messenger-bot/
מתחילים ליצור בוט בפייסבוק
כדי ליצור פייסבוק בוט צריך ליצור 3 דברים
- דף פייסבוק שהוא יהיה הפרופיל שאיתו ידברו
- דף מאובטח ששם נתכנת מה אנחנו רוצים שהבוט שלנו יאמר בכל מיני אירועים
- אפליקצית פייסבוק ששם נגדיר webhock
יצירת דף מאובטח בשרת
יש ליצור דף מאובטח https בשרת שאיתו תעבדו ששם בעצם נכתוב את התוכנית.
ולהכניס לדף את שורת הקוד הבא ( php) לבנתיים בשביל האישור של הדף מפייסבוק.
<?php echo $_REQUEST['hub_challenge'];?>
יצירת דף פייסבוק
יצירת דף לפייסבוק זה די פשוט נכנסים לפה <<לחץ עלי >>
וממשיכים עם התפריט קוראים לדף בשם ושמים תמונה וכול השאר… < אפשר גם להשים את התמונות בסוף>
פתיחת אפליקציה בפייסבוק
אפליקציה בפייסבוק – לפתיחת אפליקציה לחצו עלי
לאחר מכן צריך להגדיר את האפליקציה עקבו אחרי הכללים הבאים (לקוח מפה) :
https://developers.facebook.com/docs/messenger-platform/guides/setup#app_and_page_setup
:
- להוסיף את מסנגר כמוצר בפתיחת הבוט יתאפשר לכם להוסיף Pruduct
- להגדיר את ה – webhook יש צורך בכתובת מאובטחת https
בהגדרת ה webhook נדרש לתת כתובת של דף שיצרנו ואז לבחור סיסמה שהפייסבוק ישלח אותו כפרמטר לדף, כדי שנוכל לבדוק שבאמת פייסבוק שולח לנו את ההודעות ולא מישהו אחר.
- חוזרים שוב למסנגר ומשיגים את הטוקן של האפליקציה תחת Token Generation בוחרים את האפליקציה שלנו ומצד ימין נקבל קוד שאותו נשמור ע"י לחיצה. יש לאפשר למטה את
manage_pages,pages_messaging,pages_messaging_phone_number - במסנגר תחת הקטגוריה של webhooks בוחרים את דף האפליקציה ולוחצים subscribe
- נכתוב תוכנית קטנה שמצאתי ב git שמחזירה תשובה קבועה רק לבדוק שהכל בסדר.
<?php
$challenge = $_REQUEST['hub_challenge'];
$verify_token = $_REQUEST['hub_verify_token'];
// Set this Verify Token Value on your Facebook App
if ($verify_token === 'testtoken') {
echo $challenge;
}
$input = json_decode(file_get_contents('php://input'), true);
// Get the Senders Graph ID
$sender = $input['entry'][0]['messaging'][0]['sender']['id'];
// Get the returned message
$message = $input['entry'][0]['messaging'][0]['message']['text'];
//API Url and Access Token, generate this token value on your Facebook App Page
$url = 'https://graph.facebook.com/v2.6/me/messages?access_token=<ACCESS-TOKEN-VALUE>';
//Initiate cURL.
$ch = curl_init($url);
//The JSON data.
$jsonData = '{
"recipient":{
"id":"' . $sender . '"
},
"message":{
"text":"The message you want to return"
}
}';
//Tell cURL that we want to send a POST request.
curl_setopt($ch, CURLOPT_POST, 1);
//Attach our encoded JSON string to the POST fields.
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
//Set the content type to application/json
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
//Execute the request but first check if the message is not empty.
if(!empty($input['entry'][0]['messaging'][0]['message'])){
$result = curl_exec($ch);
}
?>
יש לשנות את הפרמטרים הבאים בקוד
testtoken – המחרוזת שהכנסנו לבדיקה שלב 2 verify token
<ACCESS-TOKEN-VALUE> – לטוקן שלנו שקיבלנו בשלב 3
אפשר גם לשנות את ההודעה.
כדי לצוטט עם הבוט יש להיכנס לדף שיצרנו ולהתחיל צאט אפשר גם ליצור קישור ישיר ע"י כך שבוחרים שם לדף ואז מכניסים את השם לכתובת הבאה:
https://m.me/PAGENAME
אני יצרתי את הבוט הזה:
לאחר שאתם מסיימים לכתוב את הבוט צריך לפרסם אותו אחרת הוא יעבוד כנסיון רק עם המשתמש שיצר אותו לכן הולכים לאפליקציה
ולוחצים בתפריט על App Review ומאפשרים את האפליקציה ב :
ואז מחכים שפייסבוק יבדקו אותה.
מצאתי גם סרטון שיכול לעזור.
בשלב ב נראה מה אפשר לעשות עם הבוט.