ICQ на php

Discussion in 'PHP' started by dk-ne, 31 Jul 2009.

  1. root_sashok

    root_sashok Elder - Старейшина

    Joined:
    4 Aug 2008
    Messages:
    389
    Likes Received:
    573
    Reputations:
    102
    mailbrush, почему? Боты на PHP неплохо работают.

    ТС: тебе нужно, чтобы начинал пользователь... Например пишет он комманду Привет. Бот отвечает "Привет". Дальше уже идет вопрос "Ваш любимый цвет" и т.д. Я правильно понимаю?
     
  2. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    root_sashok, я имею в виду в ТС'овом случае, т.к. сомневаюсь, что он купит и настроит платный хостинг. А на фришных стоит ограничение на время выполнения скрипта.

    PS: ТС, ща забацаем :)
     
  3. root_sashok

    root_sashok Elder - Старейшина

    Joined:
    4 Aug 2008
    Messages:
    389
    Likes Received:
    573
    Reputations:
    102
    Тогда лучше действительно поставить денвер.
     
  4. Deathdreams

    Deathdreams Elder - Старейшина

    Joined:
    8 Nov 2008
    Messages:
    342
    Likes Received:
    116
    Reputations:
    5
    Сообщения надо брать
    PHP:
    strtolower
     
  5. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Deathdreams, а я обойдусь и без этой ф-ции :)
     
  6. dk-ne

    dk-ne Elder - Старейшина

    Joined:
    21 Jan 2007
    Messages:
    73
    Likes Received:
    2
    Reputations:
    0
    Да, мне надо, чтоб бот сам писал. И вообще он должен работать всегда без какого-либо вмешательства человека.
     
  7. JIexaPol

    JIexaPol New Member

    Joined:
    19 Jul 2009
    Messages:
    6
    Likes Received:
    2
    Reputations:
    0
    strtolower Эта функция разные кодировки не воспринимает у меня))..английские буквы преобразует а вот русские... ( по крайней мере это только у меня были такие проблемы )
    у кого тоже проблема то у меня вот так:

    function strtolowex($txt) {
    $txt=strtolower(strtr($txt, "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ", "абвгдеёжзийклмнопрстуфхцчшщъыьэюя"));
    return($txt);
    }

    :)
     
    #27 JIexaPol, 1 Aug 2009
    Last edited: 1 Aug 2009
  8. dk-ne

    dk-ne Elder - Старейшина

    Joined:
    21 Jan 2007
    Messages:
    73
    Likes Received:
    2
    Reputations:
    0
    Поднимаю тему
     
  9. dk-ne

    dk-ne Elder - Старейшина

    Joined:
    21 Jan 2007
    Messages:
    73
    Likes Received:
    2
    Reputations:
    0
    Неужели никто не может помочь?
     
  10. dk-ne

    dk-ne Elder - Старейшина

    Joined:
    21 Jan 2007
    Messages:
    73
    Likes Received:
    2
    Reputations:
    0
    Надеялся на кодеров для начала)))


    Условие например такое:
    $а = "сколько вам лет";
    $b = "любимый цвет";
    $c = "1. да";
    $d = "2. нет";
    Дальше смысл такой: пишет чел в асю. Ему приходит первое сообщение из $а. Ответ на него записывается в бд. Как только ответили, бот отсылает второе сообщение из $b. Ответ снова сохраняется. Третим идет вопрос с вариантами ответа $c, $d. Если ответ приходит цифрой из вариантов, то идем дальше на условие if-else, иначе пишем текст с пояснением его ошибки и спрашиваем заново. Если ответ нормальный, то снова пишем его в бд. Ну и т.д.
    Закину полтинник на счет тому, кто первым разместит работоспособный код. Спс. :)
     
  11. KaMiKadZe

    KaMiKadZe Elder - Старейшина

    Joined:
    24 Feb 2006
    Messages:
    163
    Likes Received:
    35
    Reputations:
    19
    Лучше иди книгу почитай...
    Вот тебе для начала
    PHP:
    interface IcqBot {
    protected var 
    $MsgIn = array();
    protected var 
    $MsgOut = array();

    public function 
    SendMessage($IcqNum,$MsgOut);
    public function 
    SaveAnswer($IcqNum,$MsqIn,$MsgOut);
    }
    И вообще если без знаний хотел скрипт, то тебе в раздел Покупка/Продажа, а то надоели "помогите написать" = "напишите за меня"
     
  12. dk-ne

    dk-ne Elder - Старейшина

    Joined:
    21 Jan 2007
    Messages:
    73
    Likes Received:
    2
    Reputations:
    0
    Почему у меня постоянно выскакивает ошибка:
    Fatal error: Call to undefined function socket_create() in W:\home\localhost\www\WebIcqLite.class.php on line 393

    391 function open($url = array('login.icq.com', 5190))
    392 {
    393 $this->socet = socket_create (AF_INET, SOCK_STREAM, SOL_TCP);
    394 if ($this->socet < 0 || $this->socet === false)
    395 {
     
  13. G1yuK

    G1yuK Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    41
    Likes Received:
    9
    Reputations:
    0
    dk-ne, вам уже в прошлых постах говорили, что у вас не включены сокеты. Если не работает denwer(хотя вам были предложены и номера ась для помощи и одно из решений, как включить), попробуйте другие сборки-сервера, например: Vertrigo, XMMP, UniServer
     
  14. dk-ne

    dk-ne Elder - Старейшина

    Joined:
    21 Jan 2007
    Messages:
    73
    Likes Received:
    2
    Reputations:
    0
    А как-то включить можно то, что есть уже?
     
  15. KaMiKadZe

    KaMiKadZe Elder - Старейшина

    Joined:
    24 Feb 2006
    Messages:
    163
    Likes Received:
    35
    Reputations:
    19
    У тебя зависит расположение php.ini от сборки как и прочее
    И маленькие совет: Лучше все скрипты проверять на хостинге котором будете запускать этот скрипт, меньше гемороя после будет
     
    #35 KaMiKadZe, 2 Aug 2009
    Last edited: 2 Aug 2009
  16. dk-ne

    dk-ne Elder - Старейшина

    Joined:
    21 Jan 2007
    Messages:
    73
    Likes Received:
    2
    Reputations:
    0
    Вобщем нет у меня там путей на модули. Php.ini у меня находится только в C://PHP. А стоит денвер. Причем кроме php.ini по тому пути ничего нет
     
  17. imajo.ati

    imajo.ati Banned

    Joined:
    21 Feb 2008
    Messages:
    232
    Likes Received:
    62
    Reputations:
    8
    через поиск по файлам находишь все php.ini на твоём компьютере и если думать особо лень то во всех раскомментируешь модуль сокетов. как он называется уже сказали. как искать в файле строчку думаю тоже понятно )