Отправка сообщений на ICQ


Отправка сообщений на ICQ

ICQ (англ. I seek You — «я ищу тебя») — централизованная служба мгновенного обмена сообщениями сети Интернет.

Для использования службы требуется зарегистрировать учётную запись, что может быть сделано через интерфейс клиента, а также интернет-портал. Для идентификации пользователей служба использует UIN (Universal Identification Number) — уникальный для каждой учётной записи номер, состоящий из 5-9 арабских цифр. Этот номер присваивается учётной записи при первичной регистрации пользователя в системе, после чего, в паре с паролем, может использоваться для аутентификации в системе. В последней версии мобильного клиента для J2ME появилась возможность входа по номеру мобильного телефона, который и становится логином для нового пользователя.

Отправка сообщения ICQ средствами C#

Доброго времени суток!
Задался целью отправить из проекта сообщение на Юин ICQ. Документации в интернете по этому поводу нашел очень мало. Самостоятельно ничего не получилось.
Если есть у кого какие нибудь ссылки или код — запостите пожалуйста.
Заранее благодарен.

1 ответ 1

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

Самая нормальная документация, по которой мне удалось реализовать почти всё, находится здесь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками icq c# или задайте свой вопрос.

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2020 Stack Exchange Inc; пользовательское содержимое попадает под действие лицензии cc by-sa 4.0 с указанием ссылки на источник. rev 2020.11.11.35402

Каким образом приходят сообщения icq через смс?

Доброго времени суток. Суть такова.

Дал я одному другу свой второй, ненужный мне номер аськи и пароль от неё, чтобы пользовался (ему лень было регистрироваться, а мне нужно было с ним с телефона переписку вести.)
СМС ведь намного дороже аськи.

В итоге сижу у этого человека в гостях, и ради шутки отправил ему сообщение, пока он был в другой комнате — «чего делаешь?» — в ответ пришло «Я в Ухте, на работе сейчас.» Я впал в ступор. Угнали номер — подумал я. В это время пришол с другой комнаты мой друг, я его спросил давно ли мои сообщения к нему не приходят в аське — оказалось что уже давно.

Стал разбираться. Оказалось что отвечает мне мой другой друг, котрому я эту аську никогда и не давал. Да он аськой то не пользовался никогда — вконтакте сидит всё. Не признаёт мессенджеры всякие, ему легче смс написать.


А теперь магия:
Я спросил — ты как в эту аську залез? Откуда у тебя вообще аська, номер и пароль от неё?
Он мне просто прислал в ответ следующий скриншот:
То есть он понятия не имеет почему ему приходят СМС с моими сообщениями из аськи, но когда он отвечает на пришедшие смс на короткий номер, с которого они приходят, сообщения в ответ доставляются мне в аську. При чем его контакт всегда онлайн.

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

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

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

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

Илон Маск рекомендует:  Конверер массива в XML

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

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

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

Для начала качаем дистрибутив. Установка сводится к распаковке архива в какую-нибудь далекую папку. Для удобства работы установим его как службу Windows, для этого необходимо запустить скрипт ActiveMQ\bin\win32\InstallService.bat, наличие установленной JAVA машины предполагается само собой.
Проверить работоспособность можно через «Администрирование» -> «Службы», но только подождите секунд 10 после запуска и обновите список, на Win 2003 server у меня возникла проблема: служба вроде запускалась, но сразу же падала, долгое копание в логах и гуглах привело к простому решению – необходимо создать папку work в каталоге ActiveMQ\bin\win32.

Для настройки 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» />

Блок должен располагаться за пределами тега . После перезапуска службы в БД должны будут создаться 3 таблицы, если так и произошло, значит все сделано правильно.


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

Здесь я задал 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» ) ;

$result = $c -> connect ( «icq» , «bot» ) ;

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

$mess = iconv ( ‘cp1251’ , ‘UTF-8’ , $mess ) ;

$c -> send ( «/queue/icq» , $mess , array ( ‘persistent’ => ‘true’ ) ) ;

Мне довольно долго пришлось возится с кодировками, чтобы можно было отправлять сообщения с русским текстом, поэтому не удивляйтесь когда в скриптах увидите каскадные преобразования в различные кодировки, по другому это все работать не хотело. После вызова 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
Далее идем в службы и запускаем оттуда нашего бота, теперь он полностью автономен.

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

ini_set ( ‘display_errors’ , 0 ) ;


function send_report ( $message , $to = ‘1212312’ , $from = ‘SENDER’ ) <

global $send_report , $stomp_server , $stomp_url , $stomp_user , $stomp_psw ;

if ( ! $send_report ) return false ;

$c = new StompConnection ( $stomp_server ) ;

$result = $c -> connect ( $stomp_user , $stomp_psw ) ;

if ( ! is_array ( $to ) ) $to = array ( $to ) ;

foreach ( $to as $i ) <

$c -> send ( $stomp_url , iconv ( ‘cp1251’ , ‘UTF-8’ , $mess ) , array ( ‘persistent’ => ‘true’ ) ) ;

function user_log ( $errno , $errmsg , $file , $line ) <

$filename = strftime ( ‘%d.%m.%Y %H-%M-%S_’ ) . $_REQUEST [ ‘PHPSESSID’ ] . ‘.err’ ;

$fl = fopen ( ‘errors/’ . $filename , ‘w’ ) ;

$_SESSION [ ‘ERROR_TEXT’ ] = ‘WARNING: ‘ . $errmsg . ‘ in ‘ . $file . ‘ on line ‘ . $line ;

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

$_SESSION [ ‘ERROR_PHPSESSID’ ] = $_REQUEST [ ‘PHPSESSID’ ] ;

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

fwrite ( $fl , serialize ( $_SESSION ) ) ;

if ( $send_report ) send_report ( $_SESSION [ ‘ERROR_TEXT’ ] ) ;


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

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

Прием и отправка сообщений

Прием и отправка сообщений

С приемом сообщений по «аське» проблем возникнуть не должно: в момент, когда на ваш компьютер поступает письмо от одного из пользователей ICQ, цветок программы в системном трее сменяется на значок подмигивающей записки. Щелкните по нему – и пришедшее письмо немедленно будет выведено на экран. И вы, нажав на кнопку Reply, сможете вступить в дискуссию. А вот при отправке новых сообщений, как говорится, возможны варианты, и их-то мы как раз и постараемся изучить в этом разделе.

Итак, щелкаем левой кнопкой мышки по имени нужного вам человека (неважно, из какого списка – красного или синего) и выбираем меню Send Message.

Перед вами откроется окно отправки сообщения.

Окно отправки сообщения

Как видите, все устроено достаточно просто: пишем свое сообщение в нижнем поле, нажимаем Send… А в верхнем окне мы видим полный протокол диалога с текстами как ваших посланий, так и писем собеседника. Но, помимо этого режима работы, в ICQ предусмотрен и другой, под названием Msg Mode. Стоит только нажать одноименную кнопку, как окно отправки сообщения примет совершенно иной вид.

Теперь перед нами всего лишь одно окно: протокол беседы убрался с глаз долой. Невелика потеря – в конце концов, журнал сообщений всегда доступен через Контекстное меню любого пользователя, а заодно и через кнопку History на панели самого окна.

Однако в качестве компенсации нам стали доступны новые возможности… и несколько новых кнопок!

Прежде всего в глаза бросается новое меню Send By… рядом с кнопкой Send: теперь вы можете отправлять ваши сообщения не только по ICQ, но и на адрес электронной почты и даже на SMS. Причем для отправки можно выбрать любое сочетание этих трех каналов или какой-то один из них. Не менее интересна и кнопка Multiple, благодаря которой вы можете отправить одно и то же сообщение любому количеству адресатов из вашего контакт-листа. Хоть всем сразу!

Но уже на стадии написания сообщений вы можете проделать с ним некоторые фокусы с помощью дополнительной панели инструментов. Конечно, ICQ далеко не Word, однако минимальные средства форматирования и «оживления» текста присутствуют и здесь.

Первые две кнопки оставим пока в стороне (опция отключения / включения звука к текстовым инструментам не относится, а функция проверки орфографии доступна только при работе с англоязычным текстом). А вот остальные кнопки гораздо любопытнее:

Incept Smiley. Добавить в письмо «смайлик» можно и с помощью простых текстовых символов :)… Однако собственные смайлики ICQ гораздо красивее. Вы не находите?

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

Incept Emotion. Тот же набор смайликов, только расширенный. Благодаря ему вы можете эмоционально окрасить уже не одно слово или абзац, но и задать тон всего текста. Это в теории. На практике же эмоции используются еще реже, чем графические смайлики-картинки.

Кнопки Text Font, Text Color u Text Background. А вот это уже гораздо интереснее! Правильно выбрав цвет шрифта и фоновую «подложку», вы можете оживить и выделить ваше сообщение куда сильнее, чем с помощью тех же смайликов. Это же относится и к типу шрифта. Вот только использовать эту возможность я лично не рекомендую. Ведь далеко не факт, что выбранный вами экзотический шрифт окажется на компьютере вашего адресата. А получить в результате такого экспериментирования табун «кракозябликов» вместо внятного текста, я думаю, вы не захотите и сами…


Отправляем SMS с помощью «аськи»

Rambler Mobile объявил о начале работы сервиса ICQ 2WaySMS, позволяющего российским пользователям международной версии программы ICQ 5 и русскоязычной программы Rambler ICQ отправлять SMS-сообщения на телефоны абонентов мобильной связи непосредственно из программы ICQ. Получатель такого сообщения также может ответить на него со своего телефона в ICQ.

При подключении сервиса необходимо указать в «Центре Xtraz» (в специальном разделе программы ICQ) номер своего мобильного телефона. На указанный номер будет отправлено SMS-подтверждение с уникальным кодом. Код подтверждения необходимо ввести в Xtraz.

После активации сервиса пользователь должен пополнить SMS-баланс. За $1 (стоимость указана без НДС) пользователь может отправить 14 SMS-сообщений со своего компьютера на мобильный телефон. Для пополнения баланса пользователи могут отправить текст сообщения SMSBANK на номер 9191. Доступ к информации об изменениях баланса, как и к SMS-переписке, открыт для пользователя ICQ в личном архиве программы.

На сегодняшний день сервис ICQ 2WaySMS доступен абонентам операторов «Билайн», «МТС», «Мегафон». Пополнение SMS-баланса в Rambler ICQ возможно только на территории Российской Федерации. Возможность отправки SMS-сообщений открыта для российских пользователей в двух версиях программы: в Rambler ICQ 5 (icq.rambler.ru) и в ICQ 5 with Xtraz. Условия использования ICQ 2WaySMS в международной версии программы аналогичны тому, как сервис работает в Rambler-ICQ.

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

Обучение дистанционно. Выдаем сертификат. Записывайтесь на курс «Все про управленческий учет: для бухгалтера, директора и ИП». Пока за 3500 вместо 6000 руб.

Как разместить на сайте кнопку ICQ #1998

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

Разместить такую кнопку Вы можете:

  • В дополнительных блоках страницы. Вы можете разместить код, привденный в инструкциях ниже, как в уже существующих блоках, так и создать новый редактируемый блок с типом данных — HTML-тексты. Как создать редактируемый блок, Вы можете прочитать в соответствующей инструкции.
  • В нужном Вам месте на странице вида «Страница с HTML-текстом».
  • В нужном месте шаблона («Главная.Верх» или «Главная.Низ»). Для работы с шаблонами Вам потребуются расширенные права доступа. Их можно получить самостоятельно, следуя инструкции по ссылке.

Рассмотрим подробно оба способа размещения иконки ICQ.

Для начала рекомендуем Вам определить, какую именно иконку ICQ Вы хотели бы видеть на своем сайте. Ниже приведена таблица со всеми возможными вариантами отображения иконок: в левом столбце указан порядковый номер набора иконок (обратите на него внимание, он пригодится Вам позже), а в правом столбце — сам набор иконок (для статусов Offlne, Online, Disabled).

Форум русскоязычного сообщества Ubuntu

Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: отправка сообщений из консоли в ICQ (Прочитано 7968 раз)

0 Пользователей и 1 Гость просматривают эту тему.


Страница сгенерирована за 0.076 секунд. Запросов: 25.

© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.

Отправка сообщений на ICQ

Сообщения отправляются на номер ICQ: 94047028 в следующем формате:

Вариант 1. ————————
pager-operator Text , где
pager номер пейджера,
— тире,
operator — ID оператора
text — текст сообщения (от заголовка отделяется пробелом) Пример отправки сообщения на пейджер № 777 компании «Вессо Линк».

777-101 Тестовое сообщение на пейджер.

Вариант 2. ————————
Вы также можете отправить сообщение на эл.почту. В этом случае Вы сначала должны указать адрес эл. почты, затем, через пробел текст сообщения. Пример:

ivanov@mail.ru тестовое сообщение

Вариант 3. ————————
Еще мы предлагаем Вам получить постоянный номер для более упрощенного варианта отправки сообщений. На данный момент это 4-х значный номер, которому сопоставлен и номер Вашего пейджера, и ID фирмы. Если Вы поменяете фирму оператора и, как следствие, у Вас изменится номер пейджера, то имея постоянный номер, Вы можете внести изменения в базу данных и сообщения будут переданы уже по новому адресу. Пример отправки сообщения для этого случая:

1234 тестовое сообщение на пейджер

Для получения постоянного номера, отправьте письмо по адресу gate@pagers.ru следующего содержания:

new [номер пейджера]-[ID оператора]
Ваше имя или НИК
Ваш E-Mail
Пароль

new 777-101
Ivanov Ivan
ivanov@mail.ru
mypassw

Подтверждение будет выслано Вам на e-mail.

Внимание! ICQGate находится в невидимом режиме. В настройках по этому номеру необходимо указать автоматически отправлять сообщения через сервер. (в меню Alert/Accept Modes поставить галочку — Auto send through server). После отправки сообщения высылается отчет на ICQ с которого было отправлено сообщение.
Данный сервис является бесплатным. Гарантий по доставке сообщений не несем.

SMS: Теперь из «аськи» можно бесплатно слать сообщения на мобильный!

Rambler Media и ICQ объявили о запуске нового бесплатного сервиса СМС-сообщений для пользователей Rambler-ICQ — ICQ2WaySms.

Теперь в дополнение к обычному сервису мгновенного обмена сообщениями, пользователи Rambler-ICQ получат возможность отправлять бесплатные СМС на номера трех ведущих мобильных операторов: МТС, Билайн и МегаФон. При этом адресаты смогут отвечать на полученные СМС-ки прямо со своих телефонов.

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL