ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Помогите разобраться с irc botом
  #1  
Старый 12.05.2008, 18:57
Аватар для AdReNa1!Ne
AdReNa1!Ne
Участник форума
Регистрация: 24.05.2007
Сообщений: 229
Провел на форуме:
2308963

Репутация: 309
Отправить сообщение для AdReNa1!Ne с помощью ICQ
По умолчанию Помогите разобраться с irc botом

Взял готовый скрипт отсюда.
PHP код:
<?php


set_time_limit
(0);


$socket fsockopen("irc.***.com"6667);





fputs($socket,"NICK megabotinok\n");
fputs($socket,"USER megabotinok 8 * :lamobot\n");
fputs($socket,"quote pong 2B8C8B2D\n");
fputs($socket,"JOIN #bash.org\n");


while(
1) {

   
    while(
$data fgets($socket128)) {

        echo 
nl2br($data);

        
flush();
     
        
$ex explode(' '$data);

     
        if(
$ex[0] == "PING"){

            
fputs($socket"PONG ".$ex[1]."\n");

        }

        
$command str_replace(array(chr(10), chr(13)), ''$ex[3]);

        if (
$command == ":!say") {

fputs($socket"PRIVMSG ".$ex[2]." :ПОНИ ТОЖЕ КОНИ!!!!!!!!!\n");
        }

    }



}



?>
Вопрос в следующем:
Так как я новичок в пхп, я не могу понять, почему он отсылает строку PRIVMSG <nick> :ПОНИ ТОЖЕ КОНИ!!!!!!!!! сам себе...
 
Ответить с цитированием

  #2  
Старый 12.05.2008, 19:01
Аватар для groundhog
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме:
2238549

Репутация: 1318


Отправить сообщение для groundhog с помощью ICQ
По умолчанию

Смотри что у тебя в $ex[2]. Я так понял что там ничего нету, поэтому и появляются на сцене твои пони. Твой бот полученную строку сплитит по пробелу, покажи формат пакета, который он получает... Сначала должна идти команда, потом пробел, потом ник...
 
Ответить с цитированием

  #3  
Старый 12.05.2008, 19:05
Аватар для AdReNa1!Ne
AdReNa1!Ne
Участник форума
Регистрация: 24.05.2007
Сообщений: 229
Провел на форуме:
2308963

Репутация: 309
Отправить сообщение для AdReNa1!Ne с помощью ICQ
По умолчанию

Фрагмент лога:
j!admin@it.is.my.fucking.IP PRIVMSG megabotinok :!say
:megabotinok!megabotino@it.is.my.fucking.IP PRIVMSG megabotinok :ПОНИ ТОЖЕ КОНИ!!!!!!!!!

Пожалуйста, перепишите фрагмент скрипта правильно. Сам не допираю как и что...

Последний раз редактировалось AdReNa1!Ne; 12.05.2008 в 19:08..
 
Ответить с цитированием

  #4  
Старый 12.05.2008, 19:08
Аватар для groundhog
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме:
2238549

Репутация: 1318


Отправить сообщение для groundhog с помощью ICQ
По умолчанию

Ну ясен буй:

Цитата:
PRIVMSG megabotinok :ПОНИ ТОЖЕ КОНИ!!!!!!!!!
Эта команда и говорит, что отправить самому себе...
 
Ответить с цитированием

  #5  
Старый 12.05.2008, 19:09
Аватар для AdReNa1!Ne
AdReNa1!Ne
Участник форума
Регистрация: 24.05.2007
Сообщений: 229
Провел на форуме:
2308963

Репутация: 309
Отправить сообщение для AdReNa1!Ne с помощью ICQ
По умолчанию

Это фрагмент из лога. Я не настолько тупой, чтоб не понять этого) Видимо он не распознает ник, что шлёт ему команду. Часть кода пропущена мб...
 
Ответить с цитированием

  #6  
Старый 12.05.2008, 19:16
Аватар для groundhog
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме:
2238549

Репутация: 1318


Отправить сообщение для groundhog с помощью ICQ
По умолчанию

Покажи что ты ему отправляешь, а я скажу где он лажает... Просто судя по логу - ему и отправляется команда, мол, скажи сам себе, что от работы пони дохнут...
 
Ответить с цитированием

  #7  
Старый 12.05.2008, 19:17
Аватар для AdReNa1!Ne
AdReNa1!Ne
Участник форума
Регистрация: 24.05.2007
Сообщений: 229
Провел на форуме:
2308963

Репутация: 309
Отправить сообщение для AdReNa1!Ne с помощью ICQ
По умолчанию

fputs($socket, "PRIVMSG ".$ex[2]." :ПОНИ ТОЖЕ КОНИ!!!!!!!!!\n");
Весь трабл в этом ".$ex[2]."
Только хз как исправить это.
 
Ответить с цитированием

  #8  
Старый 12.05.2008, 19:40
Аватар для LolFEm
LolFEm
Участник форума
Регистрация: 08.09.2006
Сообщений: 194
Провел на форуме:
1627025

Репутация: 163
По умолчанию

$ex = explode(' ', $data);

разделение строки в массив по пробелу

у тебя строка: j!admin@it.is.my.fucking.IP PRIVMSG megabotinok :!say

массив $ex из 4 элементов

$ex[0] = j!admin@it.is.my.fucking.IP
...
$ex[3] = :!say


что именно тебе нужно отправлять?
 
Ответить с цитированием

  #9  
Старый 12.05.2008, 19:46
Аватар для groundhog
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме:
2238549

Репутация: 1318


Отправить сообщение для groundhog с помощью ICQ
По умолчанию

AdReNa1!Ne, ты прав как никогда, но дело в том, что $ex[2] принимает значение исходя того, что посылается... Если послать:

Цитата:
PRIVMSG megabotinok :ПОНИ ТОЖЕ КОНИ!!!!!!!!!
то $ex[2] - примет значение megabotinok.

а если

Цитата:
PRIVMSG bbbb :ПОНИ ТОЖЕ КОНИ!!!!!!!!!
то $ex[2] - примет значение bbb.

З.Ы. А поменяй строку

Цитата:
fputs($socket, "PRIVMSG ".$ex[2]." :ПОНИ ТОЖЕ КОНИ!!!!!!!!!\n");
на

Цитата:
fputs($socket, "PRIVMSG ".$ex[1]." :ПОНИ ТОЖЕ КОНИ!!!!!!!!!\n");
 
Ответить с цитированием

  #10  
Старый 12.05.2008, 20:32
Аватар для AdReNa1!Ne
AdReNa1!Ne
Участник форума
Регистрация: 24.05.2007
Сообщений: 229
Провел на форуме:
2308963

Репутация: 309
Отправить сообщение для AdReNa1!Ne с помощью ICQ
По умолчанию

Фрагмент из лога:
Dj!admin@it.is.my.fucking.IP PRIVMSG megabotinok :!say
irc.vltele.com 401 megabotinok PRIVMSG :No such nick/channel
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться с Xss AARON Уязвимости 9 06.05.2008 15:08
Купил Asus 1814bl. Читает, а не пишет. Помогите разобраться. ООЧЕНЬ ПРОШУ Хелпер Болталка 2 05.01.2008 06:16
Помогите разобраться с угоном Аськи seeattact ICQ 5 17.01.2006 03:14
Помогите разобраться с методом описанным на этом сайте BARMALEY E-Mail 3 30.05.2005 12:18



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ