From 4ab521322b388c28da3f076cfe7e6f430a887b94 Mon Sep 17 00:00:00 2001
From: Adhidarma Hadiwinoto <adhisimon@gmail.com>
Date: Wed, 18 Mar 2015 19:05:52 +0700
Subject: [PATCH] set new status by pm

---
 ym.js | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/ym.js b/ym.js
index c2542b0..2d8eb0d 100644
--- a/ym.js
+++ b/ym.js
@@ -181,7 +181,9 @@ function start(_config, _logger) {
         broadcast(config.yahoomessenger.report_to, '@' + data.sender + ': ' + message, partner);
 
         if ((direction == 'IN') && (isAdmin(partner))) {
+
             if (message.charAt(0) == '@') {
+
                 target = message.split(' ', 1).join();
                 target = target.slice(1);
 
@@ -193,7 +195,9 @@ function start(_config, _logger) {
                 logger.info('Forward to ' + target + ': ' + messageToForward);
                 pm(target, '@' + partner + ': ' + messageToForward);
 
-            } else if (message.charAt(0) == '+') {
+            }
+            else if (message.charAt(0) == '+') {
+
                 target = message.split(' ', 1).join();
                 target = target.slice(1);
 
@@ -205,10 +209,24 @@ function start(_config, _logger) {
                 logger.info('Clean forward to ' + target + ': ' + messageToForward);
                 pm(target, messageToForward);
 
-            } else if (message == '!relogin') {
+            }
+            else if (message.startsWith('!relogin')) {
+
                 broadcast(config.yahoomessenger.report_to, 'relogin requested by' + data.sender);
                 logger.info('Relogin request by pm');
                 relogin();
+
+            }
+            else if (message.startsWith('!setstatus ')) {
+
+                logger.info('Set status request by pm');
+
+                var newStatus = message.replace('!setstatus').trim();
+
+                broadcast(config.yahoomessenger.report_to, 'Set new status requested by' + data.sender + ': ' + newStatus);
+                config.yahoomessenger.status = newStatus;
+                YahooMessenger.setCustomAwayStatus(config.yahoomessenger.status);
+
             }
         }
     }
-- 
1.9.0