add / modify copyright notice
[irbot.git] / plugins / sample-plugin.inc.php
blob4d30305e536a59ce4faead0ebdd95beb2ee1a196
1 <?php
2 /**
3 * This file is part of IrBot, irc robot.
4 * Copyright (C) 2007-2008 Bellière Ludovic
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 /**
21 * @see Plugins_Abstract
23 require_once(BASE_DIR.'Plugins/Abstract.php');
25 class sample extends Plugins_Abstract {
26 protected $_ircmain;
28 public function __construct($main) {
29 $this->_ircmain = bot::GetInstance();
32 public function commands_list() {
33 $commands = array(
34 'method1' => array( // !sample method1
35 'requier_args' => 0,
36 'accepted_args' => 0,
37 'help' => 'some help for this method1',
38 'type' => 'public',
40 'method2' => array( // !sample method2 arg
41 'requier_args' => 1,
42 'accepted_args' => 1,
43 // the \n chr in a double quote string create a new line (2 PRIVMSG)
44 'help' => "some help for this method2\n".$this->formater->bold('one arg').' requier',
45 'type' => 'public',
47 'method3' => array( // /msg BotName sample method3 arg
48 'requier_args' => 0,
49 'accepted_args' => 1,
50 'help' => 'some help for this method3',
51 'type' => 'mixed',
54 return $commands;
57 public function current_message ($message) {
58 /* gived by irc::parse_get
59 $message = array (
60 'type' => PRIVMSG|NOTICE,
61 'from' => Nick (reply to),
62 'to' => BotName / ChannelName,
63 'message' => The message
66 $this->message = $message;
69 function method1 ($config = false) {
70 $this->IRCConn->privmsg(bot::$channel,'This is the method1');
73 function method2 ($query) {
74 $this->IRCConn->privmsg(bot::$channel,'This is the method2 : '.$query);
77 function method3 ($query='') {
79 if ($query=='') {
80 $query = 'no args given. All works !';
83 if (bot::$myBotName == $this->message['to']) {
84 $replyto = $this->message['from'];
85 } else {
86 $replyto = $this->message['to'];
89 $this->IRCConn->privmsg($replyto,'This is the method3 : '.$query);
92 /**
93 * Return plugin name
95 * @return string
97 public function toString() {
98 return 'sample';