da9ac8b26d
* Added dotenv-rails gem to manage environment variables * Added dotenv-rails gem to manage environment variables * Removed figaro which was used earlier for this purpose * Standardized variable names * Changed all env variables to be upper case. This included changes in files referencing env variables. * Added example env file with all variables set to empty value * Removed the earlier setup of copying application.yml and database.yml and the scripts and documentation associated to this * Docker setup * Added docker file for building the docker images * Added entrypoint.sh script which is referenced inside the Docker image * Cloned the Procfile for development using docker which has slight change compared to regular procfile * Added the docker-compose.yml which has 3 service's configuration, postgres, redis and chatwoot server and a mounted volume for postgres * Added docker related info to documentation * Added the docker setup info in the documentation * Added info for using`rbenv` instead of rvm for managing ruby versions * Updated the documentation for environment variables to have one about `dotenv-rails` gem and removed the documentation about the old copy paste method used by figaro * Changing the postgres database, username and password as environment variables * Removed database.yml from gitignore * Made the postgres databse, username and password as environemnt variables * Added this in documentation * Added a quick setup page * Added quick setup page * Removed the docs from README and added link to the docs in website * Removed the figaro related things from circle.ci config * Adding external volume for redis in docker compose * Added instructions for adding the redis volume in docs
70 lines
1.1 KiB
Ruby
70 lines
1.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module Integrations
|
|
module Facebook
|
|
class MessageParser
|
|
def initialize(response_json)
|
|
@response = response_json
|
|
end
|
|
|
|
def sender_id
|
|
@response.sender['id']
|
|
end
|
|
|
|
def recipient_id
|
|
@response.recipient['id']
|
|
end
|
|
|
|
def time_stamp
|
|
@response.sent_at
|
|
end
|
|
|
|
def content
|
|
@response.text
|
|
end
|
|
|
|
def sequence
|
|
@response.seq
|
|
end
|
|
|
|
def attachments
|
|
@response.attachments
|
|
end
|
|
|
|
def identifier
|
|
@response.id
|
|
end
|
|
|
|
def echo?
|
|
@response.echo?
|
|
end
|
|
|
|
def app_id
|
|
@response.app_id
|
|
end
|
|
|
|
def sent_from_chatwoot_app?
|
|
app_id && app_id == ENV['FB_APP_ID'].to_i
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Sample Reponse
|
|
# {
|
|
# "sender":{
|
|
# "id":"USER_ID"
|
|
# },
|
|
# "recipient":{
|
|
# "id":"PAGE_ID"
|
|
# },
|
|
# "timestamp":1458692752478,
|
|
# "message":{
|
|
# "mid":"mid.1457764197618:41d102a3e1ae206a38",
|
|
# "seq":73,
|
|
# "text":"hello, world!",
|
|
# "quick_reply": {
|
|
# "payload": "DEVELOPER_DEFINED_PAYLOAD"
|
|
# }
|
|
# }
|
|
# }
|