Commit 7c892f8
Changed files (4)
lib/del/cli.rb
@@ -20,7 +20,8 @@ module Del
desc "message <jid> <message>", "send a message to the Jabber ID"
def message(jid, message)
socket = UNIXSocket.new(options[:socket_file])
- socket.puts(JSON.generate(jid: jid, message: message))
+ socket.puts(JSON.generate(command: :send_message, jid: jid, message: message))
+ say socket.readline, :green
socket.close
end
end
lib/del/robot.rb
@@ -35,6 +35,16 @@ module Del
end
end
+ def execute(request)
+ case request['command']
+ when 'send_message'
+ send_message(request['jid'], request['message'])
+ "Sent!"
+ else
+ "Unknown"
+ end
+ end
+
private
def user?(jid)
lib/del/socket_connection.rb
@@ -8,6 +8,8 @@ module Del
def on_receive
socket = @server.accept
yield socket
+ rescue => error
+ Del.logger.error(error)
ensure
socket&.close
end
lib/del/socket_server.rb
@@ -9,9 +9,7 @@ module Del
@connection.on_receive do |socket|
line = socket.readline
Del.logger.debug(line)
- json = JSON.parse(line)
- jid = json['jid']
- robot.send_message(jid, json['message'])
+ socket.write(robot.execute(JSON.parse(line)))
end
end
end