modules/doctor.php
changeset 8 0acb8d9a3194
child 24 6fa9346a9bdc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/doctor.php	Mon Aug 25 12:34:26 2008 -0400
@@ -0,0 +1,41 @@
+<?php
+require('eliza.php');
+
+eb_hook('event_channel_msg', 'doctor_listen($chan, $message);');
+eb_hook('snippet_dynamic', 'if ( $snippet === "doctor" ) return doctor_go($chan, $message, $snippet);');
+eb_hook('event_greeting', 'doctor_greet($append);');
+
+function doctor_go(&$chan, &$message, &$snippet)
+{
+  global $doctor;
+  
+  if ( $snippet == 'doctor' )
+  {
+    if ( isset($doctor[$message['nick']]) )
+    {
+      unset($doctor[$message['nick']]);
+      $chan->msg(eb_censor_words("{$message['nick']}, thank you for visiting the psychotherapist. Come again soon!"), true);
+    }
+    else
+    {
+      $doctor[$message['nick']] = new Psychotherapist();
+      $chan->msg(eb_censor_words("{$message['nick']}, I am the psychotherapist. Please explain your problems to me. When you are finished talking with me, type !doctor again."), true);
+    }
+    return true;
+  }
+}
+
+function doctor_listen(&$chan, &$message)
+{
+  global $doctor;
+  
+  if ( isset($doctor[$message['nick']]) && $message['message'] != '!doctor' )
+  {
+    $chan->msg(eb_censor_words($doctor[$message['nick']]->listen($message['message'])));
+  }
+}
+
+function doctor_greet(&$append)
+{
+  $append .= ' Type !doctor for the psychotherapist.';
+}