Ich möchte einen Messenger-Bot erstellen, der von verschiedenen Benutzern für ihre Facebook-Seiten verwendet wird. Ich habe eine Rails-App erstellt und verwende den Facebook-Messenger-Edelstein .
Ich habe den Bot erfolgreich erstellt und er funktioniert, wenn ich die Einrichtung für eine Seite mache. Jetzt folge ich den Anweisungen, um meinen Bot auf mehreren Facebook-Seiten zu leben (siehe "Einen Konfigurationsanbieter erstellen "Abschnitt ).
Ich bin neu bei Schienen und weiß nicht, wo ich die Klasse ExampleProvider platzieren soll? Ich lege es in meine Datei config / application.rb:
%Vor%Dann habe ich meine app / bot / setup.rb Datei um den Bot zu erstellen. Ich weiß nicht, wie ich den Provider verwenden soll, den ich anstelle der ENV-Variablen erstellt habe.
%Vor%Ich habe in der Rails-Dokumentation gesucht, wie es funktioniert, aber konnte leider nichts finden.
UPDATE:
Jetzt kann ich die Bots für verschiedene Seiten einrichten. Leider erhält die folgende Zeile meines ConfigProviders einen Fehler:
config / initializers / config_provider.rb
%Vor%NameError (nicht initialisierte Konstante BotletterApp :: Bot):
config / initializers / config_provider.rb: 17: in bot ' config / initializers / config_provider.rb: 7: inapp_secret_for '
Weißt du, wie ich meine App benennen soll?
Mein BotModul:
%Vor%UPDATE, es funktioniert mit :: Application, hier ist die neue Datei:
%Vor%Das Problem ist, dass ich den folgenden Fehler erhalte, wenn meine DB-Abfrage nicht funktioniert (funktioniert in der Rails-Konsole):
ActiveRecord :: StatementInvalid (SQLite3 :: SQLException: keine solche Spalte: page_id.id: SELECT "core_bots". * FROM "core_bots" WHERE "Seiten-ID". "ID" =? LIMIT?):
Zu einer Antwort für bessere Lesbarkeit gehen;)
In Bezug auf "plain" ... Statt
%Vor%verwenden
%Vor% oder (es sieht so aus, als hätten Sie Ihr Modell mit allen Seiten CoreBot (?) benannt (vorausgesetzt, Sie haben ein typisches ActiveRecord-Modell in /app/models/core_bot.rb
, ich nahm Bot
an)
Dann sollten Sie in der Lage sein, den Vorlagencode aus der README.md zu verwenden
Was Ihr neuestes Problem anbelangt: Es scheint so, als ob die access_token_for
-Methode mit einem Hash aufgerufen wird und nach etwas wie {id: 1}
sucht. Vielleicht möchten Sie überprüfen, woher dieser Wert stammt. Ich würde vorschlagen, ein paar Schritte zurück zu gehen und näher am Vorlagencode zu bleiben.
Tags und Links ruby ruby-on-rails-3 ruby-on-rails facebook-messenger facebook-messenger-bot