Reinstate a simpler irk that only works with irkerd running.
authorEric S. Raymond <esr@thyrsus.com>
Sun, 1 Dec 2013 02:31:42 +0000 (21:31 -0500)
committerEric S. Raymond <esr@thyrsus.com>
Sun, 1 Dec 2013 02:31:42 +0000 (21:31 -0500)
irk [new file with mode: 0755]

diff --git a/irk b/irk
new file mode 100755 (executable)
index 0000000..954713d
--- /dev/null
+++ b/irk
@@ -0,0 +1,41 @@
+#!/usr/bin/env python
+# Illustrates how to test irkerd.
+#
+# First argument must be a channel URL. If it does not begin with "irc", 
+# the base URL for freenode is prepended.
+#
+# Second argument must be a payload string.  Standard C-style escapes 
+# such as \n and \t are decoded.
+#
+import json
+import socket
+import sys
+import fileinput
+import subprocess
+import time
+import os
+
+def send(target, message):
+    data = {"to": target, "privmsg" : message}
+    #print(json.dumps(data))
+    try:
+        s = socket.create_connection(("localhost", 6659))
+        s.sendall(json.dumps(data))
+    except socket.error, e:
+        sys.stderr.write("irk: write to server failed: %r\n" % e)
+
+try:
+    s = socket.create_connection(("localhost", 6659))
+except:
+    print "No irker is running."
+
+target = sys.argv[1]
+if not "irc:" in target:
+    target = "irc://chat.freenode.net/{0}".format(target)
+message = " ".join(sys.argv[2:])
+message = message.decode('string_escape')
+if message == '-':
+    for line in fileinput.input('-'):
+        send(target, line.rstrip('\n'))
+else:
+    send(target, message)