diff options
author | Niklas Halle <niklas@niklashalle.net> | 2020-08-24 08:54:19 +0200 |
---|---|---|
committer | Niklas Halle <niklas@niklashalle.net> | 2020-08-24 08:54:19 +0200 |
commit | 0e7032a327410ea1a979a363fc231af0265c30ec (patch) | |
tree | d4b56debe43e7f65f2ab578f57fc36cae1fe913f | |
parent | dcd3baa1e653921b54af8decce40273f804bf572 (diff) | |
download | n_frontend_signal-0e7032a327410ea1a979a363fc231af0265c30ec.tar.gz n_frontend_signal-0e7032a327410ea1a979a363fc231af0265c30ec.zip |
first text?
-rwxr-xr-x | main.py | 23 |
1 files changed, 17 insertions, 6 deletions
@@ -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 |