From 6c2fa3b89434d489a26e1902f357a307322ce530 Mon Sep 17 00:00:00 2001 From: Niklas Halle Date: Wed, 26 Aug 2020 10:27:05 +0200 Subject: handle a few annotations --- main.py | 39 +++++++++++++++++++++++++++++++-------- 1 file changed, 31 insertions(+), 8 deletions(-) diff --git a/main.py b/main.py index 4075c7b..bc05329 100755 --- a/main.py +++ b/main.py @@ -33,6 +33,35 @@ def register_signald(number): s.verify(code) +def handle_response(response): + answer = "" + replies = response.json()['reply'] + for reply in replies: + # handle annotations + answer += reply['text'] + for annotation in reply["annotations"]: + atype = annotation["type"] + aextra = annotation["extra"] + + if atype == "command": + answer = f"/{answer}: " + break + elif atype == "link": + answer = f"{aextra} ({answer})" + break + elif atype == "bold": + answer = f"*{answer}*" + break + elif atype == "italic": + answer = f"_{answer}_" + break + elif atype == "strikethrough": + answer = f"~{answer}~" + break + + return answer + + def startup(number): s = Signal(number) @@ -47,10 +76,7 @@ def startup(number): response = requests.post('http://localhost:18080', json={"command": match.group(1), "arguments": match.group(2).strip()}) - answer = "" - replies = response.json()['reply'] - for reply in replies: - answer += reply['text'] + answer = handle_response(response) return stop, answer @@ -65,10 +91,7 @@ def startup(number): response = requests.post('http://localhost:18080', json={"command": match.group(1), "arguments": ""}) - answer = "" - replies = response.json()['reply'] - for reply in replies: - answer += reply['text'] + answer = handle_response(response) return stop, answer -- cgit v1.2.3-54-g00ecf