Технология создания плагинов и программ-дополнений

Здесь обсуждаются графические оболочки, боты, языковые файлы и другие дополнения к CommFort 4.
DATAMAN
Сообщения: 13
Зарегистрирован: 06:19, 21.08.2009

Re: Технология создания плагинов и программ-дополнений

Сообщение DATAMAN »

Доброго, чего там у кого. Вопрос к мастерам . Возникла необходимость написания бота для сервера. 4 написаных бота для клиентов работают успешно . Собственно вопрос . Где можно ознакомиться с кардинальными отличиями бота серверного от бота клиентского . Именно бота.
Если танный вопрос уже освещался на страницах уважаемого мною форума, прошу кинуть ссылку.
Спасибо.
Аватара пользователя
-=SJ=-
Сообщения: 246
Зарегистрирован: 02:21, 06.04.2007

Re: Технология создания плагинов и программ-дополнений

Сообщение -=SJ=- »

DATAMAN писал(а):Доброго, чего там у кого. Вопрос к мастерам . Возникла необходимость написания бота для сервера. 4 написаных бота для клиентов работают успешно . Собственно вопрос . Где можно ознакомиться с кардинальными отличиями бота серверного от бота клиентского. Именно бота.
Если танный вопрос уже освещался на страницах уважаемого мною форума, прошу кинуть ссылку.
Спасибо.
Если под словом «бот» подразумевается UDP-дополнение, то под сервер написать его невозможно, так как под сервер реализован только механизм плагинов.
Аватара пользователя
VIRUS
Сообщения: 174
Зарегистрирован: 13:15, 23.11.2008

Re: Технология создания плагинов и программ-дополнений

Сообщение VIRUS »

Maxim Mirgorodsky проверьте сообщение с кодом 90 для серверных плагинов.
Пользователь думает, что в килобайте 1000 байт, а программист думает, что в километре 1024 метра.
Аватара пользователя
VIRUS
Сообщения: 174
Зарегистрирован: 13:15, 23.11.2008

Re: Технология создания плагинов и программ-дополнений

Сообщение VIRUS »

Вот в чем вопрос. На изображении я подчеркнул байты, которые как я понял должны быть размером текста (занимать в массиве с сообщением 4 байта). Но как видно они занимают 1 байт.

http://62.149.5.16/i4/e7/2a/3dac1591384 ... c19890.bmp

P.S. Этот вопрос относится к серверным плагинам, а точнее к сообщению с кодом 90.
Пользователь думает, что в килобайте 1000 байт, а программист думает, что в километре 1024 метра.
Аватара пользователя
-=SJ=-
Сообщения: 246
Зарегистрирован: 02:21, 06.04.2007

Re: Технология создания плагинов и программ-дополнений

Сообщение -=SJ=- »

http://disy.ru/pic/error_2009_09_11_06_57_33.jpg
Как видно из изображения там все правильно
Аватара пользователя
VIRUS
Сообщения: 174
Зарегистрирован: 13:15, 23.11.2008

Re: Технология создания плагинов и программ-дополнений

Сообщение VIRUS »

Число 08 во второй строке - длина темы "НАШ ЧАТ!". Тогда дожно быть так 08 00 00 00 СD C0 D8 20 D7 C0 D2 21.
Число 10 в третьей строке - длина времени смены темы, тогда так 10 00 00 00 30 39 2E 30 39 3E 32 30 30 39 20 31 37 3A 35 34.
Число 05 тоже в третьей строке, это размер ника, тогда так 05 00 00 00 50 52 4F 46 49.
Последний раз редактировалось VIRUS 20:07, 11.09.2009, всего редактировалось 1 раз.
Пользователь думает, что в килобайте 1000 байт, а программист думает, что в километре 1024 метра.
Аватара пользователя
-=SJ=-
Сообщения: 246
Зарегистрирован: 02:21, 06.04.2007

Re: Технология создания плагинов и программ-дополнений

Сообщение -=SJ=- »

VIRUS писал(а):Число 08 во второй строке - длина темы "НАШ ЧАТ!". Тогда дожно быть так 08 00 00 00 СD C0 D8 20 D7 C0 D2 21.
Число 10 в третьей строке - длина времени смены темы, тогда так 10 00 00 00 30 39 2E 30 39 3E 32 30 30 39 20 31 37 3A 35 34.
Число 05 в тоже в стретьей строке, это размер ника, тогда так 05 00 00 00 50 52 4F 46 49.
Описания формата темы не нашел... но предположу, что для экономии - числа (внутри текста темы) действительно стали однобайтовыми, сейчас проверить не могу, но наверное это потому, что длина темы не может превышать 255 символов, ну а длина ника и времени тем более.
Maxim Mirgorodsky
Администратор
Сообщения: 6869
Зарегистрирован: 09:56, 27.06.2005

Re: Технология создания плагинов и программ-дополнений

Сообщение Maxim Mirgorodsky »

Эта проблема уже проявлялась ранее, но касалась сообщения с другим идентификатором. К сожалению, упустили что она присутствует еще в одном месте.

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

Некорректной работы плагина при переходе к следующей версии быть не должно, потому что старый формат оставим при идентификации версии плагина 4.00-4.30.
DATAMAN
Сообщения: 13
Зарегистрирован: 06:19, 21.08.2009

Re: Технология создания плагинов и программ-дополнений

Сообщение DATAMAN »

И опять вопрос. Может не актуальный - для кого как . Ответа я чтото не нашёл.
Суть вопроса .
Как отследить отправку приглашения в непубличный канал одного юзера другому ?
В таблице «Состав сообщений, отправляемых клиентом чата» и «Состав сообщений, принимаемых клиентом чата»
Для чего нужно ? Есть N каналов, доступ в который строго ограничен. Но там появляются изредка юзеры, доступ которым никто не давал. То , есть, каким то образом они получают приглашения в канал , а потом , раздают друг другу.
И ещё . Какой код (может я не внимательно читал) удалит пользователя из определённого канала . То есть - попросту говоря - не даст войти пользователю в канал. Бот будет проверять в цикле список зарегистрированных в этом канале пользователей и выбрасывать нелегитимных )) .
Спасибо
Maxim Mirgorodsky
Администратор
Сообщения: 6869
Зарегистрирован: 09:56, 27.06.2005

Re: Технология создания плагинов и программ-дополнений

Сообщение Maxim Mirgorodsky »

Отправку приглашения удаленно отследить нельзя.

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

Не дать войти в канал можно с помощью соответствующего ограничения ("Запретить доступ к каналу"). В случае ограничения по диапазону IP-адресов эта мера может использоваться как дополнительная для защиты канала от посторонних пользователей.
DATAMAN
Сообщения: 13
Зарегистрирован: 06:19, 21.08.2009

Re: Технология создания плагинов и программ-дополнений

Сообщение DATAMAN »

Если у канала установлена опция "Вход только по приглашению", то попасть в него может лько модератор канала, либо приглашенный пользователь.
Именно с этим и трудность. Как то получают неавторизованые в канале юзеры приглашения .
Не дать войти в канал можно с помощью соответствующего ограничения ("Запретить доступ к каналу"). В случае ограничения по диапазону IP-адресов эта мера может использоваться как дополнительная для защиты канала от посторонних пользователей.
Сеть 192.168.0./24 . С ограничениями по ай пи не получится .. То есть, чувствую, придётся - в цикле боту крутить лист юзеров, и если кто лишний в канале - кик его . Так ?
Maxim Mirgorodsky
Администратор
Сообщения: 6869
Зарегистрирован: 09:56, 27.06.2005

Re: Технология создания плагинов и программ-дополнений

Сообщение Maxim Mirgorodsky »

Проще конечно выяснить кто именно приглашает сторонних пользователей.

Но можно написать бота или плагин, который будет устанавливать ограничения в случае присоединения к каналу нежелательных пользователей. Причем циклов делать необязательно, потому что существует событие "Присоединение пользователя к каналу". Как для серверных, так и для клиентских дополнений.
DATAMAN
Сообщения: 13
Зарегистрирован: 06:19, 21.08.2009

Re: Технология создания плагинов и программ-дополнений

Сообщение DATAMAN »

существует событие "Присоединение пользователя к каналу".
- ИЕЕЕЕССС !
Проще конечно выяснить кто именно приглашает сторонних пользователей.
А с этого момента - поподробнее. Кроме как социоинженерии - есть методы ? Это можно отследить - в ЛОКАЛЬНЫХ логах юзера ? В каких нить эвентах сервера ? Я вроде как и не нашел. Может не то искал ? Что именно, по Вашему уважаемому мнению стоит искать, дабы идентифицировать ФАКТ отправки приглашения юзеру ? Тонятно, что одно событие - Пользователь вошёл в канал - будет перехвачено . Но . ЧТО ПРЕДШЕСТВОВАЛО ему ? Что породило его ? Вот в чём вопрос. ))
Спасибо.
Maxim Mirgorodsky
Администратор
Сообщения: 6869
Зарегистрирован: 09:56, 27.06.2005

Re: Технология создания плагинов и программ-дополнений

Сообщение Maxim Mirgorodsky »

К сожалению, выявить факт приглашения в канал можно только посмотрев лог приглашенного клиента (там самой первой строкой должно быть написано кто пригласил).
DATAMAN
Сообщения: 13
Зарегистрирован: 06:19, 21.08.2009

Re: Технология создания плагинов и программ-дополнений

Сообщение DATAMAN »

Maxim Mirgorodsky
Это уже кое что .. Давайте анализировать ситуацию дальше.
1. Да. Действительно, в канале, в который происходит приглашение появляется следующая строка .
USER_NAME пригласил Вас в канал CHANEL_NAME, где USER_NAME и CHANEL_NAME имя пригласившего и название канала.
2. Данная строчка отображается как и все служебные мессаджи в чате - то есть сереньким таким цветом.

Выше сказанное позволяет утверждать, что данная строка генерируется исключительно самим чатом. По получении КАКОГО ТО КОДА. Который от чего то
а) Не обрабатывается лог врайтерами,
б) Не приведён в списке кодов принимаемых и отправляемых клиентами.
Как следствие №1 - Возникает желание узнать сий таинственный код . ))) Для решения поставленной задачи,
Как следствие №2 - Появляется ещё большее желание узнать иные, незадокументированные коды передаваемые и принимаемые клиентом для расширений функционирования КЛИЕНТА.

Полагаю, желания вполне разумные, никакого деструктивного воздействия (упаси мя Боже) не замысливается.
Спасибо.
Закрыто