gifts2017

Jabber клиент для отправки сообщений по протоколу XMPP из командной строки

Опубликовал Александр Синиченко (nytlenc) в раздел Программирование - Внешние компоненты

Простой консольный Jabber клиент, ничего похожего в Интернете не нашел, потому пришлось написать свой. Продукт распространяется на бесплатной основе. Исходники не даю.

Как пользоваться:

В глобальный модуль обычного/управляемого приложения добавляем переменную

Перем ИмяФайлаЧата Экспорт;


Создаем обработку, например РаботаСЧатом,

Добавляем в обработку макет - двоичные данные, называем макет Jabber и загружаем туда клиент без окон.

В модуль объекта ложим процедуру:

Процедура ОтправитьСообщениеВЧат(Получатель, ТекстСообщения) Экспорт

Если ИмяФайлаЧата = Неопределено Тогда
Макет = ПолучитьМакет("Jabber");
ИмяФайлаЧата = ПолучитьИмяВременногоФайла("exe");
Макет.Записать(ИмяФайлаЧата);
КонецЕсли;

Пользователь = "ЛогинОтправителя";
Пароль = "ПарольОтправителя";
Сервер = "jabber.ru";
JIDПолучателя = Получатель + "@" + Сервер;

ЗапуститьПриложение(ИмяФайлаЧата + " -u " + Пользователь + " -p " + Пароль + " -s " + Сервер + " -t " + JIDПолучателя + " -m """ + ТекстСообщения + """");

КонецПроцедуры

Дальше используем уже где хотим

РаботаСЧатом = Обработки.РаботаСЧатом.Создать();

РаботаСЧатом.ОтправитьСообщениеВЧат("ВасяПупкин","Привет Вася! Как дела?");

После завершения сеанса, временный exe файл удалится автоматически.

 

Изменения - добавлена версия 1.1 - Jabber клиент полностью переработан и переписан под командную строку

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

Использование: ConsJabber.exe -u user -p password -s server.ru -t user2@server.ru -m "Здарова Вася, как дела?"

-f: File.txt - Сообщения из файла. Если -m или -t указаны, то -f игнорируется.
Содержание файла:
                               user1@server.ru;Привет!
                               user2@server.ru;Как дела?
                               user3@server.ru;Все хорошо!
Пример: ConsJabber.exe -u user -p password -s server.ru -f File.txt

-i: Incoming.txt - Собирает все входящие сообщения в файл. 
Содержание файла будет следующим:
                               user1@server.ru;Привет!
                               user2@server.ru;Как дела?
                               user3@server.ru;Все хорошо!
Пример использования: ConsJabber.exe -u user -p password -s server.ru -i Incoming.txt

Ну и конечно можно сочетать опции вместе :) Например: 

ConsJabber.exe -u user -p password -s server.ru -f File.txt -i Incoming.txt

Отправит сообщения из файла File.txt и примет входящие сообщения в файл Incoming.txt

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

Наименование Файл Версия Размер Кол. Скачив.
Jabber клиент
.exe 398,00Kb
02.04.15
9
.exe 1.1.1 398,00Kb 9 Скачать
Обработка - пример работы с компонентом
.epf 445,59Kb
30.03.15
6
.epf 445,59Kb 6 Скачать
Jabber клиент без окон и оповещений
.exe 398,00Kb
02.04.15
6
.exe 1.1.1 398,00Kb 6 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. BigB (BigB) 30.03.15 11:05
(0) Тут очепятка.
Перем ИмяФалйаЧата Экспорт
Исправьте.
2. Сергѣй Батанов (baton_pk) 30.03.15 13:13

Продукт распространяется на основе лицензии GPL (бесплатно).

1) "GPL" не означает "Бесплатно"
2) "GPL" означает "исходники". дайте исходники!
3. Василий Коровин (vasyak319) 30.03.15 16:19
ОтправитьСообщениеВЧат у обычного юзера при включённом UAC не заработает - стоит об этом упомянуть.
4. Александр Синиченко (nytlenc) 31.03.15 09:10
5. Александр Синиченко (nytlenc) 31.03.15 09:14
(2) baton_pk, исходники на delphi 2009, использовался компонент TJabberClient - сами исходники Здесь прошу любить и жаловать. Компонент был не дописан (не поддерживал PLAIN авторизацию, если руки прямые, подправить не составит труда). Все остальное дело рук техники, 1 - TTimer , форма и параметры для подключения... Если нужен исходник прямо этого exe - шника могу выложить.
6. Дмитрий Шерстобитов (DitriX) 31.03.15 11:07
Вы бы еще и чтение джабера сделали. вот чему бы цены не было
7. Александр Синиченко (nytlenc) 31.03.15 14:41
(6) DitriX, пожелание учтено, в версии 1.1 добавлю чтение например в файл по параметру...
8. Дмитрий Шерстобитов (DitriX) 02.04.15 19:59
Отлично. А теперь сделать ее ВК, а не внешним файлом, дабы можно просто отправлять строку и получать последние данные в строку, минуя файлы и внешние программы :)
9. Александр Синиченко (nytlenc) 24.10.15 06:10
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа