Commit 9397f0c
lib/del/cli.rb
@@ -39,6 +39,15 @@ module Del
).run(jid, message)
end
+ desc 'status <status> <message>', 'status to online, offline, away, or busy'
+ def status(status, message = nil)
+ socket = SocketMessage.new(self, socket_file: options[:socket_file])
+ socket.deliver(command: :change_status, status: status, message: message)
+ say(socket.listen, :green)
+ ensure
+ socket.close
+ end
+
desc 'whoami', 'send a whoami message to the local del server'
def whoami
socket = SocketMessage.new(self, socket_file: options[:socket_file])
lib/del/robot.rb
@@ -39,7 +39,7 @@ module Del
{
away!: :away,
- do_not_disturb!: :dnd,
+ busy!: :dnd,
offline!: :xa,
online!: :chat
}.each do |name, value|
lib/del/tron.rb
@@ -11,6 +11,7 @@ module Del
def execute(request)
{
+ change_status: -> { change_status(request) },
send_message: -> { send_message(request) },
users: -> { users(request) },
whoami: -> { whoami(request) },
@@ -36,5 +37,10 @@ module Del
def whoami(_request)
JSON.generate(whois(robot.jid))
end
+
+ def change_status(request)
+ robot.public_send("#{request['status'].downcase}!", request['message'])
+ 'Done!'
+ end
end
end