Архив: Технология создания плагинов
-
- Администратор
- Сообщения: 6873
- Зарегистрирован: 09:56, 27.06.2005
Re: Технология создания плагинов
Изменения по системе плагинов в клиенте 5.03:
- Исправлен ID события входа другого пользователя в канал (32);
- Добавлена возможность получения информации о подключенном пользователе (состояние, иконка, индикация активности, время простоя, активный процесс).
Изменения по системе плагинов в сервере 5.03:
- Добавлена возможность публикации изображений;
- Добавлена возможность получения информации о подключенном пользователе (состояние, иконка, индикация активности, время простоя, активный процесс);
- Папка для временных файлов плагинов создается автоматически;
- Исправлено отключение функции премодерации при остановке плагина;
- Исправлена ошибка при получении данных от программы с ID=1080;
- Исправлена ошибка при обработке запроса на изменение приветствия канала;
- Исправлена ошибка с отправкой события о выходе виртуального пользователя из канала (ID=1073);
- Исправлена ошибка с информацией об игнорировании виртуальных пользователей.
Документация по плагинам обновлена.
Обращаем внимание, что при публикации изображений серверный плагин должен самостоятельно сжимать изображения до допустимых (в системы плагинов предусмотрены функции для получения значений ограничений).
- Исправлен ID события входа другого пользователя в канал (32);
- Добавлена возможность получения информации о подключенном пользователе (состояние, иконка, индикация активности, время простоя, активный процесс).
Изменения по системе плагинов в сервере 5.03:
- Добавлена возможность публикации изображений;
- Добавлена возможность получения информации о подключенном пользователе (состояние, иконка, индикация активности, время простоя, активный процесс);
- Папка для временных файлов плагинов создается автоматически;
- Исправлено отключение функции премодерации при остановке плагина;
- Исправлена ошибка при получении данных от программы с ID=1080;
- Исправлена ошибка при обработке запроса на изменение приветствия канала;
- Исправлена ошибка с отправкой события о выходе виртуального пользователя из канала (ID=1073);
- Исправлена ошибка с информацией об игнорировании виртуальных пользователей.
Документация по плагинам обновлена.
Обращаем внимание, что при публикации изображений серверный плагин должен самостоятельно сжимать изображения до допустимых (в системы плагинов предусмотрены функции для получения значений ограничений).
Re: Технология создания плагинов
Где можно почитать или как сделать плагин на C# под клиент чата?.
Re: Технология создания плагинов
У меня аналогичный вопрос - можно ли плагин написать на Java? Все таки Java и C# (.NET) во многом похожи.yaotzin писал(а):Где можно почитать или как сделать плагин на C# под клиент чата?.
Re: Технология создания плагинов
Сорри за оффтопsupermet писал(а):У меня аналогичный вопрос - можно ли плагин написать на Java? Все таки Java и C# (.NET) во многом похожи.
Я еще писал об этом, вроде, когда было тестирование системы плагинов, что необходим переписанный пример на C#. Вещь очень необходимая, имхо.
Когда пишете программу, всегда думайте о том, что её может затем поддерживать психопат и насильник, который знает где вы живёте.
— Martin Golding
— Martin Golding
Re: Технология создания плагинов
Я это писал еше в 4й версии чтоб сделали так что я раньшеОреЛ писал(а):Сорри за оффтоп
Я еще писал об этом, вроде, когда было тестирование системы плагинов, что необходим переписанный пример на C#. Вещь очень необходимая, имхо.
Я пытался написать но там такие для C# мутки были чтоб написать подгружаемую библиотеку, что то типа написать на C++ чтоб потом этот C++ подключал C# библиотеку. Что то в таком духе. Хотя может сейчас ситуация изменилась.
Re: Технология создания плагинов
Проблема с удалением пользователя с сервера.
Вызываю событие с ID 1071, передаю ник бота и ник удаляемого пользователя. Права у бота полные, пользователь 100% зарегистрирован на сервере. Ошибок с памятью никаких не происходит, пользователь с сервера не удаляется . В чем может быть проблема?
Вызываю событие с ID 1071, передаю ник бота и ник удаляемого пользователя. Права у бота полные, пользователь 100% зарегистрирован на сервере. Ошибок с памятью никаких не происходит, пользователь с сервера не удаляется . В чем может быть проблема?
Re: Технология создания плагинов
Если бы протокол Коммфорт был открыт(как в Jabber), ботов можно было бы написать на любом языке - Python, Perl, C++ и др., запускаемых как процесс или сервис. Например, для Jabber есть куча Python ботов с открытым кодом Talisman, Isida, Gluxi и т.д. Для этого не нужен ни клиент, ни сервер.yaotzin писал(а): Я это писал еше в 4й версии чтоб сделали так что я раньше
Я пытался написать но там такие для C# мутки были чтоб написать подгружаемую библиотеку, что то типа написать на C++ чтоб потом этот C++ подключал C# библиотеку. Что то в таком духе. Хотя может сейчас ситуация изменилась.
Re: Технология создания плагинов
Это не так уж сложно написать эмуляцию пакетов чат клиента, но требует много времени, но это того не стоит. Просто нужна поддержка подгружаемых библиотек с C#.supermet писал(а):Если бы протокол Коммфорт был открыт(как в Jabber), ботов можно было бы написать на любом языке - Python, Perl, C++ и др., запускаемых как процесс или сервис. Например, для Jabber есть куча Python ботов с открытым кодом Talisman, Isida, Gluxi и т.д. Для этого не нужен ни клиент, ни сервер.
-
- Сообщения: 109
- Зарегистрирован: 08:23, 11.12.2008
- Откуда: Комсомольск-на-Амуре
- Контактная информация:
Re: Технология создания плагинов
жаль что мое сообщение было проигнорировано и ошибка не была исправлена =(ZigZagkms писал(а):Серверный плагин. Инициирование событий.
Почему то у событий "Создать общий канал или подключиться к уже существующему" и "Изменить иконку" одинаковое ID... 1026..
Попробовал сменить иконку а сервер мне в ответ событие с id 1091 "Подключение к каналу виртуального пользователя невозможно".
Забросил, всем спасибо, исходники раздаю кому надо https://github.com/ZigZagkms
Re: Технология создания плагинов
сам только заметил, что реально один и тот же ID))).. глупо...ZigZagkms писал(а):жаль что мое сообщение было проигнорировано и ошибка не была исправлена =(
Maxim Mirgorodsky, жду ответа http://www.commfort.com/ru/forum/viewto ... 736#p47736
Re: Технология создания плагинов
Было замечено очень странное поведение клиента коммфорта. Если плагин будет работать в момент, когда авторизация пользователя не завершена, то клиент перестаёт видеть сервер. Подобная ситуация произошла с моим плагином, при запуске на нём бота, бот пытается опубликовать сообщение в приват, при этом приватный канал создаётся (авторизация на сервере при этом ещё не завершена) и закрывается но на сервер в это время попасть не получается, вот один из пользователей плагина прислал http://www.commfort.com/ru/forum/downlo ... hp?id=2390.
Это моя недоработка и мне необходимо постоянно контролировать состояние связи. Или это проблема системы плагинов, которую вы будете исправлять?
Это моя недоработка и мне необходимо постоянно контролировать состояние связи. Или это проблема системы плагинов, которую вы будете исправлять?
-
- Администратор
- Сообщения: 6873
- Зарегистрирован: 09:56, 27.06.2005
Re: Технология создания плагинов
Приносим извинения, первоначально неправильно поняли информацию об ошибке. Разумеется, в следующей версии сервера исправим.ZigZagkms писал(а):жаль что мое сообщение было проигнорировано и ошибка не была исправлена =(
Проблема подтвердилась, спасибо, в следующей версии сервера исправим.$teelR@t писал(а):Проблема с удалением пользователя с сервера.
Вызываю событие с ID 1071, передаю ник бота и ник удаляемого пользователя. Права у бота полные, пользователь 100% зарегистрирован на сервере. Ошибок с памятью никаких не происходит, пользователь с сервера не удаляется . В чем может быть проблема?
-
- Администратор
- Сообщения: 6873
- Зарегистрирован: 09:56, 27.06.2005
Re: Технология создания плагинов
Для этого реализовано получение данных от программы с ID=11 (состояние связи с сервером и авторизации). Считаем логичным именно на стороне плагина контролировать состояние подключения к серверу, так как команды инициируемые плагином выполняться не будут и эта информация плагину необходима в большинстве случаев. А в клиенте ближайшей версии сделаем полное игнорирование до авторизации событий, которые могут производиться только после авторизации.@serg@ писал(а):Было замечено очень странное поведение клиента коммфорта. Если плагин будет работать в момент, когда авторизация пользователя не завершена, то клиент перестаёт видеть сервер. Подобная ситуация произошла с моим плагином, при запуске на нём бота, бот пытается опубликовать сообщение в приват, при этом приватный канал создаётся (авторизация на сервере при этом ещё не завершена) и закрывается но на сервер в это время попасть не получается, вот один из пользователей плагина прислал http://www.commfort.com/ru/forum/downlo ... hp?id=2390.
Это моя недоработка и мне необходимо постоянно контролировать состояние связи. Или это проблема системы плагинов, которую вы будете исправлять?
Re: Технология создания плагинов
А где документация по плагинам? Один раз я как-то я скачал её отсюда: http://www.commfort.com/ru/forum/viewto ... =28&t=6418 , самое первое сообщение в теме. Но теперь, когда я обновился до 5.03 и плагин который я долго и упорно писал перестал работать, я, естественно, начал искать доки. Доков не нашёл. Подскажите мне, слабозрячему, где найти обновленную документацию по плагинам. То бишь для версии 5.03.
Даже Яндексом не нашёл ОО
http://yandex.ru/yandsearch?text=%D0%B4 ... mmfort.com
----
И да, пользуясь случаем.
Мне нужно получить Текущего пользователя. Delphi. Функция PluginGetData. ID для получения 12. Что-то я вообще не знаю как это сделать. Всяко-разно пробовал — тщетно.
Подскажите, пожалуйста.
Даже Яндексом не нашёл ОО
http://yandex.ru/yandsearch?text=%D0%B4 ... mmfort.com
----
И да, пользуясь случаем.
Мне нужно получить Текущего пользователя. Delphi. Функция PluginGetData. ID для получения 12. Что-то я вообще не знаю как это сделать. Всяко-разно пробовал — тщетно.
Подскажите, пожалуйста.
http://mediumeex.livejournal.com
Re: Технология создания плагинов
Всё лежит на прежнем месте, в шапке топика http://www.commfort.com/download/commfo ... doc_ru.zip.Aarts писал(а):А где документация по плагинам? Один раз я как-то я скачал её отсюда: http://www.commfort.com/ru/forum/viewto ... =28&t=6418 , самое первое сообщение в теме. Но теперь, когда я обновился до 5.03 и плагин который я долго и упорно писал перестал работать, я, естественно, начал искать доки. Доков не нашёл. Подскажите мне, слабозрячему, где найти обновленную документацию по плагинам. То бишь для версии 5.03.
Даже Яндексом не нашёл ОО
http://yandex.ru/yandsearch?text=%D0%B4 ... mmfort.com
----
И да, пользуясь случаем.
Мне нужно получить Текущего пользователя. Delphi. Функция PluginGetData. ID для получения 12. Что-то я вообще не знаю как это сделать. Всяко-разно пробовал — тщетно.
Подскажите, пожалуйста.
Как на дельфи не знаю, но могу привести код с++, может поможет.
Код: Выделить всё
AnsiString aData;//буфер
int iSize = (*CommFortGetData)(12, dwID, NULL, NULL, NULL, NULL); //получаем объем буфера
aData.SetLength(iSize);
(*CommFortGetData)(12, dwID,aData.c_str(),iSize, NULL, NULL);//заполняем буфер
int rOffset=0;
fReadText(aData.c_str(),&rOffset);//тут имя твоего пользователя