Cum să obțineți imagini / atașamente trimise de utilizator de la Facebook messenger bot prin Dialog Flow (API.AI)?

voturi
1

Am Chabot alimentat de Dialog Flow (API.AI) care impune utilizatorului să trimită imagini.

Știu că atunci când utilizatorul face clic pe butonul Get A început în messenger (în timp ce începe o conversație cu bot) o intenție în Dialog Flow (API.AI) cu WELCOME eveniment / FACEBOOK_WELCOME va primi declanșat.

Atunci când utilizatorul trimite simplu mesaj text o intenție în Dialog Flow (API.AI) cu acel text în User says va primi declanșat.

îndoială mea există nici o intenție în Dialog Flow (API.AI), care se declanșează când un utilizator trimite o imagine ca atașare la bot sau există nici o metodologie pentru a realiza acest tip de funcționalitate.

Te rog ajută-mă cu această

Mulțumesc anticipat

Întrebat 22/10/2017 la 17:54
sursa de către utilizator
În alte limbi...                            


4 răspunsuri

voturi
2

introduceți descrierea imaginii aiciUtilizați FACEBOOK_MEDIA în secțiunea caz , cu privire la orice intenție în DialogFlow (API.AI). Acum , ori de câte ori utilizator încarcă o imagine la bot, intenția care conține FACEBOOK_MEDIA în secțiunea eveniment va primi declanșat și veți obține o sarcină utilă care conține imaginea URL - ul pentru tine WebHook.

Publicat 25/10/2017 la 15:01
sursa de către utilizator

voturi
3

Mai jos este răspunsul I a lua când încarc o imagine ca atașament pe messenger facebook. Am folosit dialogflow.com și integrate de tratare a mea webhook în nodejs folosind funcția AWS Lambda, API Gateway si AWS CloudWatch Jurnale. Puteți servi, de asemenea webhook cerere și de imprimare jurnale. Scrierea console.log () într-adevăr a ajutat pentru a imprima obiectului trimis de la messenger Facbook la webhook nostru.

exports.handler = (event, context, callback) => {
  console.log(event);
  console.log(event.originalRequest.data.message.attachments[0].payload.url);
};

Vei primi adresa URL obiect eveniment tipărit în jurnalele de cloudwatch: Aici , în cazul obiecta URL - ul este: https://scontent-ort2-2.xx.fbcdn.net/v/t34.18173-12/30776728_1969968496378460_1504397895_n.png?_nc_cat = 0 & _nc_ad = zm & _nc_cid = 0 & oh = 4aad83994a5501d1c50f7e2e6c7d50ea & oe = 5ADBEF72

{
    "originalRequest": {
        "source": "facebook",
        "data": {
            "sender": {
                "id": "2037600292946778"
            },
            "recipient": {
                "id": "592499574453638"
            },
            "message": {
                "attachments": [
                    {
                        "payload": {
                            "url": "https://scontent-ort2-2.xx.fbcdn.net/v/t34.18173-12/30776728_1969968496378460_1504397895_n.png?_nc_cat=0&_nc_ad=z-m&_nc_cid=0&oh=4aad83994a5501d1c50f7e2e6c7d50ea&oe=5ADBEF72"
                        },
                        "type": "image"
                    }
                ],
                "mid": "mid.$cAAJAFU4_rqppFAhJFli4sL-nvI2y",
                "seq": 274
            },
            "timestamp": 1524222785882
        }
    },
    "id": "323b2069-1fb3-4643-9cab-a36562286069",
    "timestamp": "2018-04-20T11:13:06.117Z",
    "lang": "en",
    "result": {
        "source": "agent",
        "resolvedQuery": "FACEBOOK_MEDIA",
        "speech": "",
        "action": "",
        "actionIncomplete": false,
        "parameters": {},
        "contexts": [
            {
                "name": "facebook_media",
                "parameters": {},
                "lifespan": 0
            },
            {
                "name": "generic",
                "parameters": {
                    "facebook_sender_id": "2037600292946778"
                },
                "lifespan": 4
            }
        ],
        "metadata": {
            "intentId": "52d18e01-1ff2-4e35-af42-bc2de65fa38b",
            "webhookUsed": "true",
            "webhookForSlotFillingUsed": "false",
            "intentName": "attachment intent"
        },
        "fulfillment": {
            "speech": "Received an image",
            "messages": [
                {
                    "type": 0,
                    "speech": "Received an image"
                }
            ]
        },
        "score": 1
    },
    "status": {
        "code": 200,
        "errorType": "success",
        "webhookTimedOut": false
    },
    "sessionId": "d815740b-4f6d-432b-991d-c1125ceb2665"
}
Publicat 20/04/2018 la 14:27
sursa de către utilizator

voturi
0

Când utilizați WebhookClient în DialogFlow, puteți obține adresa URL imagine ca aceasta:

const agent = new WebhookClient({ request, response });
const imageUrl = agent.request_.body.originalDetectIntentRequest.payload.data.message.attachments[0].payload.url;
Publicat 03/06/2018 la 20:25
sursa de către utilizator

voturi
0

Soluția mea:

exports.imageFb = function imageFb (request, response){
    console.log(request.body.originalDetectIntentRequest.payload.data.message.attachments[0].payload.url);
}           
Publicat 08/06/2018 la 22:17
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more