Now downloading full attachments
Cleaned up logging Fixed timestamp typo
This commit is contained in:
parent
357832a5bb
commit
33013bc5f5
@ -102,13 +102,24 @@ if __name__ == '__main__':
|
|||||||
payload.update({'attachments':attachments})
|
payload.update({'attachments':attachments})
|
||||||
url = os.environ['BB_SERVER_URL'].rstrip('/') + '/api/v1/message/attachment'
|
url = os.environ['BB_SERVER_URL'].rstrip('/') + '/api/v1/message/attachment'
|
||||||
requests.post(url,params=params,json=payload)
|
requests.post(url,params=params,json=payload)
|
||||||
|
|
||||||
|
def get_full_attachments(message: persona.Message) -> persona.Message :
|
||||||
|
"""Given a message with basic attachment descriptions, fetch the full attachment payloads from BlueBubbles"""
|
||||||
|
for attachment in message.attachments :
|
||||||
|
params = {'password': os.environ['BB_SERVER_PASSWORD']}
|
||||||
|
url = os.environ['BB_SERVER_URL'].rstrip('/') + '/api/v1/attachment/' + attachment.data
|
||||||
|
# log.debug(requests.get(url,params=params).text)
|
||||||
|
url = os.environ['BB_SERVER_URL'].rstrip('/') + '/api/v1/attachment/' + attachment.data + '/download'
|
||||||
|
content = requests.get(url,params=params).content
|
||||||
|
attachment.data = content
|
||||||
|
return message
|
||||||
# Create persona instance
|
# Create persona instance
|
||||||
current_persona = persona.Persona()
|
current_persona = persona.Persona()
|
||||||
|
|
||||||
# Create a fastAPI instance
|
# Create a fastAPI instance
|
||||||
@bot.post('/message')
|
@bot.post('/message')
|
||||||
async def message(content: dict):
|
async def message(content: dict):
|
||||||
# print(content)
|
log.debug(content)
|
||||||
if content['type'] == 'new-message' :
|
if content['type'] == 'new-message' :
|
||||||
message = content['data']
|
message = content['data']
|
||||||
# Determine sender and receiver
|
# Determine sender and receiver
|
||||||
@ -121,9 +132,9 @@ if __name__ == '__main__':
|
|||||||
# Resolve attachments
|
# Resolve attachments
|
||||||
attachments = []
|
attachments = []
|
||||||
for attachment in message['attachments'] :
|
for attachment in message['attachments'] :
|
||||||
attachments.append(persona.Attachment(mime_type=message['attachments'][attachment]['mimeType'],data=message['attachments'][attachment]['guid']))
|
attachments.append(persona.Attachment(mime_type=attachment['mimeType'],data=attachment['guid']))
|
||||||
# Get the date sent
|
# Get the date sent
|
||||||
date_sent = datetime.datetime.fromtimestamp(message['dateCreated']/100)
|
date_sent = datetime.datetime.fromtimestamp(message['dateCreated']/1000)
|
||||||
# Get any effects or subjects
|
# Get any effects or subjects
|
||||||
subject = ''
|
subject = ''
|
||||||
effect_id = ''
|
effect_id = ''
|
||||||
@ -142,6 +153,7 @@ if __name__ == '__main__':
|
|||||||
attachments=attachments,
|
attachments=attachments,
|
||||||
meta={'subject': subject, 'effectId': effect_id}
|
meta={'subject': subject, 'effectId': effect_id}
|
||||||
)
|
)
|
||||||
|
persona_message = get_full_attachments(persona_message)
|
||||||
responses = current_persona.receive_message(persona_message)
|
responses = current_persona.receive_message(persona_message)
|
||||||
for response in responses :
|
for response in responses :
|
||||||
prompt = persona_message
|
prompt = persona_message
|
||||||
|
@ -115,6 +115,7 @@ class Persona :
|
|||||||
should_respond = skill.match_intent(message)
|
should_respond = skill.match_intent(message)
|
||||||
if should_respond :
|
if should_respond :
|
||||||
response = skill.respond(message=message)
|
response = skill.respond(message=message)
|
||||||
self.log.info(f'Responding to \'{message.text}\' with \'{response.text}\'')
|
if response :
|
||||||
generated_messages.append(response)
|
self.log.info(f'Responding to \'{message.text}\' with \'{response.text}\'')
|
||||||
|
generated_messages.append(response)
|
||||||
return generated_messages
|
return generated_messages
|
||||||
|
Loading…
Reference in New Issue
Block a user