Login   Register  
PHP Classes
elePHPant
Icontem

File: plugins/privatetalk.class.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Sergei Miami  >  Joker the IRC bot  >  plugins/privatetalk.class.php  >  Download  
File: plugins/privatetalk.class.php
Role: Example script
Content type: text/plain
Description: Private Talk plugin
Class: Joker the IRC bot
Base for building IRC bot
Author: By
Last change: Used joker->answer instead of $joker->msg
Date: 4 years ago
Size: 1,754 bytes
 

Contents

Class file image Download
<?php

/**
 * @package    Joker
 * @subpackage Plugins
 * @author     Miami <miami@blackcrystal.net>
 * @version    1.1 on 26/05/2010
 * @license    Released under the MIT License
 * @link       www.blackcrystal.net
 * 
 * Private Talk
 *
 * This is example plugin that uses internal variable to hold some
 * user information. This plugin accepts only private chat and stores
 * last time and a message, then output this back to user on next requests.
 *
 * Warning! Avoid collecting of lots information inside the memory,
 * cuz, normally PHP limits it. If you want more data stored
 * use database or external files. This example is only the example... ;)
 *
 * What we have here:
 *   - On first private MSG if shows "Hi, nick" and stores its time/message in array
 *   - If info exists, reply with last time and a message
 */

class PrivateTalk {
  
  private 
$infos = array(); //here we hold assoc.array of last chats
  
  
public function PRIVMSG(Joker $joker) {

    
//accept only private messages from users
    
if ($joker->chan) return;
    
    if (!isset(
$this->infos[$joker->nick])) 
    {
      
//first time you talk to Joker, it replies Hi, nickname...
      
$joker->answer("Hi, $joker->nick. Nice to meet you! Type something again...");
      
$this->infos[$joker->nick] = array('time'=>time(),'text'=>$joker->text);
    }
    else 
    {
      
//if info exists, msg him about last chat
      
$info $this->infos[$joker->nick];
      
$seconds time() - $info['time'];
      
$joker->answer("$seconds seconds ago you told me: $info[text]");
      
      
//remember text, that was sayed
      
$this->infos[$joker->nick] = array('time'=>time(),'text'=>$joker->text);        
    }
    
  }
}