From 0e7032a327410ea1a979a363fc231af0265c30ec Mon Sep 17 00:00:00 2001 From: Niklas Halle Date: Mon, 24 Aug 2020 08:54:19 +0200 Subject: first text? --- main.py | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/main.py b/main.py index 3b8d3a6..6adf802 100755 --- a/main.py +++ b/main.py @@ -3,7 +3,8 @@ import os import sys import getopt -import traceback +import json +import requests from signald import Signal from configparser import ConfigParser @@ -18,7 +19,7 @@ def usage(): def read_config(): config_object = ConfigParser() - #config_object.read(os.environ.get('XDG_CONFIG_HOME') + "/n_signal.ini") + # config_object.read(os.environ.get('XDG_CONFIG_HOME') + "/n_signal.ini") config_object.read("n_signal.ini") info = config_object["INFO"] @@ -36,16 +37,26 @@ def register_signald(number): def startup(number): s = Signal(number) - @s.chat_handler("/klinger", order=10) # This is case-insensitive. + @s.chat_handler("/([^\\s]+)\\s+(.*)", order=10) # This is case-insensitive. def klinger(message, match): # Returning `False` as the first argument will cause matching to continue # after this handler runs. stop = True - reply = "Bonjour!" - return stop, reply + + # TODO: try catch + response = requests.post('http://localhost:18080', + json={"command": match.group(1), "arguments": match.group(2)}) + + answer = "" + replies = response.json()['reply'] + for reply in replies: + answer += reply['text'] + + return stop, answer s.run_chat() + def main(): number = read_config() try: @@ -61,7 +72,7 @@ def main(): usage() sys.exit() elif o in ("-r", "--register"): - register_signald() + register_signald(number) sys.exit() else: assert False, "unhandled option: " + o -- cgit v1.2.3-54-g00ecf