Created
April 16, 2017 20:40
-
-
Save seansu4you87/818c596444c9c717ca4e0792d72e1040 to your computer and use it in GitHub Desktop.
Interface for blackbox chatbot
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Parser | |
end | |
class ChatEngine | |
# Jordan's Black Box | |
class State | |
attr_reader :raw | |
def initialize(raw) | |
@raw = raw | |
end | |
end | |
class Message | |
attr_reader :text, | |
:date, | |
def initialize(text, date) | |
@text = text | |
@date = date | |
end | |
end | |
def process(message, state) | |
# blah dee blah blah | |
end | |
end | |
facebook_stuff # from webhook | |
parser = Parser.new(facebook_stuff) | |
message = parser.fetch_message() | |
state = parser.fetch_state() | |
engine = ChatEngine.new | |
responses, new_state = engine.process(message, state) | |
responses.each do |response| | |
FacebookMessengerResponder.send(response) | |
end | |
Persister.save(new_state) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment