PDA

Просмотр полной версии : Как добавить функцию?


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
$file = 'file.txt'; //Где лежат рандомные строки
$line = file($file);

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



<?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(!$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;

// Рандомная строка
case '!random':
$mlCQ->send_message($from, $line[rand(0, count($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
А как добавить второй файл?

$line = Array();

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

foreach ($files as $file)
{
$line = array_merge($line, file($file));
}


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


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 - Можешь дать номер аси?

cren
29.07.2009, 00:03
А как сделать, чтобы он допустим по команде !rendom2 брал рандомную строчку из другого файла?

cren
29.07.2009, 12:36
А смотри, можно сделать так,
$file[0] = 'file_1.txt';
$file[1] = 'file_2.txt';
$file[2] = 'adv.txt':

$lines[0] = file($file[0]);
$lines[1] = file($flie[1]);
$lines[2] = file($flie[2]);

//бла бла бла


case '!random2':
$mlCQ->send_message($from, $lines[1][rand(0, count($lines[1]) - 1)], $lines[2][rand(0, count($lines[2]) - 1)]);
break;


Я хочу сделать типа рекламу

cren
29.07.2009, 15:12
Можно ли на этот скрипт как нибудь встроить регистрацию? что бы всё при регистрации ник номер и пол сохранялись в файл.txt?

cren
29.07.2009, 17:22
есть тот кто поможет мне?

Напишите в асю 6-344-344-7 пожмякаю +