Đề XuấT, 2024

Editor Choice

Cách tạo Bot Facebook Messenger (Hướng dẫn)

Các chương trình bot messenger messenger của Facebook không có gì mới và rất nhiều bot tuyệt vời đã tồn tại. Tuy nhiên, các tài nguyên liên quan đến chính xác cách xây dựng bot của riêng bạn rất khan hiếm và thiếu lời giải thích cho những người chưa biết về API đồ thị của Facebook. Các bot Messenger hiện cũng yêu cầu bạn sử dụng URL gọi lại webhook được bảo mật SSL (nhiều hơn về sau) và thiết lập SSL không dành cho tất cả mọi người và cũng tốn tiền.

Trong bài viết này, tôi sẽ hướng dẫn bạn toàn bộ quá trình tạo bot messenger Facebook đơn giản, bởi vì tài liệu riêng của Facebook được giải thích khá kém. Chúng tôi sẽ thiết lập một ứng dụng đám mây sử dụng giao thức https, mã hóa bot trong Node.js (là ngôn ngữ javascript, phía máy chủ), sử dụng git để đẩy mã lên ứng dụng đám mây và thử nghiệm nó trên Facebook Messenger.

Cài đặt Bot

Bạn sẽ cần cài đặt Node trên máy tính xách tay của bạn. Nếu bạn không, hãy truy cập trang web của Node để tải xuống và cài đặt nó.

Khi bạn đã hoàn tất, bạn có thể tiếp tục với thiết lập cho bot. Làm theo các bước dưới đây:

1. Khởi động thiết bị đầu cuối.

2. Bạn cần một thư mục riêng để giữ mã của bạn.

  • Tạo một thư mục mới
    mkdir testbot
  • Thay đổi thư mục làm việc của bạn thành thư mục bạn vừa tạo
    cd testbot

3. Tiếp theo, khởi chạy ứng dụng Node.
npm init

  • Bạn sẽ được yêu cầu nhập thông tin về ứng dụng của mình, chỉ cần sử dụng mặc định bằng cách nhấn Enter cho mọi thứ.

4. Cài đặt gói
npm install express body-parser request --save

  • Lệnh sẽ chạy, và đưa ra một số cảnh báo; bỏ qua chúng

5. Trong Finder, hãy mở thư mục trong bản testbotbot mà bạn đã tạo và tìm tệp có tên là gói pack.json mở cái này trong một trình soạn thảo như Sublime Text.

6. Trong tệp này, chúng ta cần thêm một dòng
"start": "node index.js"

  • Đừng quên nối thêm một dòng chữ, ở cuối dòng trước.

7. Tiếp theo, tạo một tệp mới trong Sublime Text và đặt mã sau vào bên trong nó:

[js]

var express = Yêu cầu ('express');
var bodyParser = Yêu cầu ('body-Parser');
var request = request ('request');
ứng dụng var = express ();

app.use (bodyParser.urlencoding ({Extended: false}));
app.use (bodyParser.json ());
app.listen ((process.env.PORT || 3000));
app.get ('/', hàm (req, res) {
res.send ('Đây là Máy chủ TestBot');
});
app.get ('/ webhook', hàm (req, res) {
if (req.query ['hub.verify_token'] === 'testbot_verify_token') {
res.send (req.query ['hub.challenge']);
} khác {
res.send ('Mã xác minh không hợp lệ');
}
});

[/ js]

Lưu tệp này dưới dạng index.js

Lưu ý: Trong Dòng 13, giá trị của 'hub.verify_token' được đặt là ' testbot_verify_token', hãy nhớ giá trị này vì nó sẽ được sử dụng khi tạo webhook trong Facebook.

Tạo kho lưu trữ Git

Bây giờ chúng tôi đã thiết lập xử lý gọi lại bot của chúng tôi, chúng tôi cần đẩy mã lên Heroku. Đối với điều đó, chúng ta cần tạo một kho git trong thư mục của chúng tôi.

Lưu ý: Đây là một hệ thống kiểm soát phiên bản cho các tệp và mã phần mềm. Bạn có thể đọc thêm về nó trên Wikipedia.

Tạo một kho lưu trữ git rất dễ dàng và chỉ mất một vài lệnh Terminal.

Lưu ý: Hãy chắc chắn rằng bạn đang ở trong thư mục của Testbot, trong Terminal. Bạn có thể làm điều này bằng cách gõ lệnh pwd vào Terminal.

Thực hiện theo các bước sau để tạo kho lưu trữ git:

1. git init

2. git add .

3. git commit -m "Register Facebook Webhook"

Cài đặt Heroku

Trước khi chúng tôi thậm chí đi vào các trang dành cho nhà phát triển của Facebook, chúng tôi cần một URL gọi lại mà Facebook có thể nói chuyện. URL này cần sử dụng giao thức https, có nghĩa là chúng tôi cần cài đặt chứng chỉ SSL trên trang web của chúng tôi; tuy nhiên, đây là hướng dẫn dành cho người mới bắt đầu với bot messenger của Facebook, vì vậy chúng ta đừng phức tạp hóa mọi thứ. Chúng tôi sẽ sử dụng Heroku để triển khai mã của chúng tôi. Heroku cung cấp cho bạn các URL https cho các ứng dụng của bạn và có gói miễn phí đáp ứng nhu cầu (rất cơ bản) của chúng tôi.

Truy cập trang web Heroku và đăng ký chính mình.

Lưu ý: Trong lĩnh vực nói rằng Hãy chọn Ngôn ngữ phát triển chính của bạn, hãy sử dụng ngôn ngữ khác Tôi sử dụng một ngôn ngữ khác.

Khi bạn đã hoàn thành việc đó, hãy cài đặt công cụ Heroku cho HĐH của bạn (Mac, cho tôi) và cài đặt nó. Điều này sẽ cung cấp cho bạn quyền truy cập vào Heroku trên Terminal (hoặc dấu nhắc lệnh, trên Windows).

Tiếp theo, chúng tôi sẽ tạo một ứng dụng trên Heroku, nơi sẽ chứa toàn bộ mã cho bot của chúng tôi. Làm theo các bước dưới đây:

1. Ra mắt thiết bị đầu cuối

2. heroku login

  • Bạn sẽ được yêu cầu nhập email và mật khẩu của bạn.
  • Nhập email của bạn, nhấn Enter; Sau đó, nhập mật khẩu của bạn, nhấn Enter.
  • Bạn sẽ đăng nhập vào heroku

3. heroku create

  • Điều này sẽ tạo một ứng dụng trên Heroku và cung cấp cho bạn một siêu liên kết. Lưu ý rằng liên kết đang sử dụng giao thức https. Dễ chứ nhỉ?

4. Bây giờ bạn có thể đẩy mã ứng dụng của mình sang Heroku
git push heroku master

5. Khi điều này được thực hiện, ứng dụng của bạn về cơ bản là đang hoạt động và bạn có thể truy cập liên kết trong trình duyệt của mình để kiểm tra xem mọi thứ có hoạt động tốt không. Nó sẽ mở một trang web nói rằng Đây là Máy chủ TestBot .

Cài đặt Facebook

Đã đến lúc kết nối bot của chúng tôi với Facebook! Bạn sẽ cần tạo Trang Facebook mới hoặc sử dụng Trang Facebook hiện có mà bạn sở hữu. Tôi sẽ chỉ cho bạn cách tiến hành bằng cách tạo Trang Facebook mới.

1. Truy cập Facebook và tạo một trang mới.

  • Bạn có thể tạo một trang trong bất kỳ danh mục nào bạn muốn. Tôi đang chọn Công ty / Tổ chức, không có lý do cụ thể.

2. Các bước tiếp theo mà Facebook hiển thị là tùy chọn và có thể bỏ qua.

3. Tiếp theo, hãy truy cập Trang web của Nhà phát triển Facebook.

  • Ở phía trên bên phải, di chuột qua trên Ứng dụng của tôi và sau đó nhấp vào trên Thêm Thêm ứng dụng mới từ menu thả xuống.

  • Nhấp vào thiết lập cơ bản của Cameron, khi Facebook nhắc bạn chọn một nền tảng.

4. Điền thông tin chi tiết cho Tên ứng dụng và địa chỉ email liên hệ của bạn.

  • Chọn Ứng dụng cho các trang khác trong Danh mục.
  • Nhấp chuột vào ứng dụng Tạo ứng dụng ID .

5. Bạn sẽ được đưa đến bảng điều khiển cho ứng dụng của bạn. Trên thanh bên, điều hướng đến tên + Thêm sản phẩm, và chọn nút Messenger Messenger bằng cách nhấp vào nút Bắt đầu trực tiếp .

6. Chọn Cài đặt webhooks Webhooks .

7. Điền vào các trường bắt buộc, thay thế URL Gọi lại của Hồi giáo bằng URL của ứng dụng Heroku, Xác minh mã thông báo bằng mã thông báo được sử dụng trong tệp index.js và chọn Trường đăng ký sau:

  • tin nhắn
  • tin nhắn
  • tin nhắn_optins
  • nhắn tin_postbacks

Lưu ý: Hãy chắc chắn rằng bạn đã nối thêm URL / webhook vào URL gọi lại để index.js thực thi chức năng được yêu cầu khi Facebook cố gắng ping URL, nó có thể xác minh Mã xác nhận mã xác nhận.

8. Nhấp vào xác minh và lưu trên mạng .

9. Trong phần Thế hệ mã thông báo, hãy nhấp vào trên mạng Chọn một trang và chọn trang bạn đã tạo trước đó.

Điều này sẽ tạo ra một mã thông báo truy cập trang trên mạng, lưu nó ở đâu đó; bạn sẽ cần nó sau

10. Tiếp theo, bạn sẽ phải tạo một truy vấn POST cho ứng dụng của mình, sử dụng Mã thông báo truy cập trang được tạo ở bước cuối cùng. Điều này có thể dễ dàng thực hiện trong Terminal. Chỉ cần chạy lệnh sau, thay thế PAGE_ACCESS_TOKEN bằng Mã thông báo truy cập trang bạn đã tạo .

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

Bạn sẽ nhận được phản hồi thành công của người Viking trong Terminal.

Thêm thiết lập Heroku

Vâng, chúng tôi chưa hoàn thành. Không gần.

1. Truy cập trang web Heroku và đăng nhập bằng ID email của bạn.

2. Xác định vị trí ứng dụng của bạn trong bảng điều khiển trực tuyến và nhấp vào nó.

3. Điều hướng đến tab Cài đặt.

4. Nhấp chuột vào Reveal Revars Config Vars

5. Thêm PAGE_ACCESS_TOKEN dưới dạng cấu hình của var, và nhấp vào Thêm Add .

Mã hóa Bot thực tế

Bây giờ chúng ta đã hoàn thành công việc khó khăn, chúng ta có thể tập trung vào những gì thực sự quan trọng: làm cho bot trả lời tin nhắn. Để bắt đầu, chúng ta sẽ chỉ thiết kế một bot chỉ đơn giản lặp lại các thông điệp mà nó nhận được. Hóa ra, nhiệm vụ đơn giản này đòi hỏi một chút mã đáng kể để hoạt động.

1. Mã hóa Trình nghe tin nhắn

Trước khi bot có thể lặp lại tin nhắn, nó cần có khả năng nghe tin nhắn. Trước tiên hãy làm điều đó.

Trong tệp index.js, thêm mã sau đây:

[js]

app.post ('/ webhook', hàm (req, res) {
var event = req.body.entry [0] .messaging;
for (i = 0; i <event.length; i ++) {
sự kiện var = sự kiện [i];
if (event.message && event.message.text) {
sendMessage (event.sender.id, {text: "Echo:" + event.message.text});
}
}
res.sendStatus (200);
});

[/ js]

Chức năng này làm gì, nó kiểm tra các tin nhắn đã nhận, rồi kiểm tra xem có tin nhắn trong tin nhắn không. Nếu nó tìm thấy văn bản trong tin nhắn đã nhận, nó sẽ gọi hàm sendMessage (hiển thị sau), chuyển ID của người gửi và văn bản để gửi lại. Điều quan trọng là phải hiểu các giá trị sau đây và ý nghĩa của chúng:

  • event.message.text là văn bản nhận được trong tin nhắn. Ví dụ: nếu ai đó gửi tin nhắn thì Hello Hello đến bot của chúng tôi, giá trị của event.message.text sẽ là kiểu Hello Hello.
  • event.sender.id là id của người đã gửi tin nhắn đến bot. Điều này là bắt buộc để bot biết ai sẽ trả lời.

2. Mã hóa chức năng sendMessage

Bây giờ, hãy mã hóa chức năng của send sendMessage.

[js]

chức năng sendMessage (receiveId, message) {
yêu cầu({
url: '//graph.facebook.com/v2.6/me/messages',
qs: {access_token: process.env.PAGE_ACCESS_TOKEN},
phương thức: 'POST',
json: {
người nhận: {id: receiveId},
tin nhắn: tin nhắn,
}
}, hàm (lỗi, phản hồi, thân) {
nếu (lỗi) {
console.log ('Lỗi gửi tin nhắn:', lỗi);
} if if (answer.body.error) {
console.log ('Lỗi:', answer.body.error);
}
});
};

[/ js]

Hàmem sendMessage có hai tham số:

  • người nhận
  • thông điệp

Người nhận được yêu cầu để tin nhắn có thể được gửi đến đúng người dùng.

Tin nhắn là văn bản thực tế sẽ được gửi trong phản hồi.

3. Đẩy các thay đổi lên Heroku

Nếu bạn đã hoàn thành các bước trên, bot của bạn sẽ có thể lặp lại văn bản nhận được. Nhưng trước tiên, bạn phải đẩy các thay đổi đến ứng dụng được lưu trữ trên Heroku. Để làm điều này, hãy làm theo các bước được đưa ra dưới đây:

1. Khởi động thiết bị đầu cuối.

2. Thay đổi thư mục thành thư mục testbot của bạn
testbot cd

3. Thực hiện các bước sau:

  • git thêm.
  • Lưu ý: Có một tên miền.
  • cam kết git
  • git đẩy heroku master

4. Bây giờ gửi tin nhắn đến trang của bạn và bot sẽ gửi lại tin nhắn cho bạn.

Phản hồi có điều kiện aka Làm cho Bot thông minh hơn

Chúng tôi có thể sử dụng kết hợp văn bản để cho phép bot messenger của Facebook phản hồi theo các từ khóa đặc biệt nhất định.

Để đạt được điều này, chúng ta cần thêm một chức năng khác. Tôi đang đặt tên cho nó là điều kiệnResponses, nhưng bạn có thể chọn bất cứ tên nào bạn thích.

1. Mã hóa hàm điều kiệnResponses

[js]

chức năng điều kiệnResponses (receiveId, text) {
văn bản = văn bản | | "";

var what = text.match (/ what / gi); // kiểm tra xem chuỗi văn bản có chứa từ "what"; bỏ qua trường hợp
varGadget-Info.com = text.match (/ beebom / gi); // kiểm tra xem chuỗi văn bản có chứa từ "beebom" hay không; bỏ qua trường hợp
var who = text.match (/ who / gi); // kiểm tra xem chuỗi văn bản có chứa từ "who"; bỏ qua trường hợp
var you = text.match (/ you / gi); // kiểm tra xem chuỗi văn bản có chứa từ "bạn" hay không; bỏ qua trường hợp

// nếu văn bản chứa cả "what" và "beebom", hãy làm điều này:

if (what! = null &&; Utility-Info.com! = null) {
tin nhắn = {
văn bản: "Beebom là một trang web cung cấp tài nguyên công nghệ. Chào mừng bạn."
}
sendMessage (receiveId, tin nhắn);
trả lại đúng sự thật;
}

// nếu văn bản chứa cả "ai" và "bạn", hãy làm điều này:
if (who! = null && you! = null) {
tin nhắn = {
văn bản: "Tôi đã được yêu cầu không thảo luận về danh tính của tôi trực tuyến."
}
sendMessage (receiveId, tin nhắn);
trả lại đúng sự thật;
}

// nếu không có gì khớp, trả về false để tiếp tục thực thi hàm bên trong.
trả lại sai;
};

[/ js]

Trong các dòng 4 đến 7, chúng tôi đã xác định các biến tùy thuộc vào việc khớp chuỗi nhận được với các từ cụ thể. Phần tốt nhất về việc sử dụng văn bản của Wikipedia.m.m () là nó sử dụng Biểu thức chính quy (thường được gọi là regex, đọc thêm tại đây.). Điều này tốt cho chúng tôi, bởi vì điều này có nghĩa là miễn là một phần của một từ trong văn bản nhận được khớp với một trong những từ chúng tôi đã đề cập trong text.match (), biến sẽ không có giá trị. Điều này có nghĩa là, nếu tin nhắn nhận được là của What What Beebom? Nghi, thì var var và điều gì đó sẽ không có giá trị, bởi vì từ "What What What What" Vì vậy, chúng tôi được lưu từ việc tạo các báo cáo bổ sung cho mọi biến thể trong đó ai đó có thể nói là gì

2. Chỉnh sửa Trình nghe tin nhắn

Chúng ta cũng cần chỉnh sửa Trình nghe tin nhắn mà chúng ta đã mã hóa, để đảm bảo rằng nó cũng cố gắng khớp văn bản nhận được với chức năng điều kiệnResponseses.

[js]

app.post ('/ webhook', hàm (req, res) {
var event = req.body.entry [0] .messaging;
for (i = 0; i <event.length; i ++) {
sự kiện var = sự kiện [i];
if (event.message && event.message.text) {

// trước tiên hãy thử kiểm tra xem tin nhắn nhận được có đủ điều kiện trả lời có điều kiện hay không.
if (! cond conditionResponses (event.sender.id, event.message.text)) {

// nếu không, chỉ cần lặp lại tin nhắn đã nhận lại cho người gửi.
sendMessage (event.sender.id, {text: "Echo:" + event.message.text});
}
}
}
res.sendStatus (200);
});

[/ js]

Những thay đổi trong người nghe có thể trông không quyết liệt lắm, nhưng hiệu quả của chúng chắc chắn là như vậy. Bây giờ, người nghe trước tiên cố gắng phản hồi với các phản hồi có điều kiện và nếu không có điều kiện hợp lệ cho tin nhắn nhận được, nó chỉ đơn giản lặp lại tin nhắn cho người dùng.

3. Đẩy các thay đổi lên Heroku

Trước khi bạn có thể thử các tính năng mới, bạn sẽ phải đẩy mã được cập nhật vào ứng dụng được lưu trữ trên Heroku. Thực hiện theo các bước dưới đây để làm điều này:

1. Khởi động thiết bị đầu cuối.

2. Thay đổi thư mục thành thư mục testbot của bạn
testbot cd

3. Thực hiện các bước sau:

  • git thêm.
  • Lưu ý: Có một tên miền.
  • git commit -m bổ sung các khả năng có điều kiện
  • git đẩy heroku master

4. Bây giờ gửi tin nhắn đến trang của bạn và bot sẽ gửi lại tin nhắn cho bạn.

Nhiều chức năng hơn

Bot của chúng tôi hiện đáp ứng một nhóm lệnh nhỏ trong các phản hồi có cấu trúc tốt. Nhưng nó vẫn không hữu ích lắm. Chúng ta hãy thực hiện thêm một số thay đổi về mã để biến bot của chúng ta thành một phần mềm có chức năng nhiều hơn nữa. Chúng tôi sẽ giới thiệu rất nhiều chức năng và thêm một vài chức năng nữa, vì vậy hãy phấn khích.

1. Chỉnh sửa Trình nghe tin nhắn

Nghe tin nhắn của chúng tôi, ở giai đoạn này, hoạt động tốt. Tuy nhiên, nó không được định dạng rất độc đáo và nếu chúng ta tiếp tục tăng các câu lệnh lồng nhau nếu thêm các điều kiện bổ sung, hãy kiểm tra xem, nó sẽ nhanh chóng trở nên xấu xí khi nhìn vào, khó hiểu và chậm thực thi. Chúng ta không muốn điều đó, bây giờ, phải không? Hãy thực hiện một số thay đổi.

Lưu ý: Có một dòng mã trong trình nghe tin nhắn đọc Res res.sendStatus (200), dòng này gửi một mã trạng thái 200 đến Facebook, nói với nó rằng chức năng đã thực hiện thành công. Theo tài liệu của Facebook, Facebook chờ tối đa 20 giây để nhận 200 trạng thái, trước khi quyết định rằng tin nhắn không được chuyển qua và dừng thực thi mã.

Người nghe tin nhắn mới của chúng tôi trông như thế này. Chúng tôi sử dụng lệnh của res res.sendStatus (200) để dừng thực thi chức năng ngay khi một điều kiện được khớp và thực thi.

[js]

app.post ('/ webhook', hàm (req, res) {
var event = req.body.entry [0] .messaging;
for (i = 0; i <event.length; i ++) {
sự kiện var = sự kiện [i];
if (event.message && event.message.text) {

// kiểm tra văn bản tin nhắn đầu tiên theo các điều kiện introResponse
if (introResponse (event.sender.id, event.message.text)) {
res.sendStatus (200);
}

// vì thiếu một cái tên hay hơn, tôi đã gọi cái này là newResponse: p; kiểm tra cái này tiếp theo
khác if (newResponse (event.sender.id, event.message.text)) {
res.sendStatus (200);
}

// khác, chỉ cần trả lại tin nhắn ban đầu
khác {
// thay thế echo bằng danh sách lệnh hợp lệ
sendMessage (event.sender.id, {text: "Echo:" + event.message.text});
}
}
}
res.sendStatus (200);
});

[/ js]

2. Mã hóa Hàm mớiResponse

Trình nghe tin nhắn của chúng tôi hiện cũng kiểm tra văn bản tin nhắn dựa trên một tập hợp các điều kiện trong Mới newResponse, nhưng trước tiên, chúng tôi cần mã hóa hàm newResponse. Chúng tôi sẽ sử dụng chức năng này để kiểm tra xem người dùng có yêu cầu đề xuất bài viết từ trang webGadget-Info.comwebsite, tìm kiếm cụm từ truy vấn trên trang web và hiển thị liên kết cho người dùng. Một lần nữa, chúng tôi sẽ sử dụng các biểu thức thông thường để khớp văn bản với các từ khóa cụ thể.

[js]

chức năng newResponse (receiveId, văn bản) {
văn bản = văn bản | | "";
var suggest = text.match (/ suggest / gi);
var Random = text.match (/ ngẫu nhiên / 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);

// kiểm tra xem người dùng có yêu cầu đề xuất bài viết nào không
if (suggest! = null && article! = null) {
truy vấn var = "";
// nếu đề xuất bài viết được truy vấn, hãy kiểm tra chủ đề mà người dùng đang tìm kiếm
if (android! = null) {
truy vấn = "Android";
} khác if (mac! = null) {
truy vấn = "Mac";
} khác nếu (iphone! = null) {
truy vấn = "iPhone";
} khác if (trình duyệt! = null) {
truy vấn = "Trình duyệt";
} if if (vpn! = null) {
truy vấn = "VPN";
}
sendButtonMessage (receiveId, truy vấn);
trở về đúng
}
trả lại sai;
};

[/ js]

Chúng tôi đang sử dụng một chức năng tùy chỉnh khác có tên là Send sendButtonMessage, để gửi tin nhắn trong trường hợp người dùng đang yêu cầu đề xuất bài viết. Chúng tôi sẽ tạo ra điều này tiếp theo.

3. Mã hóa hàm sendButtonMessage

Hàm sendButtonMessage có hai tham số, ID người nhậntruy vấn. ID người nhận được sử dụng để xác định người dùng phải gửi tin nhắn và truy vấn được sử dụng để xác định chủ đề mà người dùng muốn đề xuất bài viết.

[js]

hàm sendButtonMessage (receiveId, truy vấn) {
var messageData = {
người nhận: {
id: receiveId
},
thông điệp: {
tập tin đính kèm: {
gõ: "mẫu",
khối hàng: {
template_type: "nút",
văn bản: "Đây là những gì tôi tìm thấy cho" + truy vấn,
nút:[{
gõ: "web_url",
url: "//www.beebom.com/?s="+query,
tiêu đề: "Beebom:" + truy vấn
}]
}
}
}
};

gọiSendAPI (messageData);
}

[/ js]

Một lần nữa, chúng tôi đang sử dụng một chức năng tùy chỉnh; lần này để gửi tin nhắn cuối cùng, với các liên kết bài viết, đến người dùng. Theo nhiều cách, chức năng này giống với chức năng của send sendMessage, chúng tôi đã mã hóa trước đó, nhưng chung chung hơn trong cách lấy dữ liệu tin nhắn, phù hợp với chúng tôi, vì dữ liệu tin nhắn của chúng tôi thay đổi theo truy vấn mà người dùng thực hiện.

4. Mã hóa hàm callSendAPI

Hàm callSendAPI của người Viking có một tham số duy nhất là tin nhắnDataData . Tham số này chứa toàn bộ dữ liệu tin nhắn, được định dạng đúng theo quy tắc của Facebook, để trình nhắn tin có thể hiển thị chính xác cho người dùng.

[js]

chức năng gọiSendAPI (messageData) {
yêu cầu({
uri: '//graph.facebook.com/v2.6/me/messages',
qs: {access_token: process.env.PAGE_ACCESS_TOKEN},
phương thức: 'POST',
json: tin nhắnData

}, hàm (lỗi, phản hồi, thân) {
if (! error && answer.statusCode == 200) {
var receiveId = body.recipient_id;
var messageId = body.message_id;

console.log ("Đã gửi thành công tin nhắn chung chung với id% s đến người nhận% s",
messageId, receiveId);
} khác {
console.error ("Không thể gửi tin nhắn.");
console.error (phản hồi);
console.error (lỗi);
}
});
}

[/ js]

5. Đẩy các thay đổi lên Heroku

Chúng tôi đang ở bước cuối cùng để làm cho bot nâng cấp của chúng tôi sống. Chúng ta chỉ cần đẩy tất cả các thay đổi mã sang Heroku. Quá trình này giống như trước đây và được nêu ra dưới đây:

1. Khởi động thiết bị đầu cuối.

2. Thay đổi thư mục thành thư mục testbot .
testbot cd

3. Thực hiện như sau:

  • git thêm.
  • Lưu ý: Có một tên miền . Khác ở cuối lệnh đó.
  • git commit -miên cải thiện kiểm tra điều kiện và định dạng
  • git đẩy heroku master

4. Bây giờ hãy gửi một tin nhắn, chẳng hạn như gợi ý một bài viết về Android, hoặc Be Beomom, gợi ý cho tôi bất kỳ bài viết nào về chủ đề Android. và bot sẽ gửi một tin nhắn được định dạng độc đáo với một liên kết mà bạn có thể nhấn vào để mở các bài viết liên quan đến truy vấn của bạn.

Đào sâu hơn

Bây giờ bạn đã biết làm thế nào để bắt đầu với việc phát triển bot messenger của Facebook, hãy xem tài liệu của Facebook về cách phát triển bot messenger của Facebook. Mặc dù tài liệu này không tốt cho người mới bắt đầu, nhưng bạn không phải là người mới bắt đầu nữa. Bạn nên kiểm tra tài liệu chính thức và cố gắng tìm ra cách làm cho bot của bạn thậm chí thông minh hơn. Teaser: Bạn cũng có thể gửi tin nhắn với hình ảnh và nút! Cũng có thể sử dụng các dịch vụ như Wit.ai và Api.ai để mã hóa bot của bạn và sau đó tích hợp nó với Facebook, nhưng trong những nỗ lực yếu kém của tôi để sử dụng các dịch vụ đó, Wit.ai không hoạt động tốt và Api.ai có một đường cong học tập sắc nét cho người mới bắt đầu.

Bạn đã bao giờ phát triển bot messenger Facebook chưa? Nếu bạn có, làm thế nào bạn phát triển nó, và nó có thể làm gì? Bạn đã sử dụng các dịch vụ như Wit.ai và Api.ai để tạo bot của mình chưa? Nếu bạn chưa từng thử mã hóa bot, hãy phát triển bot messenger Facebook của riêng bạn, làm cho nó thông minh hơn và tốt hơn và cho chúng tôi biết về trải nghiệm của bạn trong các bình luận bên dưới.

Top