modules/doctor.php
author Dan
Sat, 11 Oct 2008 20:31:22 -0400
changeset 16 01c6a003d762
parent 8 0acb8d9a3194
child 24 6fa9346a9bdc
permissions -rw-r--r--
Fixed reference to missing key "counts" in stats-fe

<?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.';
}