Beispiel #1
0
function nsident($user, $whom, $msg)
{
    global $nspass, $debugchan;
    if (get_nick($user) == "NS") {
        if ("This nickname is owned by someone else" == $msg) {
            msg("NS", "identify {$nspass}");
            irclog("NS", "Trying to identify myself");
            msg($debugchan, "trying to id");
        } elseif ("Password accepted - you are now recognized" == $msg) {
            irclog("NS", "Identification successful, yuppie!");
            if ($debug == "on") {
                msg($debugchan, "Identification successful: yuppie!");
            }
            msg("CS", "op all");
        } elseif ("Password Incorrect" == $msg) {
            irclog("NS", "Identification failed: wrong password");
            if ($debug == "on") {
                msg($debugchan, "Identification failed: wrong password");
            }
        }
    }
}
Beispiel #2
0
function pubcmd($user, $whom, $msg)
{
    global $bnick, $version;
    $params = explode(" ", $msg);
    if (ereg("^#", $whom)) {
        // if they're calling the bot in a channel
        $mecalled = array_shift($params);
        // getting bots nick out
    } else {
        // private msg to the bot
        $mecalled = $bnick;
        $whom = get_nick($user);
    }
    $command = strtoupper(array_shift($params));
    if ($mecalled == $bnick) {
        switch ($command) {
            case "SERVER":
                msg($whom, "I'm using " . ircserver());
                break;
            case "PING":
                dump("NOTICE {$whom} :PING " . implode(" ", $params));
                break;
            case "VERSION":
                dump("NOTICE " . get_nick($user) . " :VERSION {$version} ");
                break;
            default:
                if (is_admin($user)) {
                    switch ($command) {
                        case "JOIN":
                            call_user_func_array('jchan', $params);
                            break;
                        case "PART":
                            part($params[0]);
                            break;
                        case "ACTION":
                            action($whom, join(" ", $params));
                            break;
                        case "DO":
                            dump(join(" ", $params));
                            break;
                        case "BINDINGS":
                            msg($whom, "BINDINGS for {$params['0']} -> (" . join(",", managebindings('list', $params[0])) . ")");
                            break;
                        case "REHASH":
                            msg($whom, "rehashing...");
                            //rehash();
                            break;
                        case "QUIT":
                            irclog("cmd", "ressurect requested by " . get_nick($user));
                            quit("requested by " . get_nick($user));
                            break;
                        case "DIE":
                            quit("requested by " . get_nick($user));
                            irclog("cmd", "die request by " . get_nick($user));
                            exit;
                            break;
                        case "MYSQL":
                            $query = implode(" ", $params);
                            jmysql($query);
                            break;
                        default:
                            msg($whom, "Not implemented... yet!");
                            break;
                    }
                }
                break;
        }
    }
}
Beispiel #3
0
function ircwrite($proto, $ircdata)
{
    global $socket;
    $ircdata .= "\r\n";
    // auto putting end-signs at every line
    switch ($proto) {
        case "ctcp":
            // client-to-client protocol
            socket_write($socket, $ircdata);
            break;
        case "msg":
            // privmsg
            socket_write($socket, "PRIVMSG {$ircdata}");
            break;
        case "raw":
            // raw message
            socket_write($socket, " {$ircdata}");
            break;
        default:
            // everything else
            irclog($proto, $ircdata);
            break;
    }
}