YourICQ BOT

Discussion in 'PHP' started by NOmeR1, 1 Jun 2008.

  1. mad_xakep

    mad_xakep Banned

    Joined:
    10 Apr 2007
    Messages:
    195
    Likes Received:
    71
    Reputations:
    0
    а у меня вопрос такой как сделать функцию чтоб при например переменной !adminu "текст" отправлялся текст на аську админа!?

    а вообщем бот работает на ура

    !admin_status "FREE4CHAT это вот команда непахат ток да впринципе она и ненужна мне кажеться....

    2Slavka2 !stop у меня пашет с аськи админа шлешь он пишет "ICQ бот завершил работу"
     
  2. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    mad_xakep,
    Переменная - $message
    Функция
    Code:
    global $icq, $array;
    $icq->sendMessage($array['admin_icq'], $message);
    return 'Сообщение отправлено';
    
    Можно с указанием - от кого сообщение.
    Code:
    global $icq, $array, $msg;
    $icq->sendMessage($array['admin_icq'], 'Сообщение от '.$msg['from']."\n".$message);
    return 'Сообщение отправлено';
    
     
    #42 NOmeR1, 4 Jun 2008
    Last edited: 4 Jun 2008
  3. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Кому интересно - скрипт отправки на мыло.

    Переменные
    Code:
    $from, $to, $subj, $msg, $type
    Функция
    Code:
    $email = '~^[a-z0-9\._-]+@[a-z0-9\._-]+\.[a-z]+$~i';
    if(preg_match($email, $to) && preg_match(str_replace('^', NULL, str_replace('$', NULL, $email)), $from) && $msg && $type) {
    	$headers = array(
    		'MIME-Version: 1.0',
    		'Content-type: text/'.($type == 'text' ? 'plain' : 'html').'; charset=windows-1251',
    		'From: '.$from
    	);
    	$mailed = mail($to, $subj, $msg, implode("\r\n", $headers));
    	if($mailed) {
    		return 'Сообщение успешно отправлено';
    	} else {
    		return 'Сообщение не отправлено';
    	}
    } else {
    	return 'Сообщение не может быть отправлено';
    }
    Работает через mail() поэтому на многих хостингах не пашет.
     
  4. Stern

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

    Joined:
    13 Mar 2007
    Messages:
    75
    Likes Received:
    5
    Reputations:
    0
    Такой косяк...с компа все отлично команды воспринимает, но вот с телефоном косяк...с Jimm XaTTaB последней версии не понимает команды вообще....в логи пишет что то типа

    а и еще про последнюю команду...пришло письмо БЕЗ отправителя, но в самом теле писмь строчки откого и чё за тип письма...
     
    #44 Stern, 4 Jun 2008
    Last edited: 4 Jun 2008
  5. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Тип письма - либо text, либо html. С телефоном вряд ли смогу помочь - возможно глюк в Jimm'е. На счёт майла - скорее всего ошибка у почтовика. Пробывал отправлять на gmail.com - отправляет отлично.
     
    2 people like this.
  6. Stern

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

    Joined:
    13 Mar 2007
    Messages:
    75
    Likes Received:
    5
    Reputations:
    0
    Лан...с джимом попробую с разработчиком разобраться...) а что можешь посоветовать касательно "запроса хСтатуса"....а то при запросе он мне шлет типка команда не найдена....а если включить автозапрос...то получается просто флуд..(
     
  7. bxN5

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

    Joined:
    8 Jan 2006
    Messages:
    687
    Likes Received:
    138
    Reputations:
    32
    стандартные на ура,а мои функции не хочет кушать=(
     
  8. Gara

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

    Joined:
    8 Jul 2007
    Messages:
    36
    Likes Received:
    10
    Reputations:
    -5
    Может кто под скажет
    Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/g/***********/WWW/ICQ/WebIcqPro.class.php on line 28
    под звездачками название сайта
     
  9. .::BARS::.

    .::BARS::. Elder - Старейшина

    Joined:
    13 Oct 2007
    Messages:
    380
    Likes Received:
    45
    Reputations:
    10
    WebIcqPro.class.php ошибка в 28 строке... а точнее '}'
     
  10. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Нет там этого символа :) Попробуй версию PHP поставить пятую, если можешь.
     
  11. Gara

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

    Joined:
    8 Jul 2007
    Messages:
    36
    Likes Received:
    10
    Reputations:
    -5
    к большому сожеленью не могу,
    вот не давно выбело то что не может подключиться к login.icq.com, а можно добаветь еще или заменить на IP адресса их просто много например, по такой методики работает jimm, если он не может подключиться к одному то он подключается к другому IP
    вот список который IP которые есть у меня в jimm
    64.12.161.153
    64.12.161.185 = login.icq.com
    64.12.200.89
    205.188.153.97
    205.188.153.98
    205.188.179.233
    P.S. если подключаться через IP то связь просто надежней и быстрее запускается
     
    #51 Gara, 5 Jun 2008
    Last edited: 6 Jun 2008
  12. Stern

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

    Joined:
    13 Mar 2007
    Messages:
    75
    Likes Received:
    5
    Reputations:
    0
    Вообщем с Jimmом непонятка....пробывал с другой версии все норм...с моей "основной"...глюк....

    зы. и все таки как сделать так чтобы при запросе х статуса бот "молчал"...???
     
  13. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Обновлено. Добавлены статус-картинки (XСтатусы) и ещё что-то. Вот скрин настроек =)
    [​IMG]

    Stern, я твоего вопроса вообще не понял.
     
    2 people like this.
  14. Karapuziko

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

    Joined:
    20 Jan 2008
    Messages:
    32
    Likes Received:
    14
    Reputations:
    3
    Не плохой бот, но вот небольшие минусы:
    [-] Нет возможности переподключения
    [-] Не принимает сообщение от многих клиентов Jimm
    [-] Так же не плохо бы было реализовать буфер+таймер, чтобы бот не вылетел...
    А так на готовом классе, думаю для многих не составит труда реализовать бота, веских причин выбрать именно твой бот я не вижу...но все равно молодец:)
    Извени за критику....
     
    2 people like this.
  15. Gara

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

    Joined:
    8 Jul 2007
    Messages:
    36
    Likes Received:
    10
    Reputations:
    -5
    Karapuziko для переподключения используй крон
     
    #55 Gara, 6 Jun 2008
    Last edited: 6 Jun 2008
    1 person likes this.
  16. .::BARS::.

    .::BARS::. Elder - Старейшина

    Joined:
    13 Oct 2007
    Messages:
    380
    Likes Received:
    45
    Reputations:
    10
    смотрю я один заинтересовался.... сейчас тогда вопросик с примером кину... может кто поможет...
     
  17. .::BARS::.

    .::BARS::. Elder - Старейшина

    Joined:
    13 Oct 2007
    Messages:
    380
    Likes Received:
    45
    Reputations:
    10
    Вот пример
    Команда - anekdot
    Переменные оставь пустыми
    Функция

    PHP:
    $anekdots = array(

    'Приходит блондинка к травмотологу с перевязанной рукой и ногой. Доктор
    спрашивает ее, что случилось. Блондинка отвечает:
    - А я пылесос включала и он мне руку током ударил!
    - А с ногой что?
    - Ну и я его ударила, что мне было еще делать!?!'
    ,

    'жгучий брюнет встретится с очаровательной трехкомнатной блондинкой с
    окнами на арбат'
    ,

    'Между Медведевым и Путиным если одно, но стопроцентное отличие: в их
    фамилиях не совпадает ни одной буквы!'
    ,

    'Из новостей:
    Yahoo! намерено купить российского игрока, вероятнее всего - "Яндекс"
    А вот название для нового ресурса долго придумывать не надо - ЯхуЯндекс'
    ,

    'Новый фильм ужасов для офисных работников: "Понедельник начинается в
    субботу".'
    ,

    'У меня горе - мой персидский кот на моем персидском ковре сделал
    Персидский залив.'
    ,

    'Лицо не московской национальности...'

    );

    return 
    $anekdots[rand(0,strlen($anekdots)-1)];
    Отправляешь боту сообщение "!anekdot", он возвращает случайный анекдот из массива $anekdots

    -------------------

    пример на этой асе 613794
     
  18. .::BARS::.

    .::BARS::. Elder - Старейшина

    Joined:
    13 Oct 2007
    Messages:
    380
    Likes Received:
    45
    Reputations:
    10
    не работает........
     
  19. .::BARS::.

    .::BARS::. Elder - Старейшина

    Joined:
    13 Oct 2007
    Messages:
    380
    Likes Received:
    45
    Reputations:
    10
    все... работает
     
  20. .::BARS::.

    .::BARS::. Elder - Старейшина

    Joined:
    13 Oct 2007
    Messages:
    380
    Likes Received:
    45
    Reputations:
    10
    Mismatch nick or password, re-enter - вот проблемка... + Н хочет редактировать файлы большой длины