Отправка ICQ сообщений на PHP
Просмотров: 19228.
Подписаться на комментарии по RSS.
Какие возможности имеет скрипт?
1. Можно ввести неограниченное кол-во UIN номеров к которым будет подключатся скрипт.
каждый UIN и его пароль, берутся случайно из файла connect-uin.txt
Для больших рассылок, лучше использовать несколько UIN номеров (в избежании бана)
2. Можно ввести неограниченный список UIN номеров, на которых будет отправлено сообщение.
3. Указывается время (в сек.) ожидания после отправки сообщения (в избежании бана)
4. Нет проблем с кодировкой текста
Как он работает?
Скрипт получает один UIN из файла connect-uin.txt, подключается к нему.
Читает список uin номеров из файла send-uin.txt и отправляет сообщения с интервалом между ними в секунды или минуты(зависит какое значение указали вы)
Рассмотрим что в архиве
/connect-uin.txt
Хранит в себе список всех UIN и паролей к ним в виде UIN;Password с новой строки
1000000;password 9000000;qwerty123
/send-uin.txt
Список UIN которые получат сообщение, с новой строки
1235621351 4256562153
/libs/WebIcqLite.class.php
Класс для отправки ICQ сообщении, автор: Сергей Акудович
/icq.php
Данный файл нужно открывать в адресной строке для выполнения скрипта
http://ваш-сайт.com/папка где скрипт/icq.php
<?php /** --------------------------------------- ** Пример скрипта для отправке писем в ICQ ** Источник: live-code.ru ** --------------------------------------- **/ // Убираем лимит на выполнение скрипта set_time_limit(0); // Сколько сек. ждать после последней отправке $sleep = 45; // в сек. // Список UIN номеров для подключения // UIN;PASSWORD $Connect_list = file('connect-uin.txt'); // Список UIN на которые будет отправлены сообщения // UIN $Send_list = file('send-uin.txt'); // Подключаем класс WebIcqLite include('libs/WebIcqLite.class.php'); ## текст сообщения $text = "Здравствуйте, я ICQ бот написанный на PHP"; // ICQ принимает текст в windows-1251 $text = iconv('utf-8', 'windows-1251', $text); // Создаем класс $icq = new WebIcqLite(); foreach($Send_list as $k) { // Выбирает рандом UIN для отправки сообщения (в избежании бана) $Choose_uin = $Connect_list[rand(0, count($Connect_list)-1)]; $Connect_data = explode(";", $Choose_uin); $uin = $Connect_data[0]; $pas = $Connect_data[1]; // Подключаемся sleep($sleep); if($icq->connect($uin, $pas)){ // Отправляем сообщение $send = $icq->send_message($k, $text); if(!$send) { // Если возникла ошибка, мы получем её текст echo $k." - ".$icq->error."<br />"; } else{ // Если письмо удачно отправлено, мы увидем этот текст echo $k.' Message sent! <br />'; } // Закрываем подключение к UIN $icq->disconnect(); } else { // Если не удалось подключится, мы увидем этот текст echo $k." - ".$icq->error."<br />"; } } ?>
Весь код прокомментирован и работает. Если у вас будут вопросы пишите в комментариях ниже, я вам отвечу!
Комментариев: 27
Спасибо за скрипт!
Давно писал что то подобное но так и не работал :D
Попробовал ваш пример, работает!
Пример рабочий, для определенного круга задач он хорош.
Спасибо за скрипт, теперь заспамлю аськи рекламой :D
Munhead, Вы в праве использовать его как хотите
данный скрипт является примеров как можно отправлять сообщения из PHP на ICQ.
А как запустить скрипт? что он начал работать?
Точнее чтоб начал отправлять сообщения
1. Скачиваем архив
2. В файле connect-uin.txt вписываем логин;пароль(UIN;Password)
3. В файле send-uin.txt хранятся списки UIN номеров которые получат сообщение
4. $text = "Здравствуйте, я ICQ бот написанный на PHP";
В самом коде редактируем текст сообщения.
- Запускаем скрипт на компьютере или на хостинге с поддержкой PHP
Да я знаю не дурак, а как его запустить? вот в чем вопрос... Перехожу по icq.php ошибку выдает.... СКРИПТ НЕ ЗАПУСКАЕТ..
Напишите тут текст ошибки.
Если возможно перепишите пожалуйста скрипт под класс: WebIcqPro
WebIcqLite выполняет все требования для текущего функционала.
В данном примере нет возможности например "Прочтение ответных сообщений" который поддерживает класс WebIcqPro. Подумаю насчет статьи с расширенном функционалом под WebIcqPro.
Просто говорят что WebIcqLite не работает..
Я когда писал скрипт, проблем с классом WebIcqLite не возникало. Если Вас так сильно интересует работа скрипта исключительно под WebIcqPro, я постараюсь в кратчайшие сроки написать скрипт и статью с использованием функционала данного класса.
Буду очень благодарен =)
такие вот сообщения в браузере, никакого коннекта и никакой отправки не происходит:
Warning: socket_connect() [function.socket-connect]: unable to connect [110]: Connection timed out in /libs/WebIcqLite.class.php on line 399
Warning: socket_last_error() expects parameter 1 to be resource, null given in /libs/WebIcqLite.class.php on line 402
Аноним, скрипт был запущен на локальной машине или на хостинге?
На хостинге могут стоять ограничение сокетов.
Полезная фишка! Спасибо
Василий, пользуйтесь
Что то не работает... Долго думает и в конце 502 выдаёт или uin banned.
Скажите в данный момент этот скрипт актуален?
ЗАпускаю скрипт, первый раз не пошёл, подправил порт авторизации( у меня зарезаны стандартные), ошибка прошла. Сделал фейковый юин и с него попробовал отправить на свой домашний юин сообщение, в ответ скрипт выдал:
463756684 - UIN blocked, please try again 20 min later.
Как правильно его трактовать?Антиспам отключил, сижу в квипе инфиум.
Проблему решил. Вопрос номер два, убрав лимит как сделать повторение... поставил 10 секунд, сообщение не пришло повторно
Не плохо бы добавить ещё случайный выбор из нескольких фраз и возможность зацикливания на одном номере в качестве цели
Dart, чтобы не получить бан, один из методов это запастись большой базой рабочих UIN с которых будут отправлять, и поставить лимит в 5 сек.
насчет текста, можно сделать так:
Что то ругается на:
Ошибка(Вернее ворнинг):
Естественно сообщение не пришло.
в пхп не силён, но как понимаю, проблема в 3м параметре, а именно в том что он у нас теперь в виде массива?
Dart, да проблема в том, что функции iconv передается массив вместо строки. Удаляем строку
переписываем
Что-то у меня не пашет :( и ничего не выдает.
Борис, точнее опишите в чем проблема работы скрипта. Сообщения не отправляются ?