Empfohlen, 2024

Tipp Der Redaktion

So erstellen Sie einen Facebook Messenger-Bot (Guide)

Facebooks "Messenger Bots" -Feature ist nichts Neues und es gibt bereits viele tolle Bots. Die Ressourcen für das Erstellen eines eigenen Bots sind jedoch knapp und es fehlt an Erklärungen für Personen, die mit der Facebook Graph-API noch nicht vertraut sind. Messenger-Bots erfordern jetzt auch die Verwendung einer SSL-gesicherten Webhook-Callback-URL (dazu später mehr). Das Einrichten von SSL ist nicht jedermanns Sache und kostet auch Geld.

In diesem Artikel werde ich Sie durch den gesamten Prozess der Erstellung eines einfachen Facebook-Messenger-Bots führen, da die eigene Dokumentation von Facebook eher schlecht erklärt wird. Wir werden eine Cloud-App einrichten, die das https-Protokoll verwendet, den Bot in Node.js (dies ist ein Javascript, eine serverseitige Sprache) codieren, den Code mit git zur Cloud-Anwendung pushen und auf Facebook Messenger testen.

Bot einrichten

Sie müssen Node auf Ihrem Laptop installieren. Falls nicht, besuchen Sie die Node-Website, um sie herunterzuladen und zu installieren.

Sobald Sie fertig sind, können Sie mit dem Setup für den Bot fortfahren. Folgen Sie den unteren Schritten:

1. Terminal starten.

2. Sie benötigen ein separates Verzeichnis, um Ihren Code zu speichern.

  • Erstellen Sie ein neues Verzeichnis
    mkdir testbot
  • Ändern Sie Ihr Arbeitsverzeichnis in das Verzeichnis, das Sie gerade erstellt haben
    cd testbot

3. Initialisieren Sie als Nächstes die Knotenanwendung.
npm init

  • Sie werden aufgefordert, Informationen zu Ihrer Anwendung einzugeben. Verwenden Sie einfach die Standardeinstellungen, indem Sie die Eingabetaste drücken, um alles anzuzeigen.

4. Installieren Sie Pakete
npm install express body-parser request --save

  • Der Befehl wird ausgeführt und einige Warnungen ausgegeben. ignoriere sie.

5. Öffnen Sie im Finder das Verzeichnis „ testbot “, das Sie erstellt haben, und suchen Sie die Datei mit dem Namen „ package.json “. öffnen Sie dies in einem Editor wie Sublime Text.

6. In dieser Datei müssen wir eine Zeile hinzufügen
"start": "node index.js"

  • Vergessen Sie nicht, ein ", " am Ende der vorherigen Zeile anzufügen.

7. Erstellen Sie als Nächstes eine neue Datei in Sublime Text und fügen Sie den folgenden Code ein:

[js]

var express = erfordern ('express');
var bodyParser = required ('body-parser');
var request = required ('request');
var app = express ();

app.use (bodyParser.urlencoded ({extended: false})));
app.use (bodyParser.json ());
app.listen ((process.env.PORT || 3000));
app.get ('/', Funktion (req, res) {
res.send ('This is TestBot Server');
});
app.get ('/ webhook', Funktion (req, res) {
if (req.query ['hub.verify_token'] === 'testbot_verify_token') {
res.send (req.query ['hub.challenge']));
} else {
res.send ('Ungültiges Prüftoken');
}
});

[/ js]

Speichern Sie diese Datei als index.js

Hinweis: In Zeile 13 ist der Wert von 'hub.verify_token' auf 'testbot_verify_token' gesetzt. Denken Sie an diesen Wert, da er beim Erstellen des Webhooks in Facebook verwendet wird.

Git Repository erstellen

Nachdem wir die Callback-Behandlung unseres Bots eingerichtet haben, müssen wir den Code an Heroku weiterleiten. Dafür müssen wir in unserem Verzeichnis ein Git-Repository erstellen.

Hinweis: "git" ist ein Versionskontrollsystem für Dateien und Softwarecode. Sie können mehr darüber auf Wikipedia lesen.

Das Erstellen eines Git-Repositorys ist einfach und erfordert nur ein paar Terminalbefehle.

Hinweis: Stellen Sie sicher, dass Sie sich im Terminal „ testbot “ befinden. Sie können dies tun, indem Sie den Befehl pwd in das Terminal eingeben.

Führen Sie die folgenden Schritte aus, um ein Git-Repository zu erstellen:

1. git init

2. git add .

3. git commit -m "Register Facebook Webhook"

Heroku einrichten

Bevor wir überhaupt auf die Entwicklerseiten von Facebook gehen, benötigen wir eine Rückruf-URL, mit der Facebook sprechen kann. Diese URL muss das https-Protokoll verwenden. Dies bedeutet, dass wir ein SSL-Zertifikat auf unserer Website installieren müssen. Dies ist jedoch ein Anfängerleitfaden für Facebook-Messenger-Bots. Machen wir uns also nichts daraus. Wir werden Heroku verwenden, um unseren Code bereitzustellen. Heroku stellt Ihnen https-URLs für Ihre Anwendungen zur Verfügung und hat einen kostenlosen Plan, der unsere (sehr grundlegenden) Anforderungen erfüllt.

Gehen Sie zur Heroku-Website und registrieren Sie sich.

Hinweis: Verwenden Sie im Feld "Wählen Sie Ihre primäre Entwicklungssprache" "Ich verwende eine andere Sprache".

Wenn Sie damit fertig sind, installieren Sie den Heroku Toolbelt für Ihr Betriebssystem (Mac für mich) und installieren Sie ihn. Dadurch haben Sie Zugriff auf Heroku über Ihr Terminal (oder eine Eingabeaufforderung unter Windows).

Als Nächstes erstellen wir eine App auf Heroku, die den gesamten Code für unseren Bot enthält. Folgen Sie den unteren Schritten:

1. Terminal starten

2. heroku login

  • Sie werden aufgefordert, Ihre E-Mail-Adresse und Ihr Passwort einzugeben.
  • Geben Sie Ihre E-Mail ein und drücken Sie die Eingabetaste. Geben Sie dann Ihr Passwort ein und drücken Sie die Eingabetaste.
  • Sie werden bei Heroku angemeldet

3. heroku create

  • Dadurch wird eine App auf Heroku erstellt und ein Hyperlink bereitgestellt. Beachten Sie, dass der Link das https-Protokoll verwendet. Einfach richtig?

4. Jetzt können Sie Ihren App-Code auf Heroku übertragen
git push heroku master

5. Sobald dies geschehen ist, ist Ihre App im Grunde live und Sie können den Link in Ihrem Browser aufrufen, um zu überprüfen, ob alles einwandfrei funktioniert. Es sollte eine Webseite mit der Aufschrift " This is TestBot Server " geöffnet werden .

Facebook-Setup

Es ist Zeit, unseren Bot mit Facebook zu verbinden! Sie müssen eine neue Facebook-Seite erstellen oder eine vorhandene verwenden, die Sie besitzen. Ich zeige Ihnen, wie Sie vorgehen, indem Sie eine neue Facebook-Seite erstellen.

1. Gehen Sie zu Facebook und erstellen Sie eine neue Seite.

  • Sie können eine Seite in der gewünschten Kategorie erstellen. Ich entscheide mich für Unternehmen / Organisation ohne besonderen Grund.

2. Die nächsten Schritte, die Facebook zeigt, sind optional und können übersprungen werden.

3. Gehen Sie als nächstes zur Facebook-Entwickler-Website.

  • Bewegen Sie den Mauszeiger oben rechts auf " Meine Apps " und klicken Sie dann im Dropdown-Menü auf " Neue App hinzufügen ".

  • Klicken Sie auf " Grundeinstellung ", wenn Sie von Facebook zur Auswahl einer Plattform aufgefordert werden.

4. Füllen Sie die Details für Ihren App-Namen und Ihre E-Mail-Adresse aus.

  • Wählen Sie " Apps für Seiten " in der Kategorie.
  • Klicken Sie auf „ App-ID erstellen “.

5. Sie werden zum Dashboard Ihrer App weitergeleitet. Navigieren Sie in der Seitenleiste zu " + Produkte hinzufügen " und wählen Sie " Messenger " aus, indem Sie auf die Schaltfläche " Erste Schritte " klicken.

6. Wählen Sie „ Setup Webhooks “.

7. Füllen Sie die erforderlichen Felder aus und ersetzen Sie die "Rückruf-URL" durch die URL der Heroku-App, "Verify Token" durch das Token, das in der Datei "index.js" verwendet wird, und wählen Sie die folgenden Abonnementfelder aus:

  • Nachricht_Lieferungen
  • Mitteilungen
  • message_optins
  • messaging_postbacks

Hinweis: Stellen Sie sicher, dass Sie an die Callback-URL " / webhook " anhängen, damit index.js die erforderliche Funktion ausführt, wenn Facebook versucht, die URL per Ping zu senden. Dies kann das "Verify Token" überprüfen.

8. Klicken Sie auf „ Verify and Save “.

9. Klicken Sie im Abschnitt " Token-Generierung " auf " Seite auswählen" und wählen Sie die zuvor erstellte Seite aus.

Dadurch wird ein " Seitenzugriffstoken " generiert, das Sie irgendwo speichern können. Sie werden es später brauchen.

10. Als Nächstes müssen Sie eine POST-Abfrage an Ihre App senden, indem Sie das Seitenzugriffstoken verwenden, das im letzten Schritt generiert wurde. Dies kann einfach im Terminal erledigt werden. Führen Sie einfach den folgenden Befehl aus, um PAGE_ACCESS_TOKEN durch das von Ihnen generierte Seitenzugriffstoken zu ersetzen .

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

Sie sollten eine " erfolgreiche " Antwort im Terminal erhalten.

Weitere Heroku-Einstellungen

Ja, wir sind noch nicht fertig. Nicht annähernd.

1. Gehen Sie zur Heroku-Website und melden Sie sich mit Ihrer E-Mail-ID an.

2. Suchen Sie Ihre App im "Dashboard" und klicken Sie darauf.

3. Navigieren Sie zur Registerkarte Einstellungen.

4. Klicken Sie auf " Config Var anzeigen ".

5. Fügen Sie den PAGE_ACCESS_TOKEN als " config var " hinzu und klicken Sie auf " Add ".

Kodierung des tatsächlichen Bot

Nun, da wir mit der Grunzarbeit fertig sind, können wir uns auf das konzentrieren, was wirklich wichtig ist: den Bot auf Nachrichten reagieren zu lassen. Zunächst einmal entwerfen wir einen Bot, der die empfangenen Nachrichten einfach widerspiegelt. Es stellt sich heraus, dass diese einfache Aufgabe einen erheblichen Teil des Codes benötigt, um zu funktionieren.

1. Codieren des Message Listener

Bevor der Bot die Nachricht wiederholen kann, muss er auf Nachrichten warten können. Lass uns das zuerst machen.

Fügen Sie in der Datei index.js den folgenden Code hinzu:

[js]

app.post ('/ webhook', Funktion (req, res) {
var events = req.body.entry [0] .messaging;
für (i = 0; i <events.length; i ++) {
var event = ereignisse [i];
if (event.message && event.message.text) {
sendMessage (event.sender.id, {text: "Echo:" + event.message.text});
}
}
res.SendStatus (200);
});

[/ js]

Diese Funktion prüft, ob Nachrichten empfangen wurden, und prüft, ob Text in der Nachricht enthalten ist. Wenn in der empfangenen Nachricht Text gefunden wird, ruft sie die Funktion sendMessage (später angezeigt) auf und übergibt die ID des Absenders und den zu sendenden Text. Es ist wichtig, die folgenden Werte und deren Bedeutung zu verstehen:

  • event.message.text ist der in der Nachricht empfangene Text. Wenn zum Beispiel jemand die Nachricht "Hello" an unseren Bot sendet, lautet der Wert von event.message.text "Hello".
  • event.sender.id ist die ID der Person, die die Nachricht an den Bot gesendet hat. Dies ist erforderlich, damit der Bot weiß, an wen er die Antwort richten soll.

2. Codierung der sendMessage-Funktion

Lasst jetzt die Funktion "sendMessage" codieren.

[js]

Funktion sendMessage (receiverId, message) {
anfordern({
URL: "//graph.facebook.com/v2.6/me/messages",
qs: {access_token: process.env.PAGE_ACCESS_TOKEN},
Methode: "POST",
json: {
Empfänger: {id: receiverId},
Nachricht: Nachricht,
}
}, Funktion (Fehler, Antwort, Text)
if (Fehler) {
console.log ('Fehler beim Senden der Nachricht:', Fehler);
} else if (response.body.error) {
console.log ('Error:', response.body.error);
}
});
};

[/ js]

Die Funktion "sendMessage" benötigt zwei Parameter:

  • receiverId
  • Botschaft

Die receiverId ist erforderlich, damit die Nachricht an den richtigen Benutzer adressiert werden kann.

Die Nachricht ist der tatsächliche Text, der in der Antwort gesendet werden soll.

3. Die Änderungen in Heroku verschieben

Wenn Sie die oben genannten Schritte ausgeführt haben, sollte Ihr Bot den empfangenen Text wiederholen können. Zunächst müssen Sie jedoch die Änderungen an der auf Heroku gehosteten Anwendung durchführen. Führen Sie dazu die folgenden Schritte aus:

1. Terminal starten.

2. Wechseln Sie in das Verzeichnis testbot
cd testbot

3. Führen Sie die folgenden Schritte aus:

  • git add.
  • Hinweis: Am Ende von "git add" steht ein "."
  • git commit -m "Erstes Commit"
  • git Push Heroku-Meister

4. Senden Sie nun eine Nachricht an Ihre Seite, und der Bot sendet die Nachricht an Sie zurück.

Bedingte Antworten alias Making the Bot Smarter

Wir können Textabgleich verwenden, um unserem Facebook-Messenger-Bot die Möglichkeit zu geben, auf bestimmte spezielle Keywords zu reagieren.

Um dies zu erreichen, müssen wir eine weitere Funktion hinzufügen. Ich nenne es "conditionalResponses", aber Sie können einen beliebigen Namen auswählen.

1. Codieren der conditionalResponses-Funktion

[js]

Funktion conditionalResponses (receiverId, Text) {
text = text || "";

var was = text.match (/ what / gi); // Prüfen Sie, ob die Zeichenfolge das Wort "what" enthält. Fall ignorieren
varGadget-Info.com = text.match (/ beebom / gi); // Prüfen Sie, ob die Zeichenfolge das Wort "beebom" enthält. Fall ignorieren
var who = text.match (/ who / gi); // Prüfen Sie, ob die Zeichenfolge das Wort "who" enthält. Fall ignorieren
var du = text.match (/ du / gi); // Prüfen Sie, ob die Zeichenfolge das Wort "Sie" enthält. Fall ignorieren

// Wenn der Text sowohl "was" als auch "beebom" enthält, machen Sie folgendes:

if (was! = null &&; Gadget-Info.com! = null) {
message = {
Text: "Beebom ist eine Website mit technischen Ressourcen. Willkommen."
}
sendMessage (receiverId, message);
wahr zurückgeben;
}

// Wenn der Text sowohl "who" als auch "you" enthält, machen Sie Folgendes:
if (wer! = null && du! = null) {
message = {
Text: "Ich wurde gebeten, meine Identität nicht online zu diskutieren."
}
sendMessage (receiverId, message);
wahr zurückgeben;
}

// Wenn nichts übereinstimmt, geben Sie false zurück, um die Ausführung der inneren Funktion fortzusetzen.
falsch zurückgeben;
};

[/ js]

In den Zeilen 4 bis 7 haben wir Variablen definiert, die vom Abgleichen der empfangenen Zeichenfolge mit bestimmten Wörtern abhängen. Das beste an der Verwendung von "text.match ()" ist, dass es reguläre Ausdrücke verwendet (normalerweise als regulärer Ausdruck bezeichnet). Das ist gut für uns, denn dies bedeutet, dass selbst wenn ein Teil eines Wortes im empfangenen Text mit einem der in text.match () genannten Wörter übereinstimmt, die Variable nicht null ist. Das heißt, wenn die empfangene Nachricht „What's Beebom?“ War, sind „var what“ und „var beebom“ nicht null, da das Wort „What's“ das Wort „what“ enthält. Wir müssen also keine zusätzlichen Anweisungen für jede Variation erstellen, in der jemand „Was“ sagt.

2. Bearbeiten des Message Listener

Wir müssen auch den von uns codierten Message Listener bearbeiten, um sicherzustellen, dass der empfangene Text auch mit der Funktion „conditionalResponses“ abgeglichen wird.

[js]

app.post ('/ webhook', Funktion (req, res) {
var events = req.body.entry [0] .messaging;
für (i = 0; i <events.length; i ++) {
var event = ereignisse [i];
if (event.message && event.message.text) {

// Versuchen Sie zuerst zu prüfen, ob die empfangene Nachricht für eine bedingte Antwort geeignet ist.
if (! conditionalResponses (event.sender.id, event.message.text)) {

// Wenn dies nicht der Fall ist, senden Sie die empfangene Nachricht einfach an den Absender zurück.
sendMessage (event.sender.id, {text: "Echo:" + event.message.text});
}
}
}
res.SendStatus (200);
});

[/ js]

Die Änderungen im Listener sehen zwar nicht sehr drastisch aus, ihre Auswirkungen sind jedoch sicher. Nun versucht der Listener zuerst, mit bedingten Antworten zu antworten, und wenn keine gültige Bedingung für die empfangene Nachricht vorliegt, sendet er die Nachricht einfach an den Benutzer zurück.

3. Die Änderungen in Heroku verschieben

Bevor Sie die neuen Funktionen ausprobieren können, müssen Sie den aktualisierten Code in die auf Heroku gehostete App übertragen. Führen Sie dazu die folgenden Schritte aus:

1. Terminal starten.

2. Wechseln Sie in das Verzeichnis testbot
cd testbot

3. Führen Sie die folgenden Schritte aus:

  • git add.
  • Hinweis: Am Ende von "git add" steht ein "."
  • git commit -m "Bedingte Fähigkeiten hinzufügen"
  • git Push Heroku-Meister

4. Senden Sie nun eine Nachricht an Ihre Seite, und der Bot sendet die Nachricht an Sie zurück.

Noch mehr Funktionalität

Unser Bot reagiert jetzt auf eine kleine Reihe von Befehlen in schönen, gut strukturierten Antworten. Aber es ist immer noch nicht sehr nützlich. Nehmen wir einige weitere Änderungen am Code vor, um unseren Bot zu einer „ funktionaleren “ Software zu machen. Wir werden viele Funktionen überarbeiten und ein paar weitere hinzufügen, also sei aufgeregt.

1. Bearbeiten des Message Listener

Unser Nachrichten-Listener funktioniert zu diesem Zeitpunkt einfach in Ordnung. Es ist jedoch nicht sehr schön formatiert, und wenn wir die verschachtelten if-Anweisungen erhöhen, um zusätzliche " Bedingungsprüfungen " hinzuzufügen, wird es schnell hässlich zu sehen, schwer verständlich und bei der Ausführung langsamer. Wir wollen das jetzt nicht, oder? Nehmen wir einige Änderungen vor.

Hinweis: Der Nachrichten-Listener enthält eine Codezeile, die „res.sendStatus (200)“ liest. Diese Zeile sendet einen Status 200-Code an Facebook, der besagt, dass die Funktion erfolgreich ausgeführt wurde. Laut Facebook-Dokumentation wartet Facebook maximal 20 Sekunden, um den Status 200 zu erhalten, bevor es entscheidet, dass die Nachricht nicht durchgegangen ist, und stoppt die Ausführung des Codes.

Unser neuer Nachrichtenlistener sieht so aus. Wir verwenden den Befehl „ res.sendStatus (200) “, um die Ausführung der Funktion zu stoppen, sobald eine Bedingung erfüllt und ausgeführt wird.

[js]

app.post ('/ webhook', Funktion (req, res) {
var events = req.body.entry [0] .messaging;
für (i = 0; i <events.length; i ++) {
var event = ereignisse [i];
if (event.message && event.message.text) {

// Zuerst den Nachrichtentext mit den IntroResponse-Bedingungen prüfen
if (introResponse (event.sender.id, event.message.text)) {
res.SendStatus (200);
}

// mangels eines besseren Namens habe ich newResponse genannt: p; überprüfe dies als nächstes
else if (newResponse (event.sender.id, event.message.text)) {
res.SendStatus (200);
}

// sonst nur die ursprüngliche Nachricht zurücksenden
sonstiges
// Ersetzen Sie das Echo durch eine gültige Befehlsliste
sendMessage (event.sender.id, {text: "Echo:" + event.message.text});
}
}
}
res.SendStatus (200);
});

[/ js]

2. Codierung der neuen Antwortfunktion

Unser Nachrichtenlistener überprüft jetzt den Nachrichtentext auch mit einer Reihe von Bedingungen in "newResponse", aber zuerst müssen wir die newResponse-Funktion codieren. Wir werden diese Funktion verwenden, um zu prüfen, ob der Benutzer auf der Website von Gadget-Info.com nach Artikelvorschlägen gefragt hat, den Suchbegriff auf der Website zu durchsuchen und dem Benutzer den Link zu präsentieren. Wieder verwenden wir reguläre Ausdrücke, um Text mit bestimmten Schlüsselwörtern abzugleichen.

[js]

Funktion newResponse (receiverId, 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);

// Prüfen Sie, ob der Benutzer überhaupt nach Artikelvorschlägen fragt
if (vorschlagen! = null && article! = null) {
var query = "";
// Wenn Artikelvorschläge abgefragt werden, überprüfen Sie das Thema, nach dem der Benutzer sucht
if (android! = null) {
Abfrage = "Android";
} else if (mac! = null) {
Abfrage = "Mac";
} else if (iphone! = null) {
Abfrage = "iPhone";
} else if (browser! = null) {
query = "Browser";
} else if (vpn! = null) {
Abfrage = "VPN";
}
sendButtonMessage (receiverId, query);
zurückkehren
}
falsch zurückgeben;
};

[/ js]

Wir verwenden eine andere benutzerdefinierte Funktion namens "sendButtonMessage", um die Nachricht zu senden, falls der Benutzer nach Artikelvorschlägen fragt. Wir werden dies als nächstes schaffen.

3. Codieren der sendButtonMessage-Funktion

Die sendButtonMessage-Funktion benötigt zwei Parameter, eine Empfänger-ID und eine Abfrage. Die Empfänger-ID wird verwendet, um den Benutzer zu identifizieren, an den die Nachricht gesendet werden muss, und die Abfrage wird verwendet, um das Thema zu identifizieren, zu dem der Benutzer Artikelvorschläge wünscht.

[js]

Funktion sendButtonMessage (receiverId, Abfrage) {
var messageData = {
Empfänger: {
id: receiverId
},
Botschaft: {
Anhang: {
Typ: "Vorlage",
Nutzlast: {
template_type: "button",
Text: "Das ist was ich gefunden habe" + Abfrage,
Tasten:[{
Typ: "web_url",
URL: "//www.beebom.com/?s="+query,
Titel: "Beebom:" + Abfrage
}]
}
}
}
};

callSendAPI (messageData);
}

[/ js]

Wieder verwenden wir eine benutzerdefinierte Funktion. Diesmal, um die endgültige Nachricht mit den Artikel-Links an den Benutzer zu senden. Die Funktion ähnelt in vielerlei Hinsicht der von uns zuvor codierten Funktion "sendMessage", ist jedoch generischer in der Art und Weise, in der sie die Nachrichtendaten verwendet, was zu uns passt, da sich unsere Nachrichtendaten mit der vom Benutzer gestellten Abfrage ändern.

4. Codierung der callSendAPI-Funktion

Die Funktion "callSendAPI" benötigt einen einzigen Parameter, die "messageData" . Dieser Parameter enthält die gesamten Nachrichtendaten, die gemäß den Facebook-Regeln ordnungsgemäß formatiert wurden, sodass der Messenger sie dem Benutzer ordnungsgemäß anzeigen kann.

[js]

Funktion callSendAPI (messageData) {
anfordern({
uri: "//graph.facebook.com/v2.6/me/messages",
qs: {access_token: process.env.PAGE_ACCESS_TOKEN},
Methode: "POST",
json: messageData

}, Funktion (Fehler, Antwort, Text)
if (! error && response.statusCode == 200) {
var receiverId = body.recipient_id;
var messageId = body.message_id;

console.log ("Generische Nachricht mit der ID% s wurde erfolgreich an den Empfänger% s gesendet",
messageId, receiverId);
} else {
console.error ("Nachricht kann nicht gesendet werden.");
console.error (Antwort);
console.error (Fehler);
}
});
}

[/ js]

5. Änderungen in Heroku übernehmen

Wir sind am letzten Schritt, um unseren aktualisierten Bot live zu machen. Wir müssen lediglich alle Codeänderungen in Heroku verschieben. Der Prozess ist derselbe wie zuvor und wird nachfolgend beschrieben:

1. Terminal starten.

2. Wechseln Sie in das Verzeichnis testbot .
cd testbot

3. Tun Sie Folgendes:

  • git add.
  • Hinweis: Am Ende dieses Befehls steht ein "." .
  • git commit -m "Verbesserung der Zustandsüberprüfung und Formatierung"
  • git Push Heroku-Meister

4. Senden Sie jetzt eine Nachricht wie "Einen Artikel über Android vorschlagen" oder "Beebom, schlagen Sie einen Artikel zum Thema Android vor"; Der Bot sendet eine schön formatierte Nachricht mit einem Link, auf den Sie tippen können, um die Artikel zu Ihrer Anfrage zu öffnen.

Grab tiefer

Nachdem Sie nun wissen, wie Sie mit der Entwicklung von Facebook-Messenger-Bots beginnen können, lesen Sie in der Dokumentation von Facebook nach, wie Sie Facebook-Messenger-Bots entwickeln. Während die Dokumentation nicht für Anfänger geeignet ist, sind Sie kein Anfänger mehr. Sie sollten sich die offizielle Dokumentation ansehen und herausfinden, wie Sie Ihren Bot noch intelligenter machen können. Teaser: Sie können auch Nachrichten mit Bildern und Schaltflächen senden! Es ist auch möglich, Dienste wie Wit.ai und Api.ai zu verwenden, um Ihren Bot zu codieren und ihn dann in Facebook zu integrieren. Bei meinen schwachen Versuchen, diese Dienste zu verwenden, funktionieren Wit.ai jedoch nicht so gut und Api.ai hat eine scharfe Lernkurve für Anfänger.

Haben Sie schon einmal einen Facebook-Bot für Botschaften entwickelt? Wenn ja, wie haben Sie es entwickelt und was kann es tun? Haben Sie Dienste wie Wit.ai und Api.ai verwendet, um Ihren Bot zu erstellen? Wenn Sie noch nie versucht haben, einen Bot zu programmieren, entwickeln Sie Ihren eigenen Facebook-Messenger-Bot, machen Sie ihn intelligenter und besser, und teilen Sie uns in den Kommentaren unten Ihre Erfahrungen mit.

Top