source: spip-zone/_acotes_/irc/phergie/Phergie/Plugin/Edgard.php @ 61567

Last change on this file since 61567 was 61567, checked in by denisb@…, 7 years ago

retrouver la doc (suite)

File size: 3.3 KB
Line 
1<?php
2/**
3 * Phergie
4 *
5 * PHP version 5
6 *
7 * LICENSE
8 *
9 * This source file is subject to the new BSD license that is bundled
10 * with this package in the file LICENSE.
11 * It is also available through the world-wide-web at this URL:
12 * http://phergie.org/license
13 *
14 * @category  Phergie
15 * @package   Phergie_Plugin_Daddy
16 * @author    Phergie Development Team <team@phergie.org>
17 * @copyright 2008-2011 Phergie Development Team (http://phergie.org)
18 * @license   http://phergie.org/license New BSD License
19 * @link      http://pear.phergie.org/package/Phergie_Plugin_Daddy
20 */
21
22/**
23 * Simply responds to messages addressed to the bot that contain the phrase
24 * "Who's your daddy?" and related variations.
25 *
26 * @category Phergie
27 * @package  Phergie_Plugin_Daddy
28 * @author   Phergie Development Team <team@phergie.org>
29 * @license  http://phergie.org/license New BSD License
30 * @link     http://pear.phergie.org/package/Phergie_Plugin_Daddy
31 */
32class Phergie_Plugin_Edgard extends Phergie_Plugin_Abstract
33{
34    /**
35     * Checks messages for the question to which it should respond and sends a
36     * response when appropriate
37     *
38     * @return void
39     */
40    public function onPrivmsg()
41    {
42        $config = $this->getConfig();
43        $prefix = $config['command.prefix'];
44        $event = $this->getEvent();
45        $text = $event->getArgument(1);
46        $target = $event->getNick();
47        $source = $event->getSource();
48       
49
50 //commençons par (^#\d{2,4}\b);http://core.spip.org/issues/
51        $pattern = '/' . preg_quote($prefix) .
52                   '\#([0-9]+)/iAD';
53        if (preg_match($pattern, $text, $m)) {
54            $msg = 'Ok '. $target." c'est par ici : http://core.spip.org/issues/" . $m[1] ;
55            $this->doPrivmsg($source, $msg);
56        }
57
58
59        // http://core.spip.org/projects/spip/repository/revisions/18395
60        $pattern = '/' . preg_quote($prefix) .
61                           '^c([0-9]+)/iAD';
62                if (preg_match($pattern, $text, $m)) {
63                    $msg = 'Ok '. $target." le commit c'est par ici : http://core.spip.org/projects/spip/repository/revisions/" . $m[1] ;
64                    $this->doPrivmsg($source, $msg);
65                }
66
67        // http://core.spip.org/projects/spip/repository/revisions/18395
68        $pattern = '/' . preg_quote($prefix) .
69                           '^z([0-9]+)/iAD';
70                if (preg_match($pattern, $text, $m)) {
71                    $msg = 'Ok '. $target." le commit c'est par ici : http://zone.spip.org/trac/spip-zone/changeset/" . $m[1] ;
72                    $this->doPrivmsg($source, $msg);
73                }
74
75        // @?
76        $pattern = '/' . preg_quote($prefix) .
77                           '^@\?([^?]+)/iAD';
78                if (preg_match($pattern, $text, $m)) {
79                                        $m[1]=urlencode(trim($m[1]));
80                                        $msg = "Hop http://edgard.spip.org/questions/". $m[1] ;
81                    $this->doPrivmsg($source, $msg);
82                }
83
84        // @function()
85        $pattern = '/' . preg_quote($prefix) .
86                           '^@([a-z0-9_]{3,})\(\)/iAD';
87                if (preg_match($pattern, $text, $m)) {
88                                        $m[1]=urlencode(trim($m[1]));
89                                        $msg = "Hop http://doc.spip.org/@". $m[1] . " - Hop (sinon) http://doc.spip.org/spip.php?page=recherche&recherche=" . $m[1] ;
90                    $this->doPrivmsg($source, $msg);
91                }
92    }
93}
Note: See TracBrowser for help on using the repository browser.