Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Как добавить функцию? (https://forum.antichat.xyz/showthread.php?t=131761)

cren 28.07.2009 15:24

Как добавить функцию?
 
Как в этого бота дабавить команду отправки рандомной строчки из какого либо файла?

Код:

<?

// Based on mlCQ library v0.4 by Sergey Danyushin aka I)estym

// (c)oded by S1B [SBT]
// 21.04.2007
// www.secbun.info
set_time_limit(0);
ignore_user_abort(true);

$help='Команды бота:

!help - вывод справки (её Вы сейчас читаете)
!md5 <строка> - вернёт MD5 хэш переданной строки
!b64e <строка> - кодирует переданные данные в Base64
!b64d <строка> - декодирует переданные данные из Base64
!len <строка> - вернёт длину переданной строки
!tic <url сайта> - вернёт тИЦ данного сайта
!admin - Контакты для связи с админом
';
$admin='Для связи с администратором можно использовать:
ICQ: 6-344-344-7
e-mail: waketwo@narod.ru
m-agent: serega_bomber
jabber: wake-two@jabber.ru';


function get_tic($url) {
        if(isset($url)) {
                $url=urlencode(str_replace("http://","",str_replace("www.","",strtolower(trim($url)))));
                $s=fsockopen('bar-navig.yandex.ru','80');
                fputs($s,"GET /u?ver=2&lang=1049&url=http://$url&target=_No__Name:5&show=1&thc=0 HTTP/1.0\r\nHost: bar-navig.yandex.ru\r\n\r\n");
                while(!feof($s)) {
                        $get=fgets($s,128);
                        if(preg_match('!" value="(.*?)"/>!',$get,$tic)) {
                                return $tic[1];
                        }
                }
        }
}

require_once 'lib.php';
require_once 'conf.php';

if(BOT_BIRTHDAY=='1') { $BD='BIRTHDAY'; }

set_time_limit(0);
ignore_user_abort(true);

$mlCQ=new mlCQ();
$mlCQ->create_identity("me",UIN_BOT,PASS_BOT);
$mlCQ->connect();
$mlCQ->login();

if(LOG_SET=='1') { $mlCQ->start_logging(LOG_FILE); }

$mlCQ->set_status(BOT_STATUS, $BD);

$mlCQ->request_offline_messages();
$mlCQ->delete_offline_messages();

$still_there=true; $code='';

while($still_there) {

    if(!is_resource($mlCQ->sock) || feof($mlCQ->sock)) $still_there=false;
    if(!$code) sleep(1);    // Спим
    $code=$mlCQ->dance_for('me');

    switch($code) {
        case 7:

        $msg=$mlCQ->id['in_messages']['last'];
        $from=$msg['uin'];
        list($cmd[1])=explode(' ',$msg['text']);
                          $cmd[2]=str_replace("$cmd[1] ",'',$msg['text']);

                    switch($cmd[1]) {

                                // Функция вывода хелпа
                                case '!help':
                            $mlCQ->send_message($from,$help);
                                break;

                                case '!ui':
                                        $mlCQ->send_message($from,$mICQ->request_full_userinfo(4124477));
                                break;
                                                                // Функция вывода хелпа
                                case '!admin':
                            $mlCQ->send_message($from,$admin);
                                break;
                                                                                                // Функция вывода хелпа



                                // Функция создания MD5 хэшей
                                case '!md5':
                                        $mlCQ->send_message($from,md5($cmd[2]));
                                break;

                                // Функция кодирования в Base64
                                case '!b64e':
                                        $mlCQ->send_message($from,base64_encode($cmd[2]));
                                break;

                                // Функция декодирования из Base64
                                case '!b64d':
                                        $mlCQ->send_message($from,base64_decode($cmd[2]));
                                break;

                                // Функция подсчёта длины строки
                                case '!len':
                                        $mlCQ->send_message($from,strlen($cmd[2]));
                                break;

                                // Функция получения Яндекс тИЦ заданного сайта
                                case '!tic':
                            $tic=get_tic($cmd[2]);
                                        if($tic=='') { $tic='Определение тИЦ данного сайта невозможно, либо его значение меньше 10'; }
                                        $mlCQ->send_message($from,$tic);
                                break;
                                // Функция получения Яндекс тИЦ заданного сайта
                                case '!wake':
                            $tic=frand($cmd[3]);
                                        if($tic=='') { $tic='Определение тИЦ данного сайта невозможно, либо его значение меньше 10'; }
                                        $mlCQ->send_message($from,$wake);
                                break;

                    // Функция остановки работы бота
                    case '!stop':
                      if($from==UIN_ADMIN) {
                        $mlCQ->send_message($from,'Работы бота завершена');
                        $mlCQ->close();
                      }
        break;

                                default:
                                        $mlCQ->send_message($from,"Гы =))) А такой каманды нет!.\nДля вывода справки по командам наберите \"!help\" (без кавычек)");
                                break;
                    }
    }
}

?>


cren 28.07.2009 15:25

если можно то сразу вставьте в код сразу, и выложите

FireFenix 28.07.2009 15:37

PHP код:

$file 'file.txt'//Где лежат рандомные строки
$line file($file);

// Рандомная строка
$mlCQ->send_message($from$line[rand(0count($line) - 1)]); 

PHP код:

<?php

// Based on mlCQ library v0.4 by Sergey Danyushin aka I)estym

// (c)oded by S1B [SBT]
// 21.04.2007
// www.secbun.info
set_time_limit(0);
ignore_user_abort(true);

$file 'file.txt'//Где лежат рандомные строки
$line file($file);

$help='Команды бота:

!help - вывод справки (её Вы сейчас читаете)
!md5 <строка> - вернёт MD5 хэш переданной строки
!b64e <строка> - кодирует переданные данные в Base64
!b64d <строка> - декодирует переданные данные из Base64
!len <строка> - вернёт длину переданной строки
!tic <url сайта> - вернёт тИЦ данного сайта
!admin - Контакты для связи с админом
'
;
$admin='Для связи с администратором можно использовать:
ICQ: 6-344-344-7
e-mail: waketwo@narod.ru
m-agent: serega_bomber
jabber: wake-two@jabber.ru'
;


function 
get_tic($url) {
    if(isset(
$url)) {
        
$url=urlencode(str_replace("http://","",str_replace("www.","",strtolower(trim($url)))));
        
$s=fsockopen('bar-navig.yandex.ru','80');
        
fputs($s,"GET /u?ver=2&lang=1049&url=http://$url&target=_No__Name:5&show=1&thc=0 HTTP/1.0\r\nHost: bar-navig.yandex.ru\r\n\r\n");
        while(!
feof($s)) {
            
$get=fgets($s,128);
            if(
preg_match('!" value="(.*?)"/>!',$get,$tic)) {
                return 
$tic[1];
            }
        }
    }
}

require_once 
'lib.php';
require_once 
'conf.php';

if(
BOT_BIRTHDAY=='1') { $BD='BIRTHDAY'; }

set_time_limit(0);
ignore_user_abort(true);

$mlCQ=new mlCQ();
$mlCQ->create_identity("me",UIN_BOT,PASS_BOT);
$mlCQ->connect();
$mlCQ->login();

if(
LOG_SET=='1') { $mlCQ->start_logging(LOG_FILE); }

$mlCQ->set_status(BOT_STATUS$BD);

$mlCQ->request_offline_messages();
$mlCQ->delete_offline_messages();

$still_there=true$code='';

while(
$still_there) {

    if(!
is_resource($mlCQ->sock) || feof($mlCQ->sock)) $still_there=false;
    if(!
$codesleep(1);    // Спим
    
$code=$mlCQ->dance_for('me');

    switch(
$code) {
        case 
7:

        
$msg=$mlCQ->id['in_messages']['last'];
        
$from=$msg['uin'];
        list(
$cmd[1])=explode(' ',$msg['text']);
              
$cmd[2]=str_replace("$cmd[1] ",'',$msg['text']);

             switch(
$cmd[1]) {

                
// Функция вывода хелпа
                
case '!help':
                
$mlCQ->send_message($from,$help);
                break;

                case 
'!ui':
                    
$mlCQ->send_message($from,$mICQ->request_full_userinfo(4124477));
                break;
                                
// Функция вывода хелпа
                
case '!admin':
                
$mlCQ->send_message($from,$admin);
                break;
                                                
// Функция вывода хелпа



                // Функция создания MD5 хэшей
                
case '!md5':
                    
$mlCQ->send_message($from,md5($cmd[2]));
                break;

                
// Функция кодирования в Base64
                
case '!b64e':
                    
$mlCQ->send_message($from,base64_encode($cmd[2]));
                break;

                
// Функция декодирования из Base64
                
case '!b64d':
                    
$mlCQ->send_message($from,base64_decode($cmd[2]));
                break;

                
// Функция подсчёта длины строки
                
case '!len':
                    
$mlCQ->send_message($from,strlen($cmd[2]));
                break;

                
// Функция получения Яндекс тИЦ заданного сайта
                
case '!tic':
                
$tic=get_tic($cmd[2]);
                    if(
$tic=='') { $tic='Определение тИЦ данного сайта невозможно, либо его значение меньше 10'; }
                    
$mlCQ->send_message($from,$tic);
                break;
                
// Функция получения Яндекс тИЦ заданного сайта
                
case '!wake':
                
$tic=frand($cmd[3]);
                    if(
$tic=='') { $tic='Определение тИЦ данного сайта невозможно, либо его значение меньше 10'; }
                    
$mlCQ->send_message($from,$wake);
                break;

            
// Функция остановки работы бота
            
case '!stop':
              if(
$from==UIN_ADMIN) {
                
$mlCQ->send_message($from,'Работы бота завершена');
                
$mlCQ->close();
               }
        break;
        
        
// Рандомная строка
        
case '!random':
          
$mlCQ->send_message($from$line[rand(0count($line) - 1)]);
        break;

                default:
                    
$mlCQ->send_message($from,"Гы =))) А такой каманды нет!.\nДля вывода справки по командам наберите \"!help\" (без кавычек)");
                break;
            }
    }
}

?>


cren 28.07.2009 21:56

спс) а ещё нужно вставить команду чтобы отправляла сообщене на указанный номер

Например по команде !icq 63443447 Привет!

Шло сообщение привет на номер 63443447

cren 28.07.2009 21:59

FireFenix пишет ошибка на строчке 12

Fata1ex 28.07.2009 22:11

Файл создай

cren 28.07.2009 22:40

C ошибкой название файла написал...работает спс

Цитата:

спс) а ещё нужно вставить команду чтобы отправляла сообщене на указанный номер

Например по команде !icq 63443447 Привет!

Шло сообщение привет на номер 63443447
Помогите с этим плиз.

cren 28.07.2009 22:44

Цитата:

$file = 'file.txt'; //Где лежат рандомные строки
$line = file($file);

// Рандомная строка
$mlCQ->send_message($from, $line[rand(0, count($line) - 1)]);
А как добавить второй файл?

FireFenix 28.07.2009 23:13

Цитата:

А как добавить второй файл?
PHP код:

$line = Array();

$files[] = 'file_0.txt';
$files[] = 'file_1.txt';
$files[] = 'file_n.txt';

foreach (
$files as $file)
{
  
$line array_merge($linefile($file));


Цитата:

Например по команде !icq 63443447 Привет!
Шло сообщение привет на номер 63443447
Помогите с этим плиз.
PHP код:

case '!icq':
  
$params explode(' '$msg['text']);
  
$mlCQ->send_message($params[1], $params[2]);
break; 

где-то так

cren 28.07.2009 23:39

Цитата:

$line = Array();

$files[] = 'file_0.txt';
$files[] = 'file_1.txt';
$files[] = 'file_n.txt';

foreach ($files as $file)
{
$line = array_merge($line, file($file));
}
А как вставлять? пример?

FireFenix - Можешь дать номер аси?


Время: 17:40