]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/Irc/extlib/phergie/Phergie/Plugin/Statusnet.php
Bot responds to channel commands via PM
[quix0rs-gnu-social.git] / plugins / Irc / extlib / phergie / Phergie / Plugin / Statusnet.php
index f2b7bcdab7e26449ae180923e9f8bd7fabc66143..ec2b427466119bd07556484a46f94432655b0e45 100644 (file)
@@ -15,8 +15,8 @@
  * You should have received a copy of the GNU Affero General Public License\r
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.\r
  *\r
- * Calls the given Statusnet IM architecture enqueuing method to enqueue\r
- * a new incoming message\r
+ * Talks to the Statusnet IM architecture to enqueue incoming message messages\r
+ * and notify result of nickname registration checks\r
  *\r
  * @category  Phergie\r
  * @package   Phergie_Plugin_Statusnet\r
@@ -59,15 +59,8 @@ class Phergie_Plugin_Statusnet extends Phergie_Plugin_Abstract {
             $this->regCallback = NULL;\r
         }\r
 \r
-        $this->unregRegexp = $this->config['statusnet.unregregexp'];\r
-        if (!$this->unregRegexp) {\r
-            $this->unregRegexp = '/\x02(.*?)\x02 (?:isn\'t|is not) registered/i';\r
-        }\r
-\r
-        $this->regRegexp = $this->config['statusnet.regregexp'];\r
-        if (!$this->regRegexp) {\r
-            $this->regRegexp = '/(?:\A|\x02)(\w+?)\x02? (?:\(account|is \w+?\z)/i';\r
-        }\r
+        $this->unregRegexp = $this->getConfig('statusnet.unregregexp', '/\x02(.*?)\x02 (?:isn\'t|is not) registered/i');\r
+        $this->regRegexp = $this->getConfig('statusnet.regregexp', '/(?:\A|\x02)(\w+?)\x02? (?:\(account|is \w+?\z)/i');\r
     }\r
 \r
     /**\r
@@ -79,9 +72,10 @@ class Phergie_Plugin_Statusnet extends Phergie_Plugin_Abstract {
         if ($this->messageCallback !== NULL) {\r
             $event = $this->getEvent();\r
             $source = $event->getSource();\r
+            $sender = $event->getNick();\r
             $message = trim($event->getText());\r
 \r
-            call_user_func($this->messageCallback, array('sender' => $source, 'message' => $message));\r
+            call_user_func($this->messageCallback, array('source' => $source, 'sender' => $sender, 'message' => $message));\r
         }\r
     }\r
 \r
@@ -91,15 +85,17 @@ class Phergie_Plugin_Statusnet extends Phergie_Plugin_Abstract {
      * @return void\r
      */\r
     public function onNotice() {\r
-        $event = $this->getEvent();\r
-        if ($event->getNick() == 'NickServ') {\r
-            $message = $event->getArgument(1);\r
-            if (preg_match($this->unregRegexp, $message, $groups)) {\r
-                $screenname = $groups[1];\r
-                call_user_func($this->regCallback, array('screenname' => $screenname, 'registered' => false));\r
-            } elseif (preg_match($this->regRegexp, $message, $groups)) {\r
-                $screenname = $groups[1];\r
-                call_user_func($this->regCallback, array('screenname' => $screenname, 'registered' => true));\r
+        if ($this->regCallback !== NULL) {\r
+            $event = $this->getEvent();\r
+            if ($event->getNick() == 'NickServ') {\r
+                $message = $event->getArgument(1);\r
+                if (preg_match($this->unregRegexp, $message, $groups)) {\r
+                    $screenname = $groups[1];\r
+                    call_user_func($this->regCallback, array('screenname' => $screenname, 'registered' => false));\r
+                } elseif (preg_match($this->regRegexp, $message, $groups)) {\r
+                    $screenname = $groups[1];\r
+                    call_user_func($this->regCallback, array('screenname' => $screenname, 'registered' => true));\r
+                }\r
             }\r
         }\r
     }\r