Cara membuat facebook messenger chatbot

Buat Chatbot Anda sendiri untuk Facebook dengan ChatCompose

Chatbots dapat menjadi produk luar biasa yang memungkinkan orang untuk membuat pengalaman baru, dari melaporkan berita hingga mengirimkan informasi dari dukungan pelanggan.

Facebook memungkinkan penggunanya untuk membuat chatbots untuk halaman Facebook mereka melalui platform Pengembang Facebook mereka. Pada artikel ini, kami akan menunjukkan kepada Anda bagaimana melakukannya. Bagian terbaik? Kami akan membutuhkan waktu kurang dari satu jam.

Langkah-langkah untuk Membuat Chatbot di Facebook

1. Mendaftar di Facebook Developers

Daftar di Facebook Developers dan buat aplikasi baru. Anda akan memerlukan akun Facebook jadi jika Anda tidak membuatnya, buatlah.

Setelah aplikasi dibuat, kami akan menambahkan produk Messenger. Karena chatbot akan berkomunikasi dengan ini berarti perlu untuk membuat beberapa konfigurasi.

Klik Produk di bilah kiri dan kemudian pilih Messenger.

Cara membuat facebook messenger chatbot

2. Hasilkan Token

Untuk mengaktifkan chatbot di messenger, kami memerlukan token. Token ini dihasilkan melalui aplikasi yang Anda buat di Facebook Developers, yang terkait dengan halaman Facebook. Jika Anda tidak memiliki halaman Facebook untuk layanan atau produk Anda, buatlah. ( Cara membuat halaman facebook )

Cara membuat facebook messenger chatbot

Halaman Facebook ini diperlukan untuk menghasilkan token dan itu adalah tempat Anda dapat melihat dan mengaktifkan chatbots Anda.

Untuk membuat token, buka bagian Token Akses dan tautkan halaman Anda ke aplikasi Anda. Kemudian klik pada menghasilkan token.

3. Dapatkan rute untuk menghubungkan Messenger ke ChatCompose

Untuk menyelesaikan langkah ini, Anda harus memiliki akun ChatCompose yang aktif. Anda bisa mendaftar di sini .

Setelah terdaftar, akses akun Anda dan klik Install> Integrations. Di bagian ini Anda akan menemukan informasi untuk membuat koneksi antara ChatCompose dan Facebook Messenger.

Salin token Anda yang dihasilkan pada langkah 2 ke panel Chatcompose. Anda juga akan memerlukan frasa rahasia, untuk alasan keamanan dan agar Facebook memastikan bahwa Anda memiliki kendali atas koneksi.

Masukkan token Facebook di "ACCESS_TOKEN" dan buat frasa keamanan di "VERIFY_TOKEN" . Simpan perubahan Anda.

Cara membuat facebook messenger chatbot

Di "ROUTE" Anda akan menemukan rute akun ChatCompose Anda, Anda perlu mengintegrasikan bot Anda ke Messenger.

4. Masukkan rute dan frasa rahasia

Kembali ke Facebook Developers, di bagian webhooks dari Produk Messenger Anda, klik "Configure Webhooks". Di jendela sembulan kita akan menyalin lintasan langkah 3 dan frasa keamanan.

Masukkan rute dan frasa "VERIFY_TOKEN" , lalu tekan Verifikasi dan Simpan.

Cara membuat facebook messenger chatbot

Sekarang tekan "Tambahkan Langganan" dan pilih: "messages", "messaging_postbacks", "message_deliveries", "messaging_pre_checkouts" .

5. Uji itu

Catatan: Setelah menyimpan token Anda, Anda perlu mengatur Bot Facebook Anda ke "ON" di platform. Setiap kali Anda ingin menghentikan chatbot, alihkan saja ke "OFF". Anda dapat menemukan tombol di bagian Instal> Facebook.

Kunjungi halaman Facebook Anda dan bicarakan dengan bot Anda untuk memeriksa apakah itu berfungsi dengan baik.

Untuk mengirim pesan ke chatbot Anda harus menambahkan messenger ke halaman Anda, dan memasukkan tombol Kirim Pesan. Kirim pesan (Tombol Tes) ke halaman Anda untuk memeriksa tanggapan chatbot Anda.

Komponen dan Keterbatasan

Anda dapat menggunakan komponen gambar, tautan dan unduhan untuk menunjukkan media.

Komponen html tidak dapat dimuat. Messenger bukan browser dan tidak dapat merender html.

6. Tinjauan aplikasi

Untuk menjadikan bot publik, Anda perlu menambahkan permintaan untuk "pages_messaging" , lengkapi formulir dan kirim permintaan peninjauan ke tim Facebook. Persetujuan tidak boleh lebih dari 2 hari.

7. Konfigurasi Menu

Setelah menyimpan kunci facebook Anda di ChatCompose, tombol baru akan muncul (Pengaturan). Tekan untuk mengatur Konfigurasi Menu awal Anda. Messenger dapat menampilkan menu tetap di mana pengguna Anda dapat memuat komponen atau jawaban (lihat Menu Tetap ).

Cara membuat facebook messenger chatbot

Tombol akses menu memungkinkan Anda memuat komponen dan skrip tertentu. Anda dapat menggunakannya untuk menunjukkan kebijakan privasi Anda atau tugas-tugas penting untuk bot Anda.

  • 2019

Fitur “messenger bots” Facebook bukanlah hal yang baru, dan banyak bot keren sudah ada. Namun, sumber daya tentang cara membuat bot Anda sendiri sangat langka, dan tidak ada penjelasan untuk orang-orang yang baru menggunakan Facebook Graph API. Messenger bot sekarang juga mengharuskan Anda untuk menggunakan URL panggilan balik webhook SSL aman (lebih lanjut tentang itu nanti), dan pengaturan SSL tidak untuk semua orang, dan juga membutuhkan biaya.

Pada artikel ini, saya akan memandu Anda melalui seluruh proses pembuatan bot messenger Facebook sederhana, karena dokumentasi Facebook sendiri agak kurang dijelaskan. Kami akan menyiapkan aplikasi cloud yang menggunakan protokol https, kode bot di Node.js (yang merupakan javascript, bahasa sisi server), gunakan git untuk mendorong kode ke aplikasi cloud, dan mengujinya di Facebook Messenger.

Setup Bot

Anda perlu Node diinstal di laptop Anda. Jika tidak, buka situs web Node untuk mengunduh dan menginstalnya.

Setelah selesai, Anda dapat melanjutkan dengan pengaturan untuk bot. Ikuti langkah-langkah di bawah ini:

1. Luncurkan Terminal.

2. Anda memerlukan direktori terpisah untuk menyimpan kode Anda.

  • Buat direktori baru
    mkdir testbot
  • Ubah direktori kerja Anda ke direktori yang baru saja Anda buat
    cd testbot
Cara membuat facebook messenger chatbot

3. Selanjutnya, inisialisasi aplikasi Node.
npm init

  • Anda akan diminta untuk memasukkan informasi tentang aplikasi Anda, cukup gunakan default dengan menekan Enter untuk semuanya.
Cara membuat facebook messenger chatbot

4. Instal paket
npm install express body-parser request --save

  • Perintah akan berjalan, dan memberikan beberapa peringatan; abaikan mereka.
Cara membuat facebook messenger chatbot

5. Di Finder, buka direktori " testbot " yang Anda buat, dan cari file bernama " package.json "; buka ini di editor seperti Sublime Text.

6. Dalam file ini, kita perlu menambahkan baris
"start": "node index.js"

  • Jangan lupa menambahkan ", " di akhir baris sebelumnya.
Cara membuat facebook messenger chatbot

7. Selanjutnya, buat file baru di Teks Sublime, dan masukkan kode berikut di dalamnya:

[js]

var express = butuhkan ('express');
var bodyParser = membutuhkan ('body-parser');
var request = require ('request');
var app = express ();

app.use (bodyParser.urlencoded ({extended: false}));
app.use (bodyParser.json ());
app.listen ((process.env.PORT || 3000));
app.get ('/', function (req, res) {
res.send ('This is TestBot Server');
});
app.get ('/ webhook', berfungsi (req, res) {
if (req.query ['hub.verify_token'] === 'testbot_verify_token') {
res.send (req.query ['hub.challenge']);
} lain {
res.send ('Token verifikasi tidak valid');
}
});

[/ js]

Simpan file ini sebagai index.js

Catatan: Di Baris 13, nilai 'hub.verify_token' ditetapkan sebagai ' testbot_verify_token', ingat nilai ini karena akan digunakan saat membuat webhook di Facebook.

Buat Git Repository

Sekarang kita telah mengatur penanganan panggilan balik bot kita, kita perlu mendorong kode ke Heroku. Untuk itu, kita perlu membuat repositori git di direktori kita.

Catatan: "git" adalah sistem kontrol versi untuk file dan kode perangkat lunak. Anda dapat membaca lebih lanjut di Wikipedia.

Membuat repositori git itu mudah, dan hanya membutuhkan beberapa perintah Terminal.

Catatan: Pastikan Anda berada di dalam direktori " testbot " di Terminal. Anda dapat melakukan ini dengan mengetikkan perintah pwd ke Terminal.

Cara membuat facebook messenger chatbot

Ikuti langkah-langkah ini untuk membuat repositori git:

1. git init

2. git add .

3. git commit -m "Register Facebook Webhook"

Cara membuat facebook messenger chatbot

Setup Heroku

Bahkan sebelum kita masuk ke halaman pengembang Facebook, kita memerlukan URL panggilan balik yang dapat diajak bicara oleh Facebook. URL ini perlu menggunakan protokol https, yang berarti kita perlu menginstal sertifikat SSL di situs web kami; tapi, ini adalah panduan pemula untuk bot messenger Facebook, jadi jangan menyulitkan. Kami akan menggunakan Heroku untuk menyebarkan kode kami. Heroku memberi Anda https URL untuk aplikasi Anda dan memiliki paket gratis yang memenuhi tuntutan kami (sangat mendasar).

Buka situs web Heroku dan daftarkan diri Anda.

Catatan: Di bidang yang bertuliskan "Pilih Bahasa Pengembangan Utama Anda", gunakan "Saya menggunakan bahasa lain".

Setelah selesai, instal Heroku toolbelt untuk OS Anda (Mac, untuk saya), dan instal. Ini akan memberi Anda akses ke Heroku di Terminal Anda (atau command prompt, di Windows).

Selanjutnya, kita akan membuat aplikasi di Heroku, yang akan menampung seluruh kode untuk bot kita. Ikuti langkah-langkah di bawah ini:

1. Luncurkan Terminal

2. Ketikkan heroku login

  • Anda akan diminta memasukkan email dan kata sandi Anda.
  • Ketikkan email Anda, tekan Enter; lalu, ketik kata sandi Anda, tekan Enter.
  • Anda akan masuk ke heroku

3. Ketikkan heroku create

  • Ini akan membuat aplikasi di Heroku dan memberi Anda hyperlink. Perhatikan bahwa tautan menggunakan protokol https. Mudah kan?
Cara membuat facebook messenger chatbot

4. Sekarang Anda dapat mendorong kode aplikasi Anda ke Heroku
git push heroku master

Cara membuat facebook messenger chatbot

5. Setelah ini selesai, aplikasi Anda pada dasarnya hidup, dan Anda dapat mengunjungi tautan di browser Anda untuk memeriksa apakah semuanya berfungsi dengan baik. Itu harus membuka halaman web yang mengatakan " Ini adalah TestBot Server ".

Pengaturan Facebook

Saatnya untuk menghubungkan bot kami ke Facebook! Anda perlu membuat Halaman Facebook baru atau menggunakan yang sudah ada yang Anda miliki. Saya akan menunjukkan cara melanjutkan dengan membuat Halaman Facebook baru.

1. Buka Facebook dan buat halaman baru.

  • Anda dapat membuat halaman dalam kategori apa pun yang Anda inginkan. Saya memilih Perusahaan / Organisasi, tanpa alasan tertentu.
Cara membuat facebook messenger chatbot

2. Langkah selanjutnya yang diperlihatkan Facebook adalah opsional, dan dapat dilewati.

3. Selanjutnya, kunjungi Situs Web Pengembang Facebook.

  • Di kanan atas, arahkan mouse Anda pada " Aplikasi Saya " dan kemudian klik " Tambahkan Aplikasi Baru " dari menu drop-down.
Cara membuat facebook messenger chatbot
  • Klik " pengaturan dasar " ketika Facebook meminta Anda untuk memilih platform.
Cara membuat facebook messenger chatbot

4. Isi rincian untuk Nama Aplikasi Anda dan alamat email kontak.

  • Pilih " Aplikasi untuk Halaman " di Kategori.
  • Klik pada " Buat ID Aplikasi ".
Cara membuat facebook messenger chatbot

5. Anda akan dibawa ke dasbor untuk aplikasi Anda. Di bilah sisi, navigasikan ke " + Tambahkan Produk " dan pilih " Messenger " dengan mengklik tombol " Memulai ".

Cara membuat facebook messenger chatbot

6. Pilih " Atur Webhooks ".

Cara membuat facebook messenger chatbot

7. Isi bidang yang diperlukan, ganti “Callback URL” dengan URL aplikasi Heroku, Verifikasi Token dengan token yang digunakan dalam file index.js, dan pilih Bidang Langganan berikut:

  • message_deliveries
  • pesan
  • message_optins
  • messaging_postbacks
Cara membuat facebook messenger chatbot

Catatan: Pastikan Anda menambahkan " / webhook " ke URL Panggilan Balik sehingga index.js menjalankan fungsi yang diperlukan ketika Facebook mencoba untuk melakukan ping pada URL, itu dapat memverifikasi "Verifikasi Token".

8. Klik " Verifikasi dan Simpan ".

9. Di bagian “ Pembuatan Token ”, klik “ Pilih Halaman ” dan pilih halaman yang Anda buat sebelumnya.

Ini akan menghasilkan " Token Akses Halaman ", simpan di suatu tempat; Anda akan membutuhkannya nanti.

Cara membuat facebook messenger chatbot

10. Selanjutnya, Anda harus membuat kueri POST ke aplikasi Anda, menggunakan Token Akses Halaman yang dihasilkan pada langkah terakhir. Ini dapat dengan mudah dilakukan di Terminal. Cukup jalankan perintah berikut, ganti PAGE_ACCESS_TOKEN dengan Token Akses Laman yang Anda buat .

curl -X POST “//graph.facebook.com/v2.6/me/subscribed_apps?access_token=PAGE_ACCESS_TOKEN”

Anda harus menerima respons " sukses " di Terminal.

Lebih Banyak Pengaturan Heroku

Ya, kita belum selesai. Tidak hampir.

1. Pergi ke situs web Heroku dan masuk dengan ID email Anda.

2. Temukan aplikasi Anda di "dasbor" dan klik di atasnya.

3. Navigasikan ke tab Pengaturan.

Cara membuat facebook messenger chatbot

4. Klik pada " Reveal Config Vars "

Cara membuat facebook messenger chatbot

5. Tambahkan PAGE_ACCESS_TOKEN sebagai " config var ", dan klik " Tambah ".

Cara membuat facebook messenger chatbot

Menyandikan Bot yang Sebenarnya

Sekarang setelah kita selesai dengan pekerjaan kasar, kita dapat fokus pada apa yang benar-benar penting: membuat bot merespons pesan. Sebagai permulaan, kami hanya akan merancang bot yang hanya menggemakan pesan yang diterimanya. Ternyata, tugas sederhana ini membutuhkan sedikit kode untuk berfungsi.

1. Mengkode Pendengar Pesan

Sebelum bot dapat mengulangi pesan, ia harus dapat mendengarkan pesan. Ayo lakukan itu dulu.

Dalam file index.js, tambahkan kode berikut:

[js]

app.post ('/ webhook', function (req, res) {
var events = req.body.entry [0] .messaging;
untuk (i = 0; i <events.length; i ++) {
var event = acara [i];
if (event.message && event.message.text) {
sendMessage (event.sender.id, {text: "Echo:" + event.message.text});
}
}
res.sendStatus (200);
});

[/ js]

Apa fungsi ini, apakah memeriksa pesan yang diterima, dan kemudian memeriksa apakah ada teks dalam pesan. Jika ia menemukan teks dalam pesan yang diterima, ia memanggil fungsi sendMessage (ditampilkan nanti), meneruskan ID pengirim dan teks untuk dikirim kembali. Penting untuk memahami nilai-nilai berikut dan apa artinya:

  • event.message.text adalah teks yang diterima dalam pesan. Misalnya, jika seseorang mengirim pesan "Halo" ke bot kami, nilai event.message.text akan menjadi "Halo".
  • event.sender.id adalah id dari orang yang mengirim pesan ke bot. Ini diperlukan agar bot tahu siapa yang harus ditanggapi.

2. Mengkode Fungsi sendMessage

Mari kode fungsi "sendMessage", sekarang.

[js]

fungsi sendMessage (recipientId, message) {
permintaan({
url: '//graph.facebook.com/v2.6/me/messages',
qs: {access_token: process.env.PAGE_ACCESS_TOKEN},
metode: 'POST',
json: {
penerima: {id: recipientId},
pesan: pesan,
}
}, fungsi (kesalahan, respons, isi) {
if (error) {
console.log ('Kesalahan mengirim pesan:', kesalahan);
} lain jika (response.body.error) {
console.log ('Kesalahan:', response.body.error);
}
});
};

[/ js]

Fungsi "sendMessage" mengambil dua parameter:

  • penerima
  • pesan

ReceiverId diperlukan agar pesan dapat dialamatkan kepada pengguna yang benar.

Pesan adalah teks aktual yang akan dikirim dalam respons.

3. Mendorong Perubahan ke Heroku

Jika Anda telah menyelesaikan langkah-langkah di atas, bot Anda harus dapat mengulang kembali teks yang diterima. Tapi pertama-tama, Anda harus mendorong perubahan ke aplikasi yang dihosting di Heroku. Untuk melakukan ini, ikuti langkah-langkah yang diberikan di bawah ini:

1. Luncurkan Terminal.

2. Ubah direktori ke direktori testbot Anda
cd testbot

3. Lakukan langkah-langkah berikut:

  • git add.
  • Catatan: Ada "." Di akhir "git add"
  • git commit -m “Komit pertama”
  • git dorong master heroku

4. Sekarang kirim pesan ke halaman Anda, dan bot akan mengulangi pesan itu kembali kepada Anda.

Cara membuat facebook messenger chatbot

Respons Bersyarat alias Membuat Bot Lebih Cerdas

Kami dapat menggunakan pencocokan teks untuk memungkinkan bot messenger Facebook kami merespon sesuai dengan kata kunci khusus tertentu.

Untuk mencapai ini, kita perlu menambahkan fungsi lain. Saya menamakannya "conditionalResponses", tetapi Anda dapat memilih nama apa pun yang Anda inginkan.

1. Mengkode Fungsi ConditionalResponses

[js]

function conditionalResponses (recipientId, text) {
text = text || "";

var what = text.match (/ what / gi); // periksa apakah string teks berisi kata "apa"; abaikan case
varGadget-Info.com = text.match (/ beebom / gi); // periksa apakah string teks berisi kata "beebom"; abaikan case
var who = text.match (/ who / gi); // periksa apakah string teks berisi kata "siapa"; abaikan case
var you = text.match (/ you / gi); // periksa apakah string teks berisi kata "Anda"; abaikan case

// jika teks berisi "apa" dan "beebom", lakukan ini:

if (what! = null &&; Gadget-Info.com! = null) {
message = {
teks: "Beebom adalah situs web yang menawarkan sumber daya teknologi. Selamat datang."
}
sendMessage (recipientId, message);
kembali benar;
}

// jika teks berisi "siapa" dan "Anda", lakukan ini:
if (who! = null && you! = null) {
message = {
teks: "Saya diminta untuk tidak membahas identitas saya secara online."
}
sendMessage (recipientId, message);
kembali benar;
}

// jika tidak ada yang cocok, kembalikan false untuk melanjutkan eksekusi fungsi dalam.
return false;
};

[/ js]

Dalam baris 4 hingga 7, kami telah menetapkan variabel tergantung pada pencocokan string yang diterima dengan kata-kata tertentu. Bagian terbaik tentang menggunakan "text.match ()" adalah ia menggunakan Ekspresi Reguler (biasanya disebut regex, baca lebih lanjut di sini.). Ini baik untuk kita, karena ini berarti bahwa selama bahkan bagian dari kata dalam teks yang diterima cocok dengan salah satu kata yang kita sebutkan di text.match (), variabel tidak akan menjadi nol. Ini berarti, bahwa jika pesan yang diterima adalah "Apa Beebom?", "Var apa" dan "var beebom" tidak akan menjadi nol, karena kata "Apa" berisi kata "apa". Jadi kita diselamatkan dari membuat pernyataan tambahan untuk setiap variasi di mana seseorang mungkin mengatakan "Apa".

2. Mengedit Pendengar Pesan

Kami juga perlu mengedit Pendengar Pesan yang kami kodekan, untuk memastikan bahwa ia mencoba mencocokkan teks yang diterima dengan fungsi "conditionalResponses" juga.

[js]

app.post ('/ webhook', function (req, res) {
var events = req.body.entry [0] .messaging;
untuk (i = 0; i <events.length; i ++) {
var event = acara [i];
if (event.message && event.message.text) {

// pertama-tama coba periksa apakah pesan yang diterima memenuhi syarat untuk respons bersyarat.
if (! conditionalResponses (event.sender.id, event.message.text)) {

// jika tidak, gema pesan yang diterima kembali ke pengirim.
sendMessage (event.sender.id, {text: "Echo:" + event.message.text});
}
}
}
res.sendStatus (200);
});

[/ js]

Perubahan pendengar mungkin tidak terlihat sangat drastis, tetapi pengaruhnya jelas. Sekarang, pendengar pertama-tama mencoba merespons dengan respons bersyarat, dan jika tidak ada kondisi yang valid untuk pesan yang diterima, itu hanya menggemakan pesan kembali ke pengguna.

3. Mendorong Perubahan ke Heroku

Sebelum Anda dapat mencoba fitur-fitur baru, Anda harus mendorong kode yang diperbarui ke aplikasi yang dihosting di Heroku. Ikuti langkah-langkah di bawah ini untuk melakukan ini:

1. Luncurkan Terminal.

2. Ubah direktori ke direktori testbot Anda
cd testbot

3. Lakukan langkah-langkah berikut:

  • git add.
  • Catatan: Ada "." Di akhir "git add"
  • git commit -m “Menambahkan kemampuan bersyarat”
  • git dorong master heroku

4. Sekarang kirim pesan ke halaman Anda, dan bot akan mengulangi pesan itu kembali kepada Anda.

Cara membuat facebook messenger chatbot

Lebih Banyak Fungsi

Bot kami sekarang merespons serangkaian kecil perintah dalam respons yang bagus dan terstruktur dengan baik. Tapi itu masih tidak terlalu berguna. Mari kita buat beberapa perubahan pada kode untuk menjadikan bot kita perangkat lunak yang lebih " fungsional ". Kami akan memperbaiki banyak fungsi, dan menambahkan beberapa lagi, jadi bersemangatlah.

1. Mengedit Pendengar Pesan

Pendengar pesan kami, pada tahap ini, berfungsi dengan baik. Namun, itu tidak diformat dengan sangat baik dan jika kita terus meningkatkan pernyataan bersarang jika menambahkan " pemeriksaan kondisi " tambahan, itu akan dengan cepat menjadi jelek untuk dilihat, sulit dipahami dan lebih lambat dalam eksekusi. Kami tidak menginginkan itu, sekarang, kan? Mari kita lakukan beberapa perubahan.

Catatan: Ada satu baris kode di pendengar pesan yang bertuliskan "res.sendStatus (200)", baris ini mengirimkan kode status 200 ke Facebook, memberi tahu bahwa fungsi tersebut berhasil dijalankan. Menurut dokumentasi Facebook, Facebook menunggu maksimal 20 detik untuk menerima status 200, sebelum memutuskan bahwa pesan tidak melewati dan menghentikan pelaksanaan kode.

Pendengar pesan baru kami terlihat seperti ini. Kami menggunakan perintah " res.sendStatus (200) " untuk menghentikan eksekusi fungsi segera setelah suatu kondisi dicocokkan dan dieksekusi.

[js]

app.post ('/ webhook', function (req, res) {
var events = req.body.entry [0] .messaging;
untuk (i = 0; i <events.length; i ++) {
var event = acara [i];
if (event.message && event.message.text) {

// pertama periksa teks pesan terhadap kondisi introResponse
if (introResponse (event.sender.id, event.message.text)) {
res.sendStatus (200);
}

// karena tidak ada nama yang lebih baik, saya menyebut newResponse ini: p; periksa ini selanjutnya
lain jika (newResponse (event.sender.id, event.message.text)) {
res.sendStatus (200);
}

// selain itu, gema kembali pesan aslinya
lain {
// ganti gema dengan daftar perintah yang valid
sendMessage (event.sender.id, {text: "Echo:" + event.message.text});
}
}
}
res.sendStatus (200);
});

[/ js]

2. Pengodean Fungsi Respons baru

Pendengar pesan kami sekarang memeriksa teks pesan terhadap serangkaian kondisi di "newResponse" juga, tetapi pertama-tama, kita perlu kode fungsi newResponse. Kami akan menggunakan fungsi ini untuk memeriksa apakah pengguna meminta saran artikel dari situs Gadget-Info.com, mencari istilah permintaan di situs web, dan menyajikan tautan ke pengguna. Sekali lagi, kami akan menggunakan ekspresi reguler untuk mencocokkan teks dengan kata kunci tertentu.

[js]

function newResponse (recipientId, text) {
text = text || "";
var suggest = text.match (/ suggest / gi);
var random = text.match (/ random / gi);
var article = text.match (/ article / gi);
var iphone = text.match (/ iphone / gi);
var android = text.match (/ android / gi);
var mac = text.match (/ mac / gi);
var browser = text.match (/ browser / gi);
var vpn = text.match (/ vpn / gi);

// periksa apakah pengguna meminta saran artikel sama sekali
if (sarankan! = null && artikel! = null) {
var query = "";
// jika saran artikel ditanyakan, periksa topik yang dicari pengguna
if (android! = null) {
query = "Android";
} lain jika (mac! = null) {
query = "Mac";
} lain jika (iphone! = null) {
query = "iPhone";
} lain jika (browser! = null) {
query = "Browser";
} lain jika (vpn! = null) {
query = "VPN";
}
sendButtonMessage (recipientId, query);
kembali benar
}
return false;
};

[/ js]

Kami menggunakan fungsi khusus lain yang disebut "sendButtonMessage" untuk mengirim pesan seandainya pengguna meminta saran artikel. Kami akan membuat ini selanjutnya.

3. Mengkode Fungsi sendButtonMessage

Fungsi sendButtonMessage mengambil dua parameter, ID penerima dan permintaan. ID penerima digunakan untuk mengidentifikasi pengguna kepada siapa pesan harus dikirim, dan permintaan digunakan untuk mengidentifikasi topik di mana pengguna menginginkan saran artikel.

[js]

fungsi sendButtonMessage (recipientId, query) {
var messageData = {
penerima: {
id: recipientId
},
pesan: {
lampiran: {
ketik: "template",
muatan: {
template_type: "button",
teks: "Inilah yang saya temukan untuk" + permintaan,
tombol: [{
ketik: "web_url",
url: "//www.beebom.com/?s="+query,
judul: "Beebom:" + permintaan
}]
}
}
}
};

callSendAPI (messageData);
}

[/ js]

Sekali lagi, kami menggunakan fungsi khusus; kali ini untuk mengirim pesan terakhir, dengan tautan artikel, ke pengguna. Fungsi ini, dalam banyak hal, mirip dengan fungsi "sendMessage" yang kami kodekan sebelumnya, tetapi lebih umum dalam cara mengambil data pesan, yang sesuai dengan kami, karena data pesan kami berubah dengan kueri yang dibuat pengguna.

4. Mengkode Fungsi callSendAPI

Fungsi "callSendAPI" mengambil parameter tunggal, "messageData" . Parameter ini berisi seluruh data pesan, yang diformat dengan benar sesuai dengan aturan Facebook, sehingga messenger dapat menampilkannya dengan benar kepada pengguna.

[js]

function callSendAPI (messageData) {
permintaan({
uri: '//graph.facebook.com/v2.6/me/messages',
qs: {access_token: process.env.PAGE_ACCESS_TOKEN},
metode: 'POST',
json: messageData

}, fungsi (kesalahan, respons, isi) {
if (! error && response.statusCode == 200) {
var recipientId = body.recipient_id;
var messageId = body.message_id;

console.log ("Berhasil mengirim pesan umum dengan id% s ke penerima% s",
messageId, recipientId);
} lain {
console.error ("Tidak dapat mengirim pesan.");
console.error (respons);
console.error (error);
}
});
}

[/ js]

5. Mendorong Perubahan ke Heroku

Kami berada pada langkah terakhir untuk menjadikan bot kami yang ditingkatkan langsung. Kami hanya perlu mendorong semua perubahan kode ke Heroku. Prosesnya sama seperti sebelumnya, dan dijelaskan di bawah ini:

1. Luncurkan Terminal.

2. Ubah direktori ke direktori testbot .
cd testbot

3. Lakukan hal berikut:

  • git add.
  • Catatan: Ada "." Di akhir perintah itu.
  • git commit -m “meningkatkan pemeriksaan dan pemformatan kondisi”
  • git dorong master heroku

4. Sekarang kirim pesan seperti "Sarankan artikel di Android", atau "Beebom, sarankan saya artikel apa pun tentang topik Android"; dan bot akan mengirim pesan yang diformat dengan baik dengan tautan yang dapat Anda ketuk untuk membuka artikel yang terkait dengan permintaan Anda.

Cara membuat facebook messenger chatbot
Cara membuat facebook messenger chatbot

Menggali lebih dalam

Sekarang setelah Anda tahu cara memulai mengembangkan bot messenger Facebook, baca dokumentasi Facebook tentang cara mengembangkan bot messenger Facebook. Meskipun dokumentasinya tidak bagus untuk pemula, Anda bukan pemula lagi. Anda harus memeriksa dokumentasi resmi dan mencoba mencari cara untuk membuat bot Anda lebih pintar. Pemikat: Anda dapat mengirim pesan dengan gambar dan tombol juga! Dimungkinkan juga untuk menggunakan layanan seperti Wit.ai dan Api.ai untuk mengkode bot Anda dan kemudian mengintegrasikannya dengan Facebook, tetapi dalam upaya lemah saya untuk menggunakan layanan tersebut, Wit.ai tidak bekerja dengan baik, dan Api.ai memiliki kurva belajar yang tajam untuk pemula.

Pernahkah Anda mengembangkan bot messenger Facebook? Jika sudah, bagaimana Anda bisa mengembangkannya, dan apa yang bisa ia lakukan? Apakah Anda menggunakan layanan seperti Wit.ai dan Api.ai untuk membuat bot Anda? Jika Anda belum pernah mencoba mengkode bot, buka dan kembangkan bot messenger Facebook Anda sendiri, buat bot itu lebih pintar dan lebih baik, dan beri tahu kami tentang pengalaman Anda dalam komentar di bawah.