Создаем бота под современную ICQ (часть 3)


Тут часть 2
Для посылки сообщений в групповой чат нам понадобится:
ICQ_BOTTOKEN: 001.0000000000.0000000000:749000000 (см тут часть 2)
ICQ_IDCHAT = @740000000

Почитать про ICQ Bot API можно тут

Изменения API
29.01.2020:
Добавили возможность в поле chatId передавать ник пользователя или чата.

Ранее, для получения chatId, проходился квест, теперь достаточно знать ник пользователя или чата.

Вот самый доступный код на php для посылки сообщений:

// ICQ-Bot, посылаем сообщение пользователю или в групповой чат
$msg = "Привет! Это тестовое сообщение.";
$ICQ_BOTTOKEN = "001.0000000000.0000000000:749000000"; //Bot token
$ICQ_IDCHAT = "@740000000"; //ChatID, ник пользователя
// $ICQ_IDCHAT = "AaLE2gDip1ZYY1112s"; //ChatID, ник группового чата
$icq_msg = rawurlencode(str_replace("@", " ", $msg));
$icq_full_url = "https://api.icq.net/bot/v1/messages/sendText?token=".$ICQ_BOTTOKEN."\&chatId=".$ICQ_IDCHAT."\&text=".$icq_msg;
passthru("/usr/bin/wget -q -O- $icq_full_url > /dev/null 2>&1 &");

Код для bash мы рассмотрим в следующем уроке по bash ok

  1. davydoff

    Здравствуйте! Помогите, пожалуйста, непосвящённому.
    Как же мне запустить этот скрипт? Бот создан, но азов запуска не знаю.
    Использовать Openserver, или просто установить php для реализации.
    Все вы с чего то начинали здесь, помогите, пожалуйста, как запустить этот простейший код.
    Не хочу я инсталлировать библиотеки pip и готовые скрипты, как их запускать тоже.

  2. Samp Автор записи

    Ого! Этож какой поисковик вам выдал ссылку?)
    Я сейчас с мобилы и полноценно не могу помочь.
    Код надо сохранить в формат файла *.php

    В коде используется вызов внешней linux программы wget.
    Ну а дальше /путь_к_нашему_пхп/php -f наш_код_в_файле.php

    Все это надо делать в консоли линукса… под вин я даже не знаю как это все запустить unknw

  3. davydoff

    Это яндекс проиндексировал вас по запросу бот в ICQ.
    Я вообще не владею азами линукса.
    Я в редакторе обернул все с расширением .php, вставив код между

    Может попробовать мне запустить файл через сервер сайта? в браузере..
    В остальном буду рад вас читать, мне тяжело все воспринимать правильно. Но я учусь.

  4. davydoff

    кажется стал понимать о чем вы, если внешняя команда linux..
    то надо установить php наверное под win…

  5. Samp Автор записи

    Если в строке браузера, то собственно и не нужен php, только урлу правильно составить.
    Щас я поправлю код, а то он съехал из-за спец символов

  6. davydoff

    что-то не то делаю, видимо, не могу понять правильность написания из под строки браузера, битрикс не вопрнимает чтоли..

  7. Samp Автор записи

    Вставил код в виде картинки.

  8. Samp Автор записи

    Я так выглядит урл для вставки в любой браузер, картинка

  9. Samp Автор записи

    Токен вставить своего бота, а ID чата того кому посылаешь.
    Если в чат группы, то нужно сначала добавить своего бота в этот чат.

  10. Samp Автор записи

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

    Просто этот ресурс не самый посещаемый, вернее самый не посещаемый laugh

  11. davydoff

    Большое спасибо, но тут защита, видимо, обработчик выдает:

    ok false
    description “Permission denied”

  12. davydoff

    Просто этот ресурс не самый посещаемый, вернее самый не посещаемый

    Зато логичный и нужный! Для тех, кому нужна правильная информация, а не мусор посещаемости

  13. davydoff

    Не получается, скомандуете, пожалуйста, куда “рулить” ,а то ученик уедет в столб…
    Хочется уже “добить”, что не так….

  14. Samp Автор записи

    Да не, скорее всего шлете по не одобренному ID чата
    нет доступа у бота

  15. davydoff

    вот формат, я не использую чаты, просто по номеру телефона, он же ник, получается:
    https://api.icq.net/ bot/v1/messages/ sendText? token=001.00000000. 0000000:000000 &chatId=@XXX &text=”Привет! Это я”

    А, кстати, в шапке поста картинкой неудобно текст не скопируешь, лучше, я думаю, оставить текст для удобства копирования…

  16. Samp Автор записи

    Я вот сейчас попробовал урлу и послал себе сообщение, все отработало
    Урл вставить в своем браузере на ПК для проверки
    На сервере потом тренироваться

  17. Samp Автор записи

    Я там потер, нафиг проиндексируется)

  18. davydoff

    Да, все точно в браузере делаю, без сервера.
    Очень не хочется время тратить ваше, я ответственно отношусь, все перепроверил, опять мне доступ закрывает.
    А попробуйте на этот номер? Он мой @XXXXX – для проверки, пройдет ли по нему

  19. Samp Автор записи

    Попробовал ваш урл, отчет, нет доступа

  20. Samp Автор записи

    Ваш бот не в списке у вашего ID аси

  21. davydoff

    да как быть то, мне для дела) одном человеку то по сути нужно подарок)) от бота сделать.

  22. Samp Автор записи

    Вот я сейчас попробовал от вашего бота на свой ID аси послать, тоже нет доступа (Permission denied)
    Ну так устроена защита от спама у аси sad
    Значит берем пиво и ногами к челу drinks

  23. davydoff

    А через Linux осуществится? Если установить

  24. Samp Автор записи

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

  25. davydoff

    Да, тогда придется писать. Ух я не спец, но ради фигни для подарка от бота, не стоит игра свеч.
    Тем не менее, спасибо за ответы.
    Может тогда по каким то вопросам я в твитер стукнусь аккуратно ваш

  26. davydoff

    В продолжении темы. Я поставил ник к номеру телефона контакта и попробовал отпарить сообщение через сервер ICQ – все стало приходить!
    Значит по ID ника отправка возможна.
    Но как решить вопрос, если ник в контакте не указан? Может можно вызвать функцию запроса или как “победить” отправку сообщения без никак пользователя, используя телефон контакта, который по сути и есть же ник, если не указано другое.

  27. davydoff

    пробую параметр userID – не слышит меня, может как-то можно использовать этот параметр

  28. davydoff

    Уникальный ник или id группы или канала. Id можно получить из входящих events (поле chatId).
    возможно есть способ обратиться с событию и узнать уникальный ник, если он не присвоен.
    Уж, простите, мне интересно это.

  29. davydoff

    Ну, собственно ответ:
    Здравствуйте.

    На данный момент описанная вами функция не реализована.
    Мы примем во внимание ваше пожелание и постараемся учесть при разработке
    новой версии приложения.

    С уважением,
    Служба поддержки пользователей ICQ New

    Как реализуют – узнаем и проинформируем.

Добавить комментарий