Heç bir kodu olmayan Real-time Smart Facebook Messenger Bot.

Əvvəllər müntəzəm bir bot qurmaq üçün böyük kod blokları və bütün prosesi idarə edən məntiqin diqqətlə qurulması tələb olunurdu. Bu gün sadə və kifayət qədər mürəkkəb botları inkişaf etdirmək bir kod sətir yazmadan belə asanlıqla əldə edilə bilər; bizə mövcud olan texnologiya sayəsində.

Bu yazının sonunda bir Facebook səhifəsinə göndərilən mesajları emal edə və real vaxtda müvafiq cavab verə bilən ağıllı bir Facebook Messanger bot qurardıq. Bu həyata keçirmək üçün heç bir kod xətti yazmayacağıq (daha mürəkkəb bot qurmaq istəsək də etməliyik).

Bu məqalə, sıfır kodunun təqib edilməsi tələb olunduğunu vəd etsə də, məqalə, eyni zamanda Facebook geliştirici platforması və DialogFlow (əvvəllər Api.ai) ilə işləyən çox əsas biliklərə sahibdir.

Öz Facebook botumuzu cəmi dörd addımda yarataq:

  1. Bir Agent yaradın
  2. Facebook Messenger inteqrasiyası
  3. Facebook Messenger'i konfiqurasiya edir
  4. Facebook Messenger Bot testi

Agent yarat:

Əvvəlcə DialogFlow-a (əvvəllər Api.ai) baş çəkək və Google hesabı ilə daxil olaq. Bundan dərhal sonra, yeni bir agent yaratmaq seçimi ilə 'Başlanğıc' səhifəsinə yönləndiriləcəkdir. Ekranın sol tərəfindəki 'Agent yarat' seçimini vurun.

Sonra, bizə təqdim olunan formanı dolduraq. Bu məqalə naminə, agenti kiçikTalkBot adlandıracağıq (Yaxşı, niyə də deyil?). Lazımi sahələr doldurulduqdan sonra "Saxla" düyməsini basın.

Boş bir agent yaratmaq niyyətində olduğumuz üçün SAMLE DATA sahəsini göstərməyə ehtiyac yoxdur.

Yeni səhifədə sola kaydırıla bilən bir bölmə olacaq, "Kiçik danışma" deyən seçimi tapa bilərik, üzərinə vurun.

Əla, indi Kiçik Müzakirə panelindəyik və məntiqin çox hissəsi ediləcəkdir ki, Kiçik Danışıq xüsusiyyətini işə salaq.

Kiçik Müzakirə tablosunda agentimizi kiçik söhbətlərlə necə məşğul olmağı və aldığı mesajlardan asılı olaraq cavablandırmağı öyrədə bilərik. Agent haqqında Agent kateqoriyasındakı suallara necə cavab veriləcəyini öyrətməkdən başlayaq.

Protip: Agent (bot) daha ağıllı görünməsinin ən yaxşı yolu bir neçə cavab variantını daxil etməklə agentin oxşar suallara fərqli cavab verməsinə kömək edəcəkdir.

Hər şeyi doldurmağınız lazım olmasa da, bu məqalə üçün təklif olunan bütün suallara kiçik danışıq panelində cavab verəcəyik. Bitirdikdə Saxla seçimini vurun.

Zəhmli şeylər! İlk addımı atdıq.

Facebook Messenger inteqrasiyası

Agentin tablosunun sol hissəsində İnteqrasiya deyilən bir seçim var, üzərinə vurun. Əla, indi bir klik inteqrasiyasını söyləyən bir səhifə var. Səhifədə çox sayda inteqrasiya variantları var, gəlin 'Facebook Messenger' inteqrasiyası parametrlərini simvolun altındakı 'SETTINGS' düyməsinə vuraraq dəyişdirək.

Üç sahə ilə bir pop alırıq, sahələri doldurmağa başlamazdan əvvəl Facebook Messenger inteqrasiyasını aktivləşdirməliyik ki, bunu edək.

Üç sahə:

Çağırış URL - Bu səhifə facebook səhifəmizdən bir mesaj aldıqda məlumat göndərir.
Tokeni doğrulayın - Burada xüsusi bir işarəni göstərməliyik (tətbiqimizi yaratdığımız zaman Facebook-da eyni işarəni göstərəcəyik, yadda saxlaya biləcəyiniz işarəni yazın)
Səhifə Giriş Tokeni -Bu əlamət bir tətbiq yaratdıqdan sonra Facebook tərəfindən bizə veriləcəkdir.

Bu anda, kiçikTalkBot-a bağlanacaq Facebook tətbiqini yaratmayana qədər inteqrasiyanı qurmağa davam edə bilmərik. Səbəb odur ki, davam etmək üçün Səhifəyə giriş Tokeninə ehtiyacımız var. Gəlin inkişaf platforması (yeni bir nişanda) üçün Facebooka baş çəkək və bir tətbiq yaradaq.

İndi buradayıq, yeni bir Facebook tətbiqi üçün məlumatları dolduraq. Dərhal edilir, avtomatik olaraq tətbiqin tablosuna yönləndiriləcəkik. Ekranda həmçinin bir məhsul seçin deyin, beləliklə mesajlaşma seçimini seçin və Quraşdırma düyməsini basın.

İndi Token Nəsil bölməsinə çatana qədər bir az aşağıya fırladırıq. Tətbiqimiz üçün bir səhifə seçməli və bir mö'cüzə yaratmalıyıq.

Yaradılmış əlamət buraya gəlməyimizin səbəbi, qısa bir müddət DialogFlow-a (digər sekmədə) qayıdaq və üç sadə işi yerinə yetirək:

  1. Facebook'dan möcüzəni Page Access Token sahəsində yapışdırın.
  2. Çağırış URL adını kopyalayın (Facebook bu URL-ə ehtiyac duyur, ona görə məlumatın hara göndəriləcəyini bilir)
  3. Botumuzu işə salmaq üçün Başlat Seçimini vurun!

Uğur! Botumuz indi çalışır, ancaq hələ sevinməyək, dəli mətnləri Facebook üzərindən yaratmağımıza başlamazdan əvvəl bir az daha çox iş görməliyik.

Facebook Messenger'i konfiqurasiya edir

İndi, Facebook Messenger Platformasında, DialogFlow üçün işarəni yaratdığımız yerin altında, Webhooks deyən bir bölmə var. Setup Webhooks Seçimini vurun.

Əla iş! İndi üzümüzdə iki sahə və bir neçə onay qutusu olan bir pop var, gəlin sahələri doğru məlumatlarla dolduraq:

  1. Callback URL - Bu, olduqca aydındır, DialogFlow-dan kopyaladığımız Zəng vurma URL-ni xatırlayırsınız? Buraya yapışdırın.
  2. Verify Token - Burada, DialogFlow üçün daxil etdiyimiz eyni Doğrulama Tokeni daxil edək. Mənim vəziyyətimdə VERIFY_ME_HERE.
  3. Yoxlama qutuları - Yoxlama qutularının çoxuna göz yuma bilərik, yalnız iki hadisəyə abunə olmalıyıq ki, mesajları və mesajlaşma_postbaklarını yoxlayaq.

Əla! İndi Doğrulama və Saxla düyməsini vurun və getmək üçün yaxşıyıq!

Təbrik edirik, botu uğurla qurduq.

Facebook Messenger Bot testi

Botu sınamaq üçün əlaqəli Facebook səhifəsinə mesaj göndərin və ildırım cavabını gözləyin.

Nəticə

Bu yazının əvvəlində söz verdiyimiz kimi, aldığınız mətnin niyyətinə (Bu əsasən NLP texnologiyasına) əsaslanaraq Facebook səhifəsinə göndərilən mesajlara cavab verə bilən (ağıllı və kinayəli görünən) bir bot qurduq. Botunuzu sınadığınızda göründüyü qədər ağıllı olmadığını və səbəbinin olduğunu başa düşəcəksiniz; yalnız smallTalkBot yaratdıqda təqdim etdiyimiz əvvəlcədən təyin edilmiş mətnlərdən istifadə edərək mesajlara cavab verir.

DialogFlow-un verdiyi Kiçik Müzakirə xüsusiyyəti ilə işləmək, DialogFlow ilə edilə biləcək zəhmli işlərin yalnız bir atomudur, məsələn, botunuzu qəbul etdiyi mesajlara daha dəqiq cavab verə bilərsiniz!

DialogFlow-un mürəkkəbliyini tam araşdırmamağımıza baxmayaraq, eyni cavabları hər zaman verməyən bir zəhmli bot qurmaq istəsəniz sənədləri burada oxuya bilərsiniz.

Əvvəlcə dev.to-da yayımlandı.