Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

ICQ бот на PHP [обсуждение] (Дмитрий Чечеткин)
Goto page 1, 2, 3  Next
Author Message
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 83
   поощрить/наказать


PostPosted: Tue May 23, 2006 10:41 pm ()
   Post subject:
Reply with quote


М

Выделено из темы «ICQ бот PHP»,
расположенной в форуме Склад готовых решений :: PHP (28 Августа 2010, 15:21).
Back to top
View user's profile Send private message Send e-mail
Дмитрий Чечеткин
Участник форума



Joined: 15 Sep 2005
Posts: 49
Карма: 2
   поощрить/наказать

Location: UGEE-UKOO-URKK-ULLI

PostPosted: Tue May 23, 2006 10:41 pm (спустя 1 секунду; написано за 1 минуту 34 секунды)
   Post subject:
Reply with quote

Все бы хорошо, да в php есть max_execution_time... То есть на большинстве серверов больше ~30 секунд (+ICQ timeout) бот не провисит... Или этот вопрос решен в коде, не приведенном в примере?
Back to top
View user's profile Send private message
Валенок
Участник форума



Joined: 06 Apr 2006
Posts: 520
Карма: -3
   поощрить/наказать


PostPosted: Tue May 23, 2006 10:47 pm (спустя 5 минут; написано за 1 минуту 40 секунд)
   Post subject:
Reply with quote

Дмитрий Чечеткин
???????????????????????????
это не то что решено, а еще и комментарий поставлен :D
(надо бы твое сообщения перенести в форум ЛЕНЬ ИСКАТЬ или как он там зоветься :D )
там сразу после инкуда стоит, может тебя смущает, что не на первом месте? поправим :)
Back to top
View user's profile Send private message
Дмитрий Чечеткин
Участник форума



Joined: 15 Sep 2005
Posts: 49
Карма: 2
   поощрить/наказать

Location: UGEE-UKOO-URKK-ULLI

PostPosted: Tue May 23, 2006 11:02 pm (спустя 14 минут; написано за 1 минуту 20 секунд)
   Post subject:
Reply with quote

А в защищеном режиме?
Quote:
Внимание

set_time_limit() has no effect when PHP is running in безопасный режим. There is no workaround other than turning off safe mode or changing the time limit in the php.ini.
Добавлено позже (оффтоп):
    И, давайте, все-таки оставим право решать что и куда переносить модераторам.
Добавлено позже(оффтоп):
Quote:
там сразу после инкуда стоит, может тебя смущает
Давайте останемся верны правилам форума и будем общаться на «Вы», если вы не против =\

Last edited by Дмитрий Чечеткин on Tue May 23, 2006 11:25 pm; edited 1 time in total
Back to top
View user's profile Send private message
Валенок
Участник форума



Joined: 06 Apr 2006
Posts: 520
Карма: -3
   поощрить/наказать


PostPosted: Tue May 23, 2006 11:20 pm (спустя 17 минут; написано за 1 минуту 31 секунду)
   Post subject:
Reply with quote

Дмитрий Чечеткин
нащот рава - это да
нащот safe mode - и как выходить из ситуации?
кстати, насчет safe mode и прочего:
помимо длинного времени, скрипт создает 3 временных фаила и работает с сокетами, так что тут не только во времени дело...
Back to top
View user's profile Send private message
Дмитрий Чечеткин
Участник форума



Joined: 15 Sep 2005
Posts: 49
Карма: 2
   поощрить/наказать

Location: UGEE-UKOO-URKK-ULLI

PostPosted: Tue May 23, 2006 11:22 pm (спустя 2 минуты; написано за 21 секунду)
   Post subject:
Reply with quote

Quote:
нащот safe mode - и как выходить из ситуации?
И да поможет вам Крон ;)
Back to top
View user's profile Send private message
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 198
   поощрить/наказать

Location: 007 495

PostPosted: Wed May 24, 2006 2:01 pm (спустя 14 часов 38 минут; написано за 12 секунд)
   Post subject:
Reply with quote

Дмитрий Чечеткин wrote:
И да поможет вам Крон ;)
И да оторвут вам руки за использование ботов на вирт. хосте... :))
Back to top
View user's profile Send private message Send e-mail
Валенок
Участник форума



Joined: 06 Apr 2006
Posts: 520
Карма: -3
   поощрить/наказать


PostPosted: Wed May 24, 2006 3:42 pm (спустя 1 час 40 минут; написано за 1 минуту 30 секунд)
   Post subject:
Reply with quote

Дмитрий Чечеткин wrote:
Крон
я наверно неправильно понял, что Вы имели в виду. никогда с кроном не работал, и не знаю как переделать скрипт под него. если выполнять скрипт в указанное время каждый день / час / еще что-то (для этого ведь нужен крон... или я путаю?), то соединение будет теряться, а это нежелательно
Back to top
View user's profile Send private message
Константин Жинько [tIT]
Сотрудник «Лаборатории»



Joined: 12 Jun 2004
Posts: 2264
Карма: 106
   поощрить/наказать

Location: Москва

PostPosted: Wed May 24, 2006 7:36 pm (спустя 3 часа 53 минуты; написано за 32 секунды)
   Post subject:
Reply with quote

Хм... а не проще
Code (php): скопировать код в буфер обмена
while(1) {}
?
Back to top
View user's profile Send private message
Валенок
Участник форума



Joined: 06 Apr 2006
Posts: 520
Карма: -3
   поощрить/наказать


PostPosted: Wed May 24, 2006 9:13 pm (спустя 1 час 37 минут; написано за 50 секунд)
   Post subject:
Reply with quote

Константин Жинько [tIT]
нет, не проще
Code (php): скопировать код в буфер обмена
while ($icq->socket)
возвращает TRUE если все хорошо
а
Code (php): скопировать код в буфер обмена
while(1) {}
в любом случае...
Back to top
View user's profile Send private message
Константин Жинько [tIT]
Сотрудник «Лаборатории»



Joined: 12 Jun 2004
Posts: 2264
Карма: 106
   поощрить/наказать

Location: Москва

PostPosted: Thu May 25, 2006 8:29 pm (спустя 23 часа 16 минут; написано за 14 секунд)
   Post subject:
Reply with quote

Я имел в виду демон вообще-то ;)
Back to top
View user's profile Send private message
Валенок
Участник форума



Joined: 06 Apr 2006
Posts: 520
Карма: -3
   поощрить/наказать


PostPosted: Thu May 25, 2006 9:49 pm (спустя 1 час 20 минут; написано за 39 секунд)
   Post subject:
Reply with quote

Константин Жинько [tIT]
я, несовершенный, ничего не понимаю
(что искать, тоже не понимаю!)
так что обьясните, пожалуйста, поподробнее :)
Back to top
View user's profile Send private message
Дмитрий Чечеткин
Участник форума



Joined: 15 Sep 2005
Posts: 49
Карма: 2
   поощрить/наказать

Location: UGEE-UKOO-URKK-ULLI

PostPosted: Fri May 26, 2006 2:49 pm (спустя 17 часов 3 секунды; написано за 1 минуту 2 секунды)
   Post subject:
Reply with quote

Демон - это аналог сервиса в винде, но только в никсах, насколько я понимаю.
Back to top
View user's profile Send private message
Валенок
Участник форума



Joined: 06 Apr 2006
Posts: 520
Карма: -3
   поощрить/наказать


PostPosted: Fri May 26, 2006 3:55 pm (спустя 1 час 5 минут; написано за 47 секунд)
   Post subject:
Reply with quote

Дмитрий Чечеткин
Константин Жинько [tIT]
да нет, я знаю что такое демон, я неправильно поставил вопрос (извините) какое отношение имеет
Code (php): скопировать код в буфер обмена
while(1) {}
и
while ($icq->socket)
к демонам?
Back to top
View user's profile Send private message
Константин Жинько [tIT]
Сотрудник «Лаборатории»



Joined: 12 Jun 2004
Posts: 2264
Карма: 106
   поощрить/наказать

Location: Москва

PostPosted: Fri May 26, 2006 5:00 pm (спустя 1 час 5 минут; написано за 3 минуты 36 секунд)
   Post subject:
Reply with quote

Демон это вечный цикл ))
Code (php): скопировать код в буфер обмена
while(1) {

//

  //
  if ($request)
    handleRequest($request);

}

function handleRequest($request) {
  //
  return;
}
А еще лучше делать fork, чтобы демон запускал отдельные процессы самого себя для обработки запроса, а не прерывал свою работу для нее.
Back to top
View user's profile Send private message
Валенок
Участник форума



Joined: 06 Apr 2006
Posts: 520
Карма: -3
   поощрить/наказать


PostPosted: Fri May 26, 2006 7:55 pm (спустя 2 часа 54 минуты; написано за 33 секунды)
   Post subject:
Reply with quote

Константин Жинько [tIT]
ну дык на вечный не нужен... нам нужен до разрыва связи
Code (php): скопировать код в буфер обмена
while($icq->socket) {

//

  //
  if ($request)
    handleRequest($request);

}

function handleRequest($request) {
  //
  return;
}
Back to top
View user's profile Send private message
kernel32
Участник форума



Joined: 18 Mar 2006
Posts: 256
Карма: 24
   поощрить/наказать

Location: Москва

PostPosted: Sat May 27, 2006 1:53 pm (спустя 17 часов 58 минут; написано за 1 минуту 20 секунд)
   Post subject:
Reply with quote

ОЙ!
Quote:
Fatal error: Call to undefined function socket_create() in z:\home\test\WWW\lib\ICQ\client.php on line 535
Странно, в мануале сказано, что эта функция еще раньше в PHP4 была, а у меня стоит Denwer последний с PHP5.0.4 Ну, и куда же запропастилась эта функция?
Back to top
View user's profile Send private message
:-)
Guest





Карма: 388
   поощрить/наказать


PostPosted: Mon May 29, 2006 10:38 pm (спустя 2 дня 8 часов 44 минуты; написано за 25 секунд)
   Post subject:
Reply with quote

> автор отзовись!)
я автор сей штуковины :)
Back to top
Валенок
Участник форума



Joined: 06 Apr 2006
Posts: 520
Карма: -3
   поощрить/наказать


PostPosted: Tue May 30, 2006 1:18 am (спустя 2 часа 39 минут; написано за 30 секунд)
   Post subject:
Reply with quote

kernel32 странно это... о_О
[оффтоп]
:-) ;)
[/оффтоп]
Back to top
View user's profile Send private message
Guest






Карма: 388
   поощрить/наказать


PostPosted: Tue May 30, 2006 4:04 pm (спустя 14 часов 45 минут; написано за 19 секунд)
   Post subject:
Reply with quote

kernel32
подключить расширение sockets надо.
Back to top
Ramzes
Участник форума



Joined: 30 May 2004
Posts: 66
Карма: 5
   поощрить/наказать


PostPosted: Tue Jun 13, 2006 12:14 am (спустя 13 дней 8 часов 9 минут; написано за 1 минуту 55 секунд)
   Post subject:
Reply with quote

Валенок wrote:
for($i=2; $i<=count($cmd); $i++) $text2send.=$cmd[$i];
Кстати, чтоб вот так не извращаться посмотрите мануал на предмет третьего параметра функции explode() =))

Бот прикольный, правда переделал практически весь ваш код и сделал фигулину, которая отправляет последние сообщения с форума у нас в сетке... Ща рассказал о нем, посмотрим как народ заценит =)
Back to top
View user's profile Send private message
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 198
   поощрить/наказать

Location: 007 495

PostPosted: Sat Jun 17, 2006 11:38 pm (спустя 4 дня 23 часа 24 минуты; написано за 20 секунд)
   Post subject:
Reply with quote

Ramzes
Вообще, библиотека довольно-таки неплохо работает, не так ли :)?
Back to top
View user's profile Send private message Send e-mail
Валенок
Участник форума



Joined: 06 Apr 2006
Posts: 520
Карма: -3
   поощрить/наказать


PostPosted: Sun Jun 25, 2006 11:15 am (спустя 7 дней 11 часов 37 минут; написано за 24 секунды)
   Post subject:
Reply with quote

Ramzes
читабельность повышается :))
Back to top
View user's profile Send private message
Valdis
Заглянувший



Joined: 26 Jun 2006
Posts: 4
Карма: 0
   поощрить/наказать

Location: Украина

PostPosted: Mon Jun 26, 2006 4:53 pm (спустя 1 день 5 часов 37 минут; написано за 48 секунд)
   Post subject: А как выгрузить етого бота?
Reply with quote

Если ли возможность доступа к объектам одного скрипта из другого
Back to top
View user's profile Send private message
Валенок
Участник форума



Joined: 06 Apr 2006
Posts: 520
Карма: -3
   поощрить/наказать


PostPosted: Mon Jun 26, 2006 9:18 pm (спустя 4 часа 24 минуты; написано за 1 минуту 25 секунд)
   Post subject:
Reply with quote

Valdis
1. RTFM! только если они связаны include'om, reqire'om или еще чем-то (например fopen(), а потом в eval'e выполнять код)
2. мне кажется, ваш вопрос маленько не в тему...
Back to top
View user's profile Send private message
BrainF-er
Guest





Карма: 388
   поощрить/наказать


PostPosted: Wed Jul 05, 2006 10:47 pm (спустя 9 дней 1 час 29 минут; написано за 25 минут 8 секунд)
   Post subject: про online-статус
Reply with quote

В описании возможностей класса заявлено следующее:
 ~ manage contacts (and recieve user-online/offline notifications)

Не могу понять из какой переменной/функции можно получать статус о том, что некий пользователь из контакт-листа бот-аськи вышел в он-лайн. Конечно есть специальная функция chkinvisible(), но это не совсем то, поскольку данная функция формирует отдельный запрос к серверу. Меня же интересует как узнать тот статус, который был выслан непосредственно самим сервером ICQ.

Пробывал распечатывать содержимое всего объекта класса, который, по идее, должен содержать информацию о контакт-листе бот-аськи (при этом, естественно, изменяя статус контрольной аськи), однако ничего похожего на информацию о состоянии пользователей в этом листе не обнаружено, да и сам контакт-лист кажется отсутствует как таковой.

Можно конечно предположить, что данная функциональность просто еще не была реализована, несмотря на то что имеется в описании класса, но все таки меня не оставляет мысль, что это я всего лишь чего-то не допонимаю в алгоритме класса. Быть может кто-нибудь разбирался глубже и подкинет примерчик по сабжу?
Back to top
Anking
Guest





Карма: 388
   поощрить/наказать


PostPosted: Thu Jul 06, 2006 11:57 am (спустя 13 часов 9 минут; написано за 33 секунды)
   Post subject: ошибка
Reply with quote

а у меня ничего не работает, выводит
Quote:
read() error: connection closed by remote host or communication error (54 - Connection reset by peer) in file /home/www/dsky/public_html/robo/c99phpicq.php at line 600. disconnect() error: reason: communication in file /home/www/dsky/public_html/robo/c99phpicq.php at line 2109.
Если это возможно, аффтар, не могли бы вы связаться со мной по асе - 603691
Back to top
BrainF-er
Guest





Карма: 388
   поощрить/наказать


PostPosted: Thu Jul 06, 2006 7:20 pm (спустя 7 часов 23 минуты; написано за 5 минут 49 секунд)
   Post subject:
Reply with quote

Камрады, а не подскажет ли кто каким образом запустить ентот скрипт под Linux на PHP 4.4.2 если пых не был скомпилирован с поддержкой сокетов? Перекомпилировать PHP-движок возможности нет. Возможно ли динамически подключить какую-нибудь библиотеку (и где ее взять собственно).

Буду благодарен любому совету.
Back to top
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 198
   поощрить/наказать

Location: 007 495

PostPosted: Thu Jul 06, 2006 8:44 pm (спустя 1 час 23 минуты; написано за 27 секунд)
   Post subject:
Reply with quote

BrainF-er
Поставьте более старую версию PHP. К тому же, перекомпилировать PHP-движок возможность есть всегда, если только руки не совсем кривые.
Back to top
View user's profile Send private message Send e-mail
NukeR
Guest





Карма: 388
   поощрить/наказать


PostPosted: Sat Jul 08, 2006 4:06 pm (спустя 1 день 19 часов 22 минуты; написано за 1 минуту 46 секунд)
   Post subject:
Reply with quote

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

Заранее спасибо всем за ответы!
Back to top
Валенок
Участник форума



Joined: 06 Apr 2006
Posts: 520
Карма: -3
   поощрить/наказать


PostPosted: Sat Jul 08, 2006 4:53 pm (спустя 47 минут; написано за 19 секунд)
   Post subject:
Reply with quote

NukeR
скрипт работает. у меня. и у моих знакомых...
Back to top
View user's profile Send private message
NukeR
Guest





Карма: 388
   поощрить/наказать


PostPosted: Sun Jul 09, 2006 3:16 pm (спустя 22 часа 23 минуты; написано за 1 минуту 2 секунды)
   Post subject:
Reply with quote

Валенок, может у тебя измененная версия? Как ты его запускаешь?
Можешь скинуть версию которая у тебя работает мне на мыло? (nuker@list.ru)
Заранее спасибо!!!
Back to top
Валенок
Участник форума



Joined: 06 Apr 2006
Posts: 520
Карма: -3
   поощрить/наказать


PostPosted: Mon Jul 10, 2006 11:58 am (спустя 20 часов 41 минуту; написано за 37 секунд)
   Post subject:
Reply with quote

NukeR
у меня доработанная (постоянно что-то доделываю) а у знакомых - нет
только что проверил эту версию - работает
Back to top
View user's profile Send private message
NukeR
Guest





Карма: 388
   поощрить/наказать


PostPosted: Mon Jul 10, 2006 6:32 pm (спустя 6 часов 34 минуты; написано за 1 минуту 34 секунды)
   Post subject:
Reply with quote

Валенок wrote:
Валенок
Пробовал у себя на денвере и на отдельном серваке:
read() error: connection closed by remote host or communication error (54 - Connection reset by peer) in file /usr/home/nuker/public_html/c99phpicq.php at line 600. disconnect() error: reason: communication in file /usr/home/nuker/public_html/c99phpicq.php at line 2109.
c99phpicq.php - тот, который ты выложил
и использовал тот код php который выложил (хотя и пробовал тот, который в комментах)

Странно это все. Пробовал с разных номеров.
Что это может быть?
Back to top
NukeR
Guest





Карма: 388
   поощрить/наказать


PostPosted: Mon Jul 10, 2006 6:37 pm (спустя 4 минуты; написано за 1 минуту)
   Post subject:
Reply with quote

Валенок
Я сомневаюсь что это как-то зависит от самого номера, но попробуй тот, с которого я пробовал:
ICQ:306058014 PASS: 123456
это свежезарегистрированный
Back to top
Валенок
Участник форума



Joined: 06 Apr 2006
Posts: 520
Карма: -3
   поощрить/наказать


PostPosted: Mon Jul 10, 2006 9:08 pm (спустя 2 часа 31 минуту; написано за 48 секунд)
   Post subject:
Reply with quote

NukeR
там бывает, что от частых подключений сервер просто не берет.
в таком случае ни в коем случае нельзя обновлять. надо подождать минут 10 и попробовать снова
Back to top
View user's profile Send private message
NukeR
Guest





Карма: 388
   поощрить/наказать


PostPosted: Mon Jul 10, 2006 9:49 pm (спустя 41 минуту; написано за 3 минуты 51 секунду)
   Post subject:
Reply with quote

Валенок
Неа, сколько не пытался - никак. А ты уверен что ты используешь c99phpicq.php такой-же как и тот, который ты выложил здесь?
Странно все это, некоторые говорят - сей скрипт тристрама не работает нигде, после изменения протокола - здесь говорят что он все-равно работает
Кстати, кто не знает - скрипт написал некий 16-летний Тристрам. Говорят в сети что он кидала, типа продавал аськи, забирал деньги и аську не давал.
Хотя кто знает... Для своих лет он молодец что написал такой скрипт (надеюсь что без чьей-то помощи ;-) )

Кстати вот кому интересно видео, где он извиняется за то что он кидал людей: anndrew.land.ru/tristram_izvinaetsa.avi
Back to top
Валенок
Участник форума



Joined: 06 Apr 2006
Posts: 520
Карма: -3
   поощрить/наказать


PostPosted: Mon Jul 10, 2006 10:24 pm (спустя 34 минуты; написано за 34 секунды)
   Post subject:
Reply with quote

NukeR
знаю... тока ему не 16 лет, поменьше... без чьей либо помощи.
Back to top
View user's profile Send private message
NukeR
Guest





Карма: 388
   поощрить/наказать


PostPosted: Thu Jul 13, 2006 11:16 am (спустя 2 дня 12 часов 52 минуты; написано за 36 секунд)
   Post subject:
Reply with quote

Валенок
Есть какие-то идеи или причины, по которым не работает у меня?
Из-за чего это может быть? Мне это очень щас нужно
Back to top
NukeR
Guest





Карма: 388
   поощрить/наказать


PostPosted: Sun Jul 16, 2006 3:41 pm (спустя 3 дня 4 часа 24 минуты; написано за 58 секунд)
   Post subject:
Reply with quote

блин если бы небыло mod_sockets, он бы и не выдавал эту ошибку, выдавал бы "socket_create() does not exists"
пробовал и на php5, и на php4.10, 4.40
Back to top
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Goto page 1, 2, 3  Next
Page 1 of 3    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML