コード例 #1
0
ファイル: wiki_lib.php プロジェクト: cmn32480/exec-irc-bot
function wiki_autospamctl($nick, $trailing)
{
    $spam_user_list = array();
    $safe_user_list = array();
    $spam_rule_list = array();
    if (file_exists(DATA_PATH . "wiki_spam_users") == True) {
        $spam_user_list = explode(PHP_EOL, file_get_contents(DATA_PATH . "wiki_spam_users"));
        delete_empty_elements($spam_user_list, True);
    }
    if (file_exists(DATA_PATH . "wiki_safe_users") == True) {
        $safe_user_list = explode(PHP_EOL, file_get_contents(DATA_PATH . "wiki_safe_users"));
        delete_empty_elements($safe_user_list, True);
    }
    if (file_exists(DATA_PATH . "wiki_spam_rules") == True) {
        $spam_rule_list = explode(PHP_EOL, file_get_contents(DATA_PATH . "wiki_spam_rules"));
        delete_empty_elements($spam_rule_list, True);
    }
    $test_title = trim(extract_text_nofalse($trailing, "14[[07", "14]]"));
    $test_nick = trim(extract_text_nofalse($trailing, " 5* 03", " 5*"));
    if ($test_title == "" or $test_nick == "") {
        return;
    }
    if (in_array($test_nick, $safe_user_list) == True) {
        return;
    }
    $prefix = "Special:";
    if (substr($test_title, 0, strlen($prefix)) == $prefix) {
        return;
    }
    $rule_match = False;
    for ($i = 0; $i < count($spam_rule_list); $i++) {
        if (preg_match($spam_rule_list[$i], $test_nick) == 1) {
            $rule_match = True;
            break;
        }
    }
    if ($rule_match == False) {
        if (in_array($test_nick, $spam_user_list) == False) {
            return;
        }
    }
    privmsg("auto-spamctl for article \"{$test_title}\" by spam user \"{$test_nick}\"");
    wiki_spamctl($nick, ".spamctl {$test_title}");
}
コード例 #2
0
ファイル: wiki.php プロジェクト: cmn32480/exec-irc-bot
     wiki_delspamrule($nick, $trailing);
     return;
 }
 $cmd = ".spamrule";
 if (strtolower(substr($trailing, 0, strlen($cmd))) == $cmd) {
     wiki_spamrule($nick, $trailing);
     return;
 }
 $cmd = ".unspamctl";
 if (strtolower(substr($trailing, 0, strlen($cmd))) == $cmd) {
     wiki_unspamctl($nick, $trailing);
     return;
 }
 $cmd = ".spamctl";
 if (strtolower(substr($trailing, 0, strlen($cmd))) == $cmd) {
     wiki_spamctl($nick, $trailing);
     return;
 }
 $cmd = ".delsafeuser";
 if (strtolower(substr($trailing, 0, strlen($cmd))) == $cmd) {
     wiki_delsafeuser($nick, $trailing);
     return;
 }
 $cmd = ".safeuser";
 if (strtolower(substr($trailing, 0, strlen($cmd))) == $cmd) {
     wiki_safeuser($nick, $trailing);
     return;
 }
 $cmd = ".delspamuser";
 if (strtolower(substr($trailing, 0, strlen($cmd))) == $cmd) {
     wiki_delspamuser($nick, $trailing);