Роботы, плагины и скрипты к чату MyChat. Разработка альтернативных клиентов и различных утилит. Технические вопросы по программированию, замечания и предложения по развитию API
Аватара пользователя
Алексей Пикуров
Первое, что приходит на ум - сформировать файл и подобрать его скриптом на сервере, по событию, скажем, раз в минуту.

Второй вариант - написать плагин для клиента, который будет реализовывать задуманное. Тут максимальная гибкость, но сложнее реализация.

Опишите подробнее, что нужно сделать.
Аватара пользователя
Андрей Раков
Приветствую, вы не уточнили каким образом хотите отправлять сообщения в MyChat клиент.

Например, относительно недавно на нашем старом форуме мы вели обсуждение об отправке сообщений в чат с веб-формы.

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

Почитать подробнее и попробовать можете и вы, перейдите по ссылке ниже - Прием клиентом сообщения с web-сервера
Іван Шовгенюк
Файл и скрипт на сервере-это как то ...ну не красиво...

Есть программа в которую, например поступают заказы на какие-то услуги. При поступлении нового заказа надо спомощью майчата информировать ответственного за приём заказа.
Если была бы какая-то библиотека с описанным интерфейсом, которая отсылала бы сообщения по майчату-это было бы наилучшее решение. Разработчик программы для приёма заказов, с помощью етой библиотеки смог бы отправлять сообщения.
Аватара пользователя
Алексей Пикуров
Окей, значит нужна DLL, которая будет соединяться с сервером и быстро отправлять сообщения, как будто бы от клиента чата.

Сделаем.
Іван Шовгенюк
да, это было бы супер :)

Если DLL будет отправлять сообщения через сервер-это как раз то что надо.
Но если бы ещё эта DLL умела:
-определять находиться ли пользователь в онлайн
-определять прочитано ли уже отправленное сообщение
то это было бы идеально.

Можно было бы интегрировать в разные свои приложения Вашу систему сообщений.
Аватара пользователя
Алексей Пикуров
Ну, API предстоит ещё сделать, по ходу будет видно, что стоит добавить или расширить. Пока я попробую сделать простую DLL, чтобы можно было попробовать.
Аватара пользователя
Алексей Пикуров
Выпускаем версию 4.13, потом всё остальное. И так графики все съехали :-)
Іван Шовгенюк
Ну графики в разработчиков всегда съезжают )

жду не дождусь длл )
если удасться с помощью длл итегрировать MyChat в свои приложения, то это будет замечатьльно
Королев Валерий
А когда сделают отправку из ком. строки , разве этого не будет достаточно? У меня тоже есть желание отправлять мессаги из своей проги, вот хочу обойтись внешними бат-файлами. Жду версию 4.13...
Аватара пользователя
Алексей Пикуров
Запуск клиента из командной строки - не совсем красивое решение, это достаточно "тяжёлая" операция. Если такая отправка будет нечастой - то сойдёт, а для гибкости - нужна полноценная интеграция.
Аватара пользователя
Алексей Пикуров
Делаем лёгкую утилиту для отправки сообщений из командной строки. Если есть желание - можете попробовать сделать её сами, DLL уже есть. Единственный момент, эта технология будет работать исключительно в коммерческих версиях, в FreeMyChat её не будет.
Аватара пользователя
dv
где длл?
Аватара пользователя
Алексей Пикуров
Мы делаем библиотеку для работы с сервером напрямую, минуя клиента. Но там есть хитрые нюансы.
Аватара пользователя
Алексей Пикуров
Значит, надо напрячься :) Слово клиента - священно :)
Аватара пользователя
Алексей Пикуров
Библиотека готова. Тестировалась на Delphi 7, в понедельник сделаем тесты на Delphi XE2, если всё будет ок - выложим в паблик. Реализовано две функции:

1. проверка, онлайн ли указанный пользователь;
2. отправка сообщения в приват.

DLL библиотека и пример использования будет на официальном сайте. Необходимо будет обновить сервер. Совместимость сервера с клиентами версии 4.14 - 100%, клиентов обновлять не нужно. Скорость работы DLL библиотеки очень высокая, сервер практически не нагружается, даже если запросов будет много.
Аватара пользователя
Алексей Пикуров
Иван, пожелание реализовано.

http://www.nsoft-s.com/files/mychat/int ... mcserv.zip - новая сборка сервера, которая "понимает" технологию, совместима с версией 4.14. Обновить поверху.

http://www.nsoft-s.com/files/mychat/int ... xample.zip - DLL библиотека и пример её использования с описанием. Тестировалось на Delpi 7 и Delphi XE2. Описания функций стандартизированы, так что функции могут вызываться и из C++ компиляторов и пр.
Аватара пользователя
dv
Если иметь возможность получать и отправлять сообщения в общий канал. то можно удобные дополнения сделать, которые не будут висеть на сервере и которым не нужен клиент чата.
Аватара пользователя
Алексей Пикуров
В API DLL библиотеки пока только 4 функции. Если людям понравится, можно добавить и отправку сообщений в канал, с этим никаких сложностей нету.

Получать сообщения нельзя. Библиотека построена по принципу "Подключился - быстро отправил данные - отключился". Приём сообщений не предусмотрен. Во всяком случае, пока.
Владимир_s000s
А может вам OCX сделать с данным функционалом? Думаю не сложно библиотеку в другой формат перевести. (из ERP удобнее только через OCX, загрузить вашу dll не получается)

PS: В планах на этой неделе купить 100 клиентов MyChat... Счет на руках.
Жду ответа....
Аватара пользователя
Алексей Пикуров
Я не занимался созданием ActiveX компонент, нет в этом опыта. А в чём проблема с DLL ? Это же стандарт де-факто.
Владимир_s000s
В MS NAVISION не нашел возможности загрузить и обратиться к методам Вашей DLL. Однако с OCX, OLE Automation объектами проблем нет - штатный функционал. Это и сподвигло написать.... Может что подскажете? Или может перепишите DLL в ЕХЕ c параметрами при запуске, правда НЕ красиво получится. А может подскажете OCX объект, через который возможно послать команду по технологии типа Вашей sendmsg? Есть мысли?
Аватара пользователя
Алексей Пикуров
Давайте так, я попробую разобраться, как должны быть сделаны OCX файлы, чтобы подключать их в MS Dynamics. И потом отпишу. Окей?
Аватара пользователя
Алексей Пикуров
Владимир, у вас есть какая-то документация по созданию OCX компонент для Dynamics? Технические описания правил создания, интерфейсов и прочего? У вас же работает этот продут, должна быть справка полная и примеры. Если есть - вышлите пожалуйста на support@nsoft-s.com
Владимир_s000s
У вас появилось время посмотреть примеры написания создания OCX компонент ???
Ждем с нетерпением.....
Аватара пользователя
Алексей Пикуров
Да, кое-что посмотрел, пример, который вы дали - собрался. Мне только неясно, зачем там файл NavDLLSample.txt, можно ли обойтись без него, ведь библиотеке не нужен графический интерфейс.

Попробуйте подключить DLL - http://www.nsoft-s.com/work/mcnav/NavDLLSample.dll
Экспортированы две функции из примера:

Sin(degrees,result)
cos(degrees,result);

Попробуйте, будет ли работать. У меня нет MS Dynamics и я никогда с ним не работал, так что не в курсе, что и как там будет с этой библиотекой. Если заработает - можно будет тогда уже пробовать "впихнуть" туда функционал от MyChat.
Аватара пользователя
Алексей Пикуров
Простите, в одной букве ссылки ошибся, поправил.​
Владимир_s000s
​Тест прошел успешно. Объект Automation 'NavDLLSample Library'.NavDLLSamle, создается, обе функции доступны и функционируют. Ждем дальнейшего развития темы...
Аватара пользователя
Алексей Пикуров
Ага, отлично. Тогда делаю вариант для майчата, ждите. Кстати, как там с ASCIIZ строками в параметрах, не в курсе?​
Аватара пользователя
Алексей Пикуров
Ок, спасибо, сделаем на всякий случай ограничение.​
Владимир_s000s
​У вас появилось время на портирование DDL -> OCX компонент ???
Ждем с нетерпением.....
Аватара пользователя
Алексей Пикуров
​Уже почти закончили, не успеваем всё одновременно :) Ждите, я отвечу в этой теме.​
Аватара пользователя
Алексей Пикуров
Конец света - это злостные инсинуации :) К релизу успеем.
Владимир_s000s
А релиз на временной оси показать можете? И ли это где то в другом измерении?
Аватара пользователя
Алексей Пикуров
​http://www.nsoft-s.com/mychatarticles/885-mychat-integration-api-example1.html
Аватара пользователя
Алексей Пикуров
Это немного не то, для Владимира речь шла об OCX компоненте для MS Dynamics. По какой-то причине они не смогли подключить обычную DLL.
Владимир_s000s
Да именно ждем OCX. Вроде и тест успешно прошли с предложенным примерчиком... А где сам объект (dll OCX)?
Владимир_s000s
>Алексей Пикуровнаписал более 2 месяцев назад

>Ведущий разработчик


>​Уже почти закончили, не успеваем всё одновременно :) Ждите, я отвечу в этой теме.​

Как дела? Что нового? Скока ждать?
Аватара пользователя
Алексей Пикуров
Очень много задач, я вашим вопросом сейчас пока не занимаюсь.
Аватара пользователя
Алексей Пикуров
Владимир, мы ничего не забыли. У нас сейчас сложный период с работой и переводом сервера и клиента на новый протокол. Компонент лежит, нетронутый. Плохо, что вы не можете использовать обычные DLL, я не смогу проверить в работе компонент для Dynamics. Неудобно.
Аватара пользователя
Алексей Пикуров
P.S. Можно проще. Мы открываем протокол, если есть желание - сможете сами сделать компонент для Dynamics, по нашей спецификации.

Описание протокола публичное и постоянно обновляется.
Аватара пользователя
dv
​"Описание протокола публичное и постоянно обновляется."
-Уже что-то готово?
Аватара пользователя
Алексей Пикуров
Ну да, линк открыт, можете читать свободно и комментировать.
http://www.nsoft-s.com/mychat/MyChatJSONprotocol.txt
Аватара пользователя
Алексей Пикуров
Здравствуйте. В дистрибутиве сервера комплекте идёт комплект с примером на Delphi XE3.
C:\Program FIles\MyChat Server\doc\IntegrationAPI\

В папке лежит DLL и исходный текст программы. В версии 5.2, которая выходит сегодня, будет ещё и x64 вариант + небольшие дополнения в Integration API, которые особо не повлияют на работоспособность примера.
Аватара пользователя
Алексей Пикуров
В MyChat новых версий есть REST API. Можно отправить сообщение в чат из чего угодно обычным POST или GET запросом.

Документация и пример.