[Скрипт] icq-бот руками "блондинки", статья + код.

Статус
В этой теме нельзя размещать новые ответы.
У меня какой то глюк с твоим ботом. Если я пытаюсь отправить сообщение изпод эмулятора аськи на подобии QIP то бот тупо молчит ... В чем может быть проблема?

что значит эмулятор аськи? не понимаю о чем ты.
и о каком именно боте... и как запускаешь...
в общем телепаты в отпуске.
вообще если 459857212 будет онлайн когда ты будешь это читать то попробуй с ним пообщаться с твоего "эмулятора".
ну или 351820682 или 392876845. Они собственно написаны с помощью этой библиотеки так что если они у тебя работают то значит проблема в том как ты настроил или запрограмировал бота.
PS: я их нерегулярно запускаю ибо они висят у меня на компе который частенько перезагружается и тп. Так что если вдруг будут офлайн - стукни в асю, подниму.
 
Вот отличный бот

Это копипаст, желающие могут по гуглить, а я люблю чтобы всё в одной теме было.


Пишем ICQ бота на РНР и компилируем в ЕХЕ !
ICQ bot


Всем привет!
Сначала идём сюда: Для просмотра ссылки Войди или Зарегистрируйся и качаем эту прогу. Это - компилятор РНР в ЕХЕ.
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:
<?
/*----------------------------------------*\
    Конфигурация EUGEN's ICQ BOT
\*----------------------------------------*/

$admins = "xxxxxxxx,xxxxxxxxx"; //Номера админов через запятую (без пробелов!!!).
$icq_number = "xxxxxxxxx"; //Номер бота
$icq_pass = "PaSsWoRd"; //Пароль
$icq_std_status = "ONLINE"; //Статус. Доступно: ONLINE,AWAY,NA,INVISIBLE,FREE4CHAT
$cfg = "words.dat"; //Файл БД с фразами
$sep = "="; //Разделитель строк в файле БД (запрос-ответ)
$reconnect = "1"; //Переподключаться при разрыве связи
$times = "30"; //...сколько раз?
$botname = "TEM ICQ Bot"; //Имя бота
?>

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

PHP код:
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] (cкачиваний: 1) [436.06 Kb]
Это готово. Теперь пишем сам скрипт бота...

PHP код:
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.php в clas.php
Всё. Готово. Запускаем compile.bat и ждём, пока закомпилируется. После всего этого нам нужны рядом только main.exe, func.ini, words.dat и config.ini. Остольное можно убрать. Запускаем main.exe и радуемся. Бот работает (если всё ок со связью и пароль правильный). Окон он не будет выдавать - работает тихо. Можно в настройках задать только один номер админа.
 

Вложения

  • icq.rar
    20,7 KB · Просмотры: 38
Я когдато пытался сделать бота... была проблемка когда боту приходит сообщение там между каждой буквой был непонятный символ.... и не мог команды правильно принимать.
 
nebezopastno tak bota puskat s shell exec
pishesh ping ip -t 1 potom | drugaja komanda ;] i letit tvoi servak...

filtry nado stavit...
 
А трафика как много уходит? Меня хостер с сервака не прогонит? :))

Добавлено через 7 минут
А трафика как много уходит? Меня хостер с сервака не прогонит? :))
 
А трафика как много уходит? Меня хостер с сервака не прогонит? :))

Добавлено через 7 минут
А трафика как много уходит? Меня хостер с сервака не прогонит? :))

Трафика уходит очень мало. Даже если будешь сидеть с GPRS не разоришься. Но вот не каждый хостер разрешает запускать ботов.
 
Нашел неплохой stealsbot продается вот тут

скачать

Все работает. Запустил скрипт - в браузере статус постоянная загрузка. Т.е. если я браузер закрою, он перестанет работатать? Как же его постоянно рабочим держать?
 
Нашел неплохой stealsbot продается вот тут
*** скрытое содержание ***
скачать *** скрытое содержание ***

Все работает. Запустил скрипт - в браузере статус постоянная загрузка. Т.е. если я браузер закрою, он перестанет работатать? Как же его постоянно рабочим держать?

***, ну заебали же, реально...
Сколько ни проси про другие боты тут не писать чтобы не засирать а все равно пишут. В общем в ответ на твой вопрос повторю то что было написано мной в самом первом посте:
...и запускаем скрипт hello.php на исполнение. я это делаю командой "php5 hello.php &" но у вас может быть иначе. Напомню что & означает вызов в фоновом режиме. Также вдруг ктото не помнит - выходя из SSH не забудьте закрыть сессию logout-ом, ибо иначе ваша фоновая задача может погибнуть.
А еще можно на крон повесить, или почеловечески демоном запустить. В общем вариантов много.

PS: Надоело читать про другие боты, от тех кто не читал самого первого сообщения (где я говорил что все остальные боты лучше чем мой но сложнее). Отписываюсь я от темы :) Так что если у когото будут вопросы по МОЕМУ боту - пишите в ЛС.
 
убиваетса UIN

пробовал , игрался с этим классом. Но есть одна неприятность- иногда почемуто UIN убивается???
у кого такое было? (притом ни кто об этом не писал- потярял по дурости свою аську)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху