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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Посылка сообщений на Icq с помощью Php (https://forum.antichat.xyz/showthread.php?t=18791)

Developer 08.05.2006 18:01

Посылка сообщений на Icq с помощью Php
 
САБЖ. Хотел узнать, какие вообще существуют способы посылки сообщений на Icq средствами Php. Я знаю только один - коннект к серваку Icq сокетом и посылка Post-запроса. Но может есть какие-то еще варианты, например коннект прямо к серваку, или как там еще :)))

nerezus 08.05.2006 18:16

Цитата:

например коннект прямо к серваку
ага, можно и так.

Дикс 08.05.2006 18:49

дайте кто-нить пример, мне тоже интересно.
и ещё как узнавать статус нужного уина средствами пхп.

pch 09.05.2006 00:43

Определение статуса с точностью до Недоступен/Вышел итд - не видел. А если надо определять только оффлайн/онлайн, то - пожалуйста:
Индикатор - картинка, чтобы поставить на сайт. Смотри здесь
Проверка на PHP. Вот, настругал:

PHP код:

<?
if (is_online(123456)) {echo "online";} else {echo "offline";}
function 
is_online($uin){
    
$query="GET /online.gif?icq=".$uin."&img=5 HTTP/1.0\n\n";
    
$host="status.icq.com";
    
$fp fsockopen ($host80, &$errno, &$errstr30);
    if (
$errno) die ("Ошибка соединения!");
    
fputs($fp$query);
    while(
$line[]=@fgets($fp900));
    return (
strpos($line[13], "online1")) ? true false;
}
?>

2Developer А картинка? Там, мне казалось, недавно ввели систему, по которой для отправки сообщения, надо ввести число с картинки? :confused:

x_Lex 09.05.2006 02:09

http://rapidshare.de/files/19976099/...b-dev.txt.html

Talisman 09.05.2006 02:53

Цитата:

Сообщение от x_Lex

респект!

Дикс 09.05.2006 20:29

Цитата:

Warning: dl(): Not supported in multithreaded Web servers - use extension statements in your php.ini in z:\home\localhost\www\c99phpicq.php on line 170
Sockets extension needed!
поставил в php.ini
Цитата:

; Следующая директива разрешает или запрещает использование функции dl().
; Функция dl() работает неправильно в многопоточных Web-серверах,
; например, в IIS или Zeus, и автоматически отключается для них.
enable_dl = Off
и всё равно та же трабла

Дикс 09.05.2006 20:32

а на другом серваке в инете
Цитата:

Sockets extension needed!

x_Lex 09.05.2006 21:05

снеми ";"
;extension=php_sockets.dll

drmist 10.05.2006 15:44

http://drmist.ru/~php/c99phpicq.zip

Релиз CCTeam. Поудачней ихнего шелла )). Включает библиотеку для работы с протоколом icq и брутфорсер.

Developer 10.05.2006 15:56

В общем, теорию я сам занаю, а воткто код даст посмотреть работающий и простенький??? На счет картики да... Не густо, это целый геморой, картинку загрузи, порежшь, сравни...

Developer 10.05.2006 16:00

Посмотрел сейчас скрипт CCTeam - отлично. Прямой коннект к серверу, нужно лишь зарегить номер. В принципе, прикольно. Можно сделать паблик сниффер как на antichat, только встроить функицю ICQ :))) И будет робот отсылать мессаги :)

Кстати, как сделать, чтобы он реагировал на входящие мессаги? :)

drmist, + однозначно :)

Дикс 10.05.2006 20:25

Цитата:

; Модули для Windows
; Замечание: поддержка MySQL и ODBC теперь включена в ядро PHP, так что
; для нее уже не нужны никакие библиотеки DLL. Подключение тех или иных
; модулей в системах, которые не предназначены для них, может вызвать
; неработоспособность сервера. Поэтому подключайте только те модули, в
; которых уверены.
;

;#
;# Внимание: модули, закомментированные при помощи двойной точки
;# с запятой ";;", требуют дополнительных внешних библиотек и не
;# работают в умолчательной конфигурации. Не пытайтесь их подключить
;# "просто так", в надежде, что это сработает.
;#

:( на денвере не запустить никак?

ferryman 14.05.2006 15:45

Взято с http://php.net

PHP код:

function icq_uin($uin)
{
   if (! 
is_numeric($uin))
       return 
false;
   
$proxy_name 'proxy.server.ru';
   
$proxy_port 3128;
   
$proxy_user "";
   
$proxy_pass "";
   
$proxy_cont '';
   
$request_url "http://status.icq.com/online.gif?icq=$uin";

   
$proxy_fp fsockopen($proxy_name$proxy_port);
   if (!
$proxy_fp)
       return 
false;
   
fputs($proxy_fp"GET $request_url HTTP/1.0\r\nHost: $proxy_name\r\n");
   
fputs($proxy_fp"Proxy-Authorization: Basic "base64_encode ("$proxy_user:$proxy_pass")."\r\n\r\n");
   while(!
feof($proxy_fp)){
       
$proxy_cont .= fread($proxy_fp,4096);
   }
   
fclose($proxy_fp);
   
$proxy_cont substr($proxy_contstrpos($proxy_cont,"\r\n\r\n")+4);
   if (
strstr($proxy_cont'online1'))
       return 
'online';
   if (
strstr($proxy_cont'online0'))
       return 
'offline';
   if (
strstr($proxy_cont'online2'))
       return 
'disabled';
}
echo 
"User is ".icq_uin(3398470); 


x_Lex 15.05.2006 14:35

Цитата:

Сообщение от Дикс
:( на денвере не запустить никак?

вот с этой зборкой по умолчанию запускал и всё работало
http://www.denwer.ru/dis/Base_PHP5/B...8_pma2.6.1.exe

Цитата:

Сообщение от Developer
В общем, теорию я сам занаю, а воткто код даст посмотреть работающий и простенький??? На счет картики да... Не густо, это целый геморой, картинку загрузи, порежшь, сравни...

PHP код:

$icq = new ICQclient("123456","password");
$icq->setstatus("FREE4CHAT"); // Set status Free for chat
$icq->setstatusflags("DCCONT"); // Set status-flags
$icq->login();
$icq->message_send("656555","it works"); // Send message
//Example recieve message:
while ($icq->socket)
{
 
$icq->listen(); //Fetching packet
 
if ($icq->ismessage()) //If recieved packet is a message
 
{
  echo 
"I have message from ".$icq->inLastVar["uin"].": ".$icq->inLastVar["text"]."\n\n";
  
$icq->message_send($icq->inLastVar["uin"],"You wrote: ".$icq->inLastVar["text"]); // Send message
 
}
}
//Example get info:
var_dump($icq->getinfo("656555")); 


Kanick 29.05.2006 07:23

Кстати, да.. Отправка на номер Icq новых записей сниффера - это тема. Возьму на заметку.


Время: 04:30