Hei.
PYTHON3
Kode
if output["object"] == "page":
for entry in output["entry"]:
for messaging_event in entry["messaging"]:
##We got message
if messaging_event.get("message"):
##What is sender id, and which page recieve?
sender_id = messaging_event["sender"]["id"]
page_id = messaging_event["recipient"]["id"]
##If message is text, put it in message_text
if messaging_event['message'].get('text'):
message_text = messaging_event["message"]["text"]
print('It is text, ' + message_text + ', OK?')
##If message is attachment, get URL
if messaging_event['message'].get('attachments'):
attachment_url = messaging_event["message"]["attachments"]["type"]
print(attachment_url)
print("It is attachment")
return("ok", 200)
Dette er skriptet mitt. Facebook messenger-robot. Den ene delen sjekker om meldingen er tekst, og printer teksten.
Nå prøver jeg med å finne frem til URL-en til vedlegget som blir sendt. Jeg er veldig usikker på hvordan jeg parser den, og henter frem URL-adressen.
Det som sendes er:
Kode
#####Meldinger som sendes til roboten min. Alt OK. Får hentet frem feltene jeg vil ha.
{'object': 'page', 'entry': [{'id': '420420', 'time': 420420, 'messaging': [{'sender': {'id': '420420'}, 'recipient': {'id': '420420'}, 'timestamp': 420420, 'message': {'mid': 'asdfasdfsafsafa', 'text': 'Test'}}]}]}
#####Vedlegg som sendes til roboten min. Jeg vil ha frem "type: image", "payload" og "url:..."
{'object': 'page', 'entry': [{'id': '420420', 'time': 420420, 'messaging': [{'sender': {'id': '420420'}, 'recipient': {'id': '420420'}, 'timestamp': 420420, 'message': {'mid': '420420', 'attachments': [{'type': 'image', 'payload': {'url': 'https://scontent.xx.fbcdn.net/v/bilde.png', 'sticker_id': 420420}}]}}]}]}
Thanks
Fint hvis noen også gidder å forklare litt om hvordan jeg går fra et punkt til et underpunkt, og så videre, og gjerne tar med hva jeg skal gjøre hvis det kommer et [.
Sist endret av Stingray; 5. august 2020 kl. 17:27.
Grunn: Automatisk sammenslåing med etterfølgende innlegg.