def process_payload(self, path, query_string, payload):
logging.warning("[DEPRECATED] simpledemo.webhookReceiver, use sinks.generic.SimpleMessagePoster")
sinkname = self.sinkname
path = path.split("/")
conversation_id = path[1]
if conversation_id is None:
print("{}: conversation id must be provided as part of path".format(sinkname))
return
image_id = None
if "image" in payload:
image_data = False
image_filename = False
image_type = 'unknown'
if "base64encoded" in payload["image"]:
raw = base64.b64decode(payload["image"]["base64encoded"], None, True)
image_data = io.BytesIO(raw)
image_type = imghdr.what('ignore', raw)
if not image_type:
image_type = 'error'
if "filename" in payload["image"]:
image_filename = payload["image"]["filename"]
else:
image_filename = str(int(time.time())) + "." + image_type
print("{}: uploading image: {}".format(sinkname, image_filename))
image_id = await webhookReceiver._bot._client.upload_image(image_data, filename=image_filename)
html = ""
if "echo" in payload:
html = payload["echo"]
else:
# placeholder text
html = "<b>hello world</b>"
segments = simple_parse_to_segments(html)
print("{} sending segments: {}".format(sinkname, len(segments)))
await self._bot.coro_send_message(conversation_id, segments, context=None, image_id=image_id)
评论列表
文章目录