Что может icq бот

ICQ New: инструкция по разведению ботов

Каждый раз, заходя в мессенджер, мы встречаем ботов в самых различных своих проявлениях. Одни рассказывают про погоду, другие разыгрывают бургеры, а третьи так и вообще кидают мемы под настроение. Наверняка у многих из вас проскакивала мысль: «А не сделать ли мне своего бота?». К сожалению, частенько такие мысли разбиваются о непонимание, как вообще сделать бота. Наверное, для этого нужно быть крутым айтишником и разбираться в миллионах технологий? На самом деле, нет. И сегодня мы попытаемся показать, что создание своего бота — процесс простой и понятный. Разберем полный цикл создания бота, от получения необходимых данных из мессенджера до написания кода и его запуска на сервере.

Некоторое время назад в ICQ сильно обновилась платформа ботов. Она стала более дружелюбной, понятной и удобной. С помощью Python-библиотеки от разработчиков мы и будем создавать своего первого бота.

Первым делом

Для начала, нужно быть зарегистрированным в ICQ. Сделать это можно через приложение для мобильного телефона, компьютера или прямо из браузера в веб-версии.

После регистрации можно приступать к заведению собственного бота в системе:

На страннице https://icq.com/botapi/#/ есть полное описание методов API. Они используются для взаимодействия с сервером. Разберем некоторые из них подробнее.

После перехода по этому адресу на экране появится что-то подобное:

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

Пишем код?

Да, но для начала нам нужно подготовить для этого свой компьютер. Будем использовать Python третьей версии (скачайте версию для своей ОС здесь: https://www.python.org/downloads/ и менеджер пакетов pip здесь: https://pip.pypa.io/en/stable/installing/ ) Также, нужно установить библиотеку для работы с ботами:

Вот теперь можно приступать.

Пишем!

В качестве примера будем писать игрового бота, который будет проверять знания простейшей математики. Работать он будет так: человек пишет боту какое-нибудь сообщение, тот представляется и предлагает поиграть. После того, как пользователь соглашается, бот генерирует простой математический пример и 4 варианта на выбор. Когда пользователь нажимает кнопку с выбранным ответом, бот отвечает, правильно или неправильно.

Итак, бот в первую очередь должен получать события от сервера. Для этого нам нужно, помимо импортирования всех библиотек, создать объект класса Bot и запустить получение обновлений:

Сейчас наш бот может получать события, но не может их обрабатывать. Дополним бота, чтобы он мог отвечать на сообщения. Для этого добавим необходимые импорты:

json нужен для форматирования части сообщения, отвечающей за кнопки. MessageHandler нужен для добавления в код обработчика новых сообщений.

Далее, нам нужна функция, которая будет составлять сообщение для ответа:

Она принимает на вход созданного бота и событие нового сообщения. default_markup — матрица кнопок (объект «список», состоящий из массива строк кнопок. В нашем случае это единственная кнопка Начать!). first_message_text — строка, текст которой будет отправлен пользователю. Метод send_text принимает:

Для пользователя это будет выглядеть так:

Рассмотрим подробнее кнопку, которую мы отправляли в сообщении:

Первая строка — обработчик события нажатия на кнопку, вторая — фильтр, помогающий понять, какая именно кнопка нажата. Также нам нужно описать логику ответа на нажатия кнопки:

Давайте сразу добавим и функции для обработки правильных и неправильных ответов:

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

Всё, осталось только добавить обработчики нажатия на кнопки:

В каждом из этих трех обработчиков записан фильтр по callbackData (например, filters=Filter.callback_data(«start») ) и функция для вызова.

На этом программирование бота завершено. Итоговый код выглядит так:

Замечу, что в нем присутствуют импорты, необходимые для работы функции генерирования вопроса. Вместо этой и других функций можно написать какую-то свою логику 🙂

Где и как запускать?

Бота удобнее всего запускать на удаленном сервере. Есть множество сервисов, которые предлагают виртуальные серверы с доступами, достаточными для установки программ. Некоторые сервисы предоставляют бесплатный тестовый период. Раз уж мы Mail.ru, то и разбирать будем на примере Mail.ru Cloud Solutions. Там простой процесс регистрации, быстрый доступ к своему серверу, а также бесплатный тестовый период без привязки банковской карты и прочих трудностей.

Источник

ICQ баг-информер на PHP + ActiveMQ

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

В этой статье я хочу рассказать о своем опыте написания скрипта для мгновенного оповещения о возникающих в системе ошибках посредством ICQ сообщений. В качестве промежуточного звена и накопителя репортов используется брокер сообщений ActiveMQ, я расскажу как его установить и настроить для работы с MySQL. Главная часть — это ICQ-бот, написанный на PHP, в его обязанности входит прослушивание определенного канала в брокере и пересылка сообщений на указанные номера ICQ. Также я расскажу как запустить этот PHP скрипт в качестве службы Windows.

Схема работы данной системы следующая: приложение (веб или десктопное) при возникновении ошибки формирует некое XML-сообщение, в котором содержится краткое описание ошибки и ICQ-номер получателя. Это сообщение отправляется по STOMP протоколу брокеру ActiveMQ и попадает в очередь. На другом конце света или на той же машине находится ICQ-бот, который слушает эту очередь и при попадании в нее сообщения тут же пересылает его по указанному адресу. А теперь в деталях.

Читайте также:  шон о мейли рейтинг юфс

Установка и настройка ActiveMQ

Все программы будут ставиться под Windows. Пару слов о самом ActiceMQ, он представляет собой брокер сообщений, в котором есть 2 основных понятия: очереди (Queue) и темы (Topic).
Topic предназначен для оповещения большого числа подписчиков о каком-нибудь событии, например новость или выход очередного патча.
Queue представляет собой очередь заданий, на нее может быть подписано несколько слушателей, но любое сообщение получит только один из подписчиков, это как раз нам подходит.

Для настройки ActiveMQ необходимо открыть файл \conf\activemq.xml
Описываем наш брокер:

xmlns = «activemq.apache.org/schema/core» brokerName = «localhost» dataDirectory = «$/data» destroyApplicationContextOnStop = «true» persistent = «true» useShutdownHook = «false» >

id = «mysql-ds» class = «org.apache.commons.dbcp.BasicDataSource» destroy-method = «close» >

name = «driverClassName» value = «com.mysql.jdbc.Driver»/>

name = «url» value = «jdbc:mysql://localhost/activemq?relaxAutoCommit=true»/>

name = «username» value = «activemq»/>

name = «password» value = «activemq»/>

name = «poolPreparedStatements» value = «true»/>

Идем дальше по конфигу, настроим возможные подключения:

Здесь я задал 2 различных подключения по разным протоколам, это связано с тем, что на PHP для подключения я использую библиотеку STOMP, а под Delphi удалось найти компонент стабильно работающий по TCP.

Далее займемся авторизацией, в блок добавим следующий кусок:

admins=system,sslclient,client,broker1,broker2
users=icq
guests=guest

Еще понадобится файл login.config, его проще скачать целиком и кинуть в папку /conf. После всех настроек перезапускаем службу и заходим на адрес http://localhost:8161/admin/, если все сделали правильно, вас встретит панель управления, если так, то заходим в Queues и там создаем очередь с названием icq.

Скрипт ICQ-бота

За основу бота я взял библиотеку WebIcqPro, она довольно простая и стабильная. Также понадобится библиотека для отправки сообщений брокеру, я нашел вполне стабильное решение на STOMP-протоколе, однако при разрыве соединения его вышибало, поэтому мне пришлось его немного модифицировать, чтобы появилась возможность реконнекта. Приводить весь код бота я здесь не буду, кому это действительно интересно могут скачать архив.

Для проверки работоспособности запустим бота через командную строку:
«C:\Program Files\PHP\php» C:\icqbot\icq.php
Если с настройками все в порядке, он должен установить соединение с ActiveMQ и сервером ICQ, после чего начать прослушивать канал «* Waiting for messages. ». Для отправки пробного сообщения можно воспользоваться скриптом send.php из архива:

$c = new StompConnection ( «localhost» ) ;

Проверка русского message

Мне довольно долго пришлось возится с кодировками, чтобы можно было отправлять сообщения с русским текстом, поэтому не удивляйтесь когда в скриптах увидите каскадные преобразования в различные кодировки, по другому это все работать не хотело. После вызова send.php на указанный UIN придет сообщение и в логах этот факт также отразится.

Запускаем бота как службу Windows

Для этого нам понадобится набор Windows NT Resource Kit, у кого нет качаем. Допустим все файлы бота у нас лежат в папке C:\icqbot. Открываем консоль и пишем
“C:\Program Files\Windows Resource Kits\Instsrv.exe” ICQBot “C:\Program Files\Windows Resource Kits\Srvany.exe”
Далее запускаем regedit и идем в раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ICQBot внутри него создаем раздел Parameters и в нем параметр Application типа REG_SZ со значением «C:\Program Files\PHP\php.exe» C:\icqbot\icq.php
Далее идем в службы и запускаем оттуда нашего бота, теперь он полностью автономен.

Ловец ошибок для сайта

$_SESSION [ ‘ERROR_TIME’ ] = strftime ( ‘%d.%m.%Y %H-%M-%S’ ) ;

$_SESSION [ ‘ERROR_TYPE’ ] = ‘PHP SCRIPT ERROR’ ;

По понятным причинным все содержимое этих отчетов я криптую, что и всем советую делать.

Таким образом, получилась довольно стабильная, простая и универсальная схема оповещения, позволяющая отправлять сообщения на ICQ из любого приложения на любом языке, если для него описан один из протоколов взаимодействия с ActiveMQ.

Источник

СаЙт ХаКеРоВ

Программа ICQ появилась в 1996 г. и ее создателями были ребята из фирмы Mirabilis. Она стала настоящим прорывом на рынке коммуникационных программ для мгновенного общения и сразу завоевала такую популярность, о которой можно было только мечтать. Новым было буквально все. Однако наибольшее внимание пользователей вызывали основные функции, а именно возможность мгновенно связаться с человеком, который физически мог находиться в любой точке земного шара. В работе программы использовалась уникальная разработка Mirabilis – универсальный высокоскоростной протокол передачи данных, который, однако, мог эффективно функционировать даже при медленном модемном соединении (впрочем, выделенные и ADSL линии в то время пользователям только снились.) ICQ очень активно развивалась, с каждой новой версией она становилась все удобнее и функциональнее, и ныне потребители получают в свои руки просто огромное количество возможностей, начиная с мгновенного обмена сообщениями и заканчивая онлайн играми. Все это функциональное богатство было расширенно не только штатными программистами, но и сторонними разработчиками. Одним из самых значительных добавлений, которое выводит использование ICQ на принципиально новый уровень, стало изобретение ICQ бота.

Что такое боты ICQ

Бот ICQ – это, грубо говоря, программа робот, которая отслеживает сообщения на определенные ICQ номера, анализирует их и на основании полученной информации формирует ответные сообщения. Таким образом, ICQ бот выполняет все команды пользователя.

Такая организация процесса крайне интересна и полезна. Подумайте сами, ведь достаточно послать сообщения на какие-либо ICQ номера и в ответ получить сведения о прогнозе погоды, свежий анекдот, программу телепередач и другую нужную вам информацию. При этом работа с ботом ничем не отличается от ваших переговоров с реальными собеседниками. Вы точно также отправляете сообщения с определенным текстом и получаете на них ответ. То есть вам не придется осваивать какие-либо новые навороты – все работает гениально, просто и очень эффективно. Если вам не терпится посмотреть бот ICQ в работе, то вы можете скачать ICQ бота прямо сейчас с нашего сайта. Но можно проявить чуточку терпения и узнать еще немало интересного. Итак, идем дальше.

Принято разделять боты ICQ на несколько видов, в зависимости от их предназначения и выполняемых функций.

1. Боты ICQ для общения (часто используется термин чат бот) – это программа, которая следит за всеми приходящими на определенные ICQ номера сообщениями и реагирует на них, при этом, пытаясь имитировать свободное общение. Бот ICQ такого типа практически бесполезен, однако с его помощью вполне можно скрасить несколько минут свободного времени. Иногда от даже отвечает в точку и к месту, чаще же, конечно, нет. В общем, забавно, но абсолютно бесполезно.

2. ICQ бот так называемого информационно типа. Эти программы – роботы намного полезнее. С их помощью вы можете получить огромный спектр необходимой информации, начиная с ответа на вопрос, сколько будет 2+2, и заканчивая переводом текста с различных языков. Информационные ICQ боты, как правило, предоставляют пользователям самую свежую и актуальную информацию, что особенно важно для деловых людей. Им, кстати, особенно пригодятся боты ICQ, которые заведуют последними новостями с финансовых рынков и отслеживают изменение курса валют.

3. Мультибот – универсальный бот, объединяющий под своим началом сразу несколько номеров «аськи». При этом, вы посылаете сообщения разной тематики на один номер, а управляющая программа отправляет их на обработку тому или иному боту в зависимости от ваших запросов. Главный плюс подобных сервисов – удобство в работе, так как не нужно держать в своем контакт – листе множество номеров. Скачать какого – либо ICQ бота из данной серии вы можете на нашем сайте.

Мы думаем, что преимущества, которыми обладают боты ICQ, понятны всем. Однако давайте еще раз подытожим все вышесказанное.

Преимущества ICQ ботов

В настоящее время в сети Интернет можно найти немало полезных и эффективных ботов. Их использование, к тому же, будет просто незаменимым для людей, у которых нет возможности по тем или иным причинам пользоваться полноценным доступом в сеть. ICQ бот в данном случае предоставляет человеку полный спектр услуг, связанных с получением разнообразной информации.

При этом вы экономите время и дорогой трафик. Далее следует краткий обзор возможностей, которые предоставляют в руки пытливого пользователя боты ICQ:

— возможность перевода разнообразных текстов с различных иностранных языков;

— возможность отправки смс – сообщений как от своего имени, так и от произвольного отправителя;

— получение информации о погоде, программе телепередач, последних новостях и курсах валют;

— развлекательные функции (чаты, анекдоты, хохмочки и т.п.);

— расчет различных математических выражений, причем даже достаточно сложных.

Это, конечно, далеко не все функции ботов. Они постоянно развиваются и приобретают новые возможности, так что, в будущем мы узнаем еще немало интересного о данной сфере развития Интернет технологий. Справедливости ради, стоит упомянуть и о недостатках подобного рода сервисов. Главный и единственный серьезный недостаток в том, что ICQ бот не может передавать картинки, звуки и прочие мультимедийные элементы, что связано с ограничениями протокола передачи данных. Тем не менее, богатство предоставляемых возможностей в плане получения текстовой информации с лихвой окупает все возможные неудобства.

Мы рассказали немало интересного об ICQ ботах. Настала пора перейти к более подробному рассмотрению того, как именно работают все подобные сервисы.

Как работает ICQ бот

Источник

ICQ New: инструкция по разведению ботов

Каждый раз, заходя в мессенджер, мы встречаем ботов в самых различных своих проявлениях. Одни рассказывают про погоду, другие разыгрывают бургеры, а третьи так и вообще кидают мемы под настроение. Наверняка у многих из вас проскакивала мысль: «А не сделать ли мне своего бота?». К сожалению, частенько такие мысли разбиваются о непонимание, как вообще сделать бота. Наверное, для этого нужно быть крутым айтишником и разбираться в миллионах технологий? На самом деле, нет. И сегодня мы попытаемся показать, что создание своего бота — процесс простой и понятный. Разберем полный цикл создания бота, от получения необходимых данных из мессенджера до написания кода и его запуска на сервере.
Некоторое время назад в ICQ сильно обновилась платформа ботов. Она стала более дружелюбной, понятной и удобной. С помощью Python-библиотеки от разработчиков мы и будем создавать своего первого бота.

Первым делом

Для начала, нужно быть зарегистрированным в ICQ. Сделать это можно через приложение для мобильного телефона, компьютера или прямо из браузера в веб-версии.
После регистрации можно приступать к заведению собственного бота в системе:

После этого metabot пришлет данные вашего бота:

Пишем код?

Да, но для начала нам нужно подготовить для этого свой компьютер. Будем использовать Python третьей версии (скачайте версию для своей ОС здесь: https://www.python.org/downloads/ и менеджер пакетов pip здесь: https://pip.pypa.io/en/stable/installing/ ) Также, нужно установить библиотеку для работы с ботами:

Вот теперь можно приступать.

Пишем!

В качестве примера будем писать игрового бота, который будет проверять знания простейшей математики. Работать он будет так: человек пишет боту какое-нибудь сообщение, тот представляется и предлагает поиграть. После того, как пользователь соглашается, бот генерирует простой математический пример и 4 варианта на выбор. Когда пользователь нажимает кнопку с выбранным ответом, бот отвечает, правильно или неправильно.
Итак, бот в первую очередь должен получать события от сервера. Для этого нам нужно, помимо импортирования всех библиотек, создать объект класса Bot и запустить получение обновлений:

json нужен для форматирования части сообщения, отвечающей за кнопки. MessageHandler нужен для добавления в код обработчика новых сообщений.
Далее, нам нужна функция, которая будет составлять сообщение для ответа:

Она принимает на вход созданного бота и событие нового сообщения. default_markup — матрица кнопок (объект «список», состоящий из массива строк кнопок. В нашем случае это единственная кнопка Начать!). first_message_text — строка, текст которой будет отправлен пользователю. Метод send_text принимает:

Теперь осталось описать вызов этой функции при получении сообщения. Для этого в библиотеке есть специальная конструкция:

Для пользователя это будет выглядеть так:

Рассмотрим подробнее кнопку, которую мы отправляли в сообщении:

Первая строка — обработчик события нажатия на кнопку, вторая — фильтр, помогающий понять, какая именно кнопка нажата. Также нам нужно описать логику ответа на нажатия кнопки:

С помощью вызова этого метода мы покажем пользователю, что бот принял нажатие на кнопку. Иначе на кнопке какое-то время будет отображаться индикатор загрузки. Еще с помощью метода send_text нужно отправить само сообщение с вопросом и кнопками ответов.
Давайте сразу добавим и функции для обработки правильных и неправильных ответов:

Эти функции будут вызываться при нажатии на правильный и неправильный ответы. И после сообщения с правильным ответом пользователь получит новый вопрос.
Всё, осталось только добавить обработчики нажатия на кнопки:

В каждом из этих трех обработчиков записан фильтр по callbackData (например, filters=Filter.callback_data(«start») ) и функция для вызова.
На этом программирование бота завершено. Итоговый код выглядит так:

Замечу, что в нем присутствуют импорты, необходимые для работы функции генерирования вопроса. Вместо этой и других функций можно написать какую-то свою логику 🙂

Где и как запускать?

Бота удобнее всего запускать на удаленном сервере. Есть множество сервисов, которые предлагают виртуальные серверы с доступами, достаточными для установки программ. Некоторые сервисы предоставляют бесплатный тестовый период. Раз уж мы Mail.ru, то и разбирать будем на примере Mail.ru Cloud Solutions. Там простой процесс регистрации, быстрый доступ к своему серверу, а также бесплатный тестовый период без привязки банковской карты и прочих трудностей.

Источник

ICQ bot через современное API

Пример работы с API ICQ bot в 1С Предприятие 8.

Реализованы самые базовые функции:

Перед использованием нужно по инструкции https://icq.com/botapi/#/ создать своего бота получить токен и написать боту, бот не может сам писать незнакомым людям.

В модуле формы при создании на сервере можно прописать токен и уин адресата, чтобы каждый раз не вводить (для тестов)

Работает и на десктопе (проверялось 8.3.12) и в мобильной платформе (проверялось 8.3.15).

Простейшая реализация, позволит сэкономить время на старте.

Код открыт, никаких компонент не нужно.

Скачать файлы

Специальные предложения

(5) у HTTPЗапроса есть метод УстановитьИмяФайлаТела, с его помощью можно и без ДвоичныхДанных обойтись,
хотя через ДвоичныеДанные тоже можно, конечно.

Request body это не совсем параметр, а тело запроса

Все работает за исключением отправки сообщений в группы. Бот в группу добавлен.

При отсылке сообщения в группу код ответа 200. Все отработало.

Сообщение отправляет, блокировки отправки не происходит, т.к. StatusText при блокировке другой.

Вот такая ошибка выходит в ответе. Документацию по ошибкам у аськи не смог найти к сожалению(.

(9) разрабы перепилили API

старый работает, но наверное лучше попробовать переписать подо новый вариант

Обновление 29.02.20 10:03

См. также

Модуль обмена с QIWI Промо

Компании, которые используют систему моментальных платежей QIWI, ценят ее за удобство по скорости выплат и для платежей по запросу. Но такие переводы сложны для учета, а при большом объеме проводимых операций отнимают много времени и превращаются в дополнительную головную боль. Мы сотрудничали с компаниями, которые отправляют большое количество платеже на QIWI, и часто слышали боль бухгалтеров о том, как им сложно работать с такими переводами. Поэтому мы автоматизировали выплаты через QIWI в 1С и создали модуль интеграции 1С c API QIWI Wallet и QIWI TopUp.

25.05.2020 8674 0 Neti 10

Расширение конфигурации для Web-доступа к 1С (1С в роли back-end)

Для реализации того, чтобы 1С формировала и отдавала страницу, которую можно было бы открыть через браузер было написано расширение, которое позволяет публиковать из 1С произвольные ресурсы, будь то API, сайт или изображения / прочие файлы.

01.04.2021 9327 11 SaschaG 4

Работа с картами в 1С на примере бесплатной библиотеки Leaflet

Разработка функционала отображения и выбора пунктов доставки на карте прямо в 1С с помощью бесплатной библиотеки Leaflet. Тестирование производилось на платформе 8.3.15.1534 на тонком клиенте.

31.03.2021 11254 35 Parsec1C 14

Отправка Push-уведомлений через сервис Firebase Cloud Messaging по протоколу FCM HTTP v1 API

При разработке нативного приложения Android для ТСД, в котором присутствует функционал отображения задач кладовщикам, созданных в 1С, возникла необходимость отправлять push-уведомления о появлении новых задач. Для отправки таких уведомлений было решено использовать сервис Firebase Cloud Messaging (FCM). Так как для 1С, в отличии от других языков программирования, не существует готовых библиотек, что вполне логично, то очевидным способом отправки является использование протокола HTTP. Однако, существующая информация в интернете в части 1С содержит только сведений об отправке push-уведомлений через этот сервис с использованием устаревшего протокола HTTP Firebase Cloud Messaging. Сам Google не рекомендует использовать данный протокол и настоятельно склоняет к переходу на новый протокол FCM HTTP v1 API. Что ж, пришлось разбираться самостоятельно.

24.03.2021 7727 13 ltfriend 12

BIM: взаимодействие с платформой Autodesk Forge Промо

Предлагаемый пример демонстрирует широкие возможности для взаимодействия «1С:Предприятие» с платформой Autodesk Forge и позволяет вам получить базовые представления о применения технологий информационного моделирования в строительстве. Поддерживаются все версии платформы от 8.3.12 и выше до 8.3.18.

25.11.2020 42489 11 kandr 2

Источник

Библиотека с советами