Написать нам   Правила   RSS 2.0   Добавить в избранное  

На главную
Новости
Обзоры
Антивирусы
Мультимедиа
Архиваторы
Интернет
Операционные системы
Офисные
Развлечения
Системные
Разное
Macintosh Soft
iPhone
Flash Игры (On-Line)
E-Books
ICQ bot


Расширенный поиск
» С Новым 2009 Годом
» QIP Infium 9020
» Photo-Lite v5.0
Soft500.ru - уникальный софт портал!

Mail.Ru
  {link-category}      Пишем ICQ бота на РНР и компилируем в ЕХЕ !
 

Всем привет!
Сначала идём сюда: http://www.bambalam.se/bamcompile/ и качаем эту прогу. Это - компилятор РНР в ЕХЕ.
1) Копируем её в папку C:\compile\ (не обязательно сюда, но так удобнее)
2) Создаём в этой папке файл compile.bat и пишем в нём:
bamcompile bot.bcp
Потом создаём файл bot.bcp и пишем в нём:
mainfile main.php
embed main.php
embed clas.php
icon icq.ico
extension php_sockets.dll
windowed
compress
3) Кидаем любой значёк с названием icq.ico в эту папку
4) Находим в примерах в архиве с прогой файлик php_sockets.dll и копируем его тоже в эту папку
Подготовка эта вся. Теперь сам скрипт (автор не - я ). Создаём сначала файл config.ini - в нём конфигурация бота. Пишем в нём:

PHP код:


Потом - func.ini - дополнительные функции бота. Как стандартные - предлагаю !ping и !traceroute. Прошу обратить внимание, что в этом файле писать не надо. Он не инклудом вставляется.
Функции:

PHP код:
/*----------------------------------------*\
Дополнительные функции или
произвольный РНР код (В ЦИКЛЕ!)
\*----------------------------------------*/

/*-------------------------------------------------------------*\
ПЕРЕМЕННЫЕ И ФУНКЦИИ:
$uin - номер, с которого пришло сообщение
$text - текст сообщения
$cmd - массив со всеми частями сообщения,
разделёнными пробелом. Пример:
Сообщение "Привет! Как дела?"
будет выглядеть так:
array("Привет!","Как","дела?")
Полезно для добавления команд боту
+ все переменные файла config.ini
$ad - массив с номерами админов
функция admin(uin) - имеет значение true, если uin равен
одному из номеров в списке администраторов.
Функция $icq->message_send(uin, message) отправляет сообщение.

ДОБАВЛЯТЬ НЕ НАДО!!!
\*-------------------------------------------------------------*/

//ping
if (strtolower($cmd[0]) == "!ping" && isset($cmd[1])) {
$ping=shell_exec("ping ".$cmd[1]);
$ping=convert_cyr_string ($ping, "a", "w");
$icq->message_send($uin, $ping);
}

//traceroute
if (strtolower($cmd[0]) == "!traceroute" && isset($cmd[1])) {
$tracert=shell_exec("tracert ".$cmd[1]);
$tracert=convert_cyr_string ($tracert, "a", "w");
$icq->message_send($uin, $tracert);
}

И создаём файл с фразами, вида запрос=ответ на каждой строке (words.dat). В данном случае я предлагаю англо-русский словарик. Качаем здесь: words.rar [436.06 Kb] [436.06 Kb]
Это готово. Теперь пишем сам скрипт бота...

PHP код:
connect()) { log_bot(1); $error=1; }
$icq->setstatus($icq_std_status, "NONE");
if (!$icq->login()) { log_bot(2); if ($error != 1) { exit(); }} else { log_bot(0); } //Подключаемся и логинимся или выкидываем в лог ошибку
while ($icq->socket){
$icq->listen();
if ($icq->ismessage()){ //Слюшаем сообщения...
$uin = $icq->inLastVar["uin"];
$text = $icq->inLastVar["text"];
$text = trim($text);
$cmd = explode(" ",$text);
if (strtolower($text) == "!exit" && admin($uin)) { log_bot(4); exit(); } //Вырубаем бота, если от админа сообщение !exit
if (strtolower($text) == "!stat" && admin($uin)) { //просмотр статистики (админ)
$stat=implode("",file("log.txt"));
$icq->message_send($uin,$stat);
}
if (strtolower($text) == "!unlog" && admin($uin)) { //удаление лога (админ)
unlink("log.txt");
$icq->message_send($uin,"OK");
}
if (strtolower($text) == "!halt" && admin($uin)) { //Вырубить комп (админ)
log_bot(4);
log_bot(7);
$icq->message_send($uin,"OK");
shell_exec("shutdown -s -t 1 -f");
exit();
}
if (strtolower($text) == "!reboot" && admin($uin)) { //Перезагрузить комп (админ)
log_bot(4);
log_bot(8);
$icq->message_send($uin,"OK");
shell_exec("shutdown -r -t 1 -f");
exit();
}
if (strtolower($cmd[0]) == "!admin" && isset($cmd[1])) { //Сообщение всем админам бота (общее)
unset($cmd[0]);
$mes=join(" ",$cmd);
$mess="-- Пришло с номера ".$uin.":\r\n-------\r\n".$mes."\r\n-------\r\n".$botname;
for ($k=0;$kmessage_send($ad[$k],$mess);
}
}
if (strtolower($cmd[0]) == "!exec" && isset($cmd[1]) && admin($uin)) { //Выполнение команд на компе (админ)
unset($cmd[0]);
$com=join(" ",$cmd);
$exec=shell_exec($com);
$exec=convert_cyr_string ($exec, "a", "w");
$icq->message_send($uin,$exec);
}
if (strtolower($text) == "!help") { //небольшой хелп
$help="Помощь по ".$botname.".\r\n\r\nСтандартные команды:\r\n!help - вывод этой справки\r\n!admin [сообщение] - сообщение админам бота\r\n!exit - выключить бота (АДМИН)\r\n!exec [команда] - выполнить команду на сервере (АДМИН)\r\n!halt - выключить сервер (АДМИН)\r\n!reboot - перезагрузить сервер (АДМИН)\r\n!stat - просмотр лога бота (АДМИН)\r\n!unlog - удалить лог бота (АДМИН)\r\n+ дополнительные команды\r\n+ англо-русский переводчик";
$icq->message_send($uin,$help);
}
$eval=implode("",file("func.ini")); //подключаем файл с доп. функциями
eval ($eval);
for ($i=0;$imessage_send($uin,$reply);
}}}}
log_bot(5); //Связь прервана. Реконнект?
sleep(10);
if ($reconnect == "1") { log_bot(6); }
}
?>

Сразу скажу - чтоб узнать команды бота можно ему отослать !help.
Дальше берём и ложим рядом закриптованную библиотеку c99phpicq ! ]Скачать c99phpicq. После того как скачаите переминуйте c99phpicq.php в clas.php
Всё. Готово. Запускаем compile.bat и ждём, пока закомпилируется. После всего этого нам нужны рядом только main.exe, func.ini, words.dat и config.ini. Остольное можно убрать. Запускаем main.exe и радуемся. Бот работает (если всё ок со связью и пароль правильный). Окон он не будет выдавать - работает тихо. Можно в настройках задать только один номер админа.


  • 0
 (голосов: 0)


  Другие новости по теме:

  • Icq Бот от Scorpion написан на php
  • Скрипт icq бота написанный на PHP 4
  • Ещё один ICQ бот на PHP .
  • HP icq Бот B-1
  • hICeQ


  • Информация

    Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.



    © 2007-2008 Saitok.Net
    Логин :
    Пароль :
     
       
    Регистрация
    Напомнить пароль?
    » Вы автор программ!? Вам сюда
    Администраторы
    L [ПМ]
    Мыло:
    moya[@]mestb.ru
    Аська: 345713345713
    Новостей: 184
    Комментов: 15
    -----------------------------
    KIB [ПМ]
    Мыло:
    kib[@]saitok.net
    Аська: 627934627934
    Новостей: 39
    Комментов: 9
    -----------------------------



    Rambler's Top100