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

Здесь обсуждаются графические оболочки, боты, языковые файлы и другие дополнения к CommFort 4.
mw
Сообщения: 120
Зарегистрирован: 15:42, 03.11.2007

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

Сообщение mw »

если .NET - используй MemoryStream

а вот тот метод что ты написал я чета ни капли не понял.
Maxim Mirgorodsky
Администратор
Сообщения: 6869
Зарегистрирован: 09:56, 27.06.2005

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

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

memcpy(куда {число типа int}, откуда {4х байтовая полученная строка}, 4).
yaotzin
Сообщения: 105
Зарегистрирован: 01:38, 21.07.2008
Контактная информация:

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

Сообщение yaotzin »

Maxim Mirgorodsky писал(а):memcpy(куда {число типа int}, откуда {4х байтовая полученная строка}, 4).
спасибо за новодку) уже работает, но чють по другому в C# нету memcpy, использовал Buffer.BlockCopy
но после этого все равно нужно преобразовывать с 4рех байтного в инт32, вообщем выкрутился)
mw
Сообщения: 120
Зарегистрирован: 15:42, 03.11.2007

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

Сообщение mw »

а BitConvert пробовал?
можн еще пришедшие данные дописывать в MemoryStream а далее уже читать нужное количество:
int count = stream.ReadInt32();
VoVcHiK1009
Сообщения: 3
Зарегистрирован: 12:23, 25.03.2009

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

Сообщение VoVcHiK1009 »

я не умею ставить ботов и плагины научите плиз срочно!!!!!
и есчё нужен плагин который воспроизводит объявления или чтоб админ заводил в базу и он их говорил

желательные характеристики
ник : VoVcHiK-Bot
IP : скрыт


полное имя : бот VoVcHiKa
дата рождения : завтра
работа : тружусь в чате
дом станица : maximal.ucoz.ru (извените за рекламу)

зарание спасибо
aleks694
Сообщения: 470
Зарегистрирован: 14:04, 24.08.2008

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

Сообщение aleks694 »

VoVcHiK1009 писал(а):я не умею ставить ботов и плагины научите плиз срочно!!!!!
и есчё нужен плагин который воспроизводит объявления или чтоб админ заводил в базу и он их говорил

желательные характеристики
ник : VoVcHiK-Bot
IP : скрыт


полное имя : бот VoVcHiKa
дата рождения : завтра
работа : тружусь в чате
дом станица : maximal.ucoz.ru (извените за рекламу)

зарание спасибо
Сорри админы за офтоп, но ты бы тогда хоть форум прочитал, например как ставить ботов хорошо написано в теме "RSS+викторина ...", плагин надо просто скопировать в соответствующую папку и перезагрузить чат.
Метод тыка - самы надежный метод в мире.
yaotzin
Сообщения: 105
Зарегистрирован: 01:38, 21.07.2008
Контактная информация:

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

Сообщение yaotzin »

отправка по UDP в название канала "1" сообщения "123" будет так выглядеть ?


id_куда опубликовать сообщение | длина названия канала | название канала | длина текста | текст



5|0|0|0|1|0|0|0|49|3|0|0|0|49|50|51|


| <- просто чтоб видеть байты.
Аватара пользователя
-=SJ=-
Сообщения: 246
Зарегистрирован: 02:21, 06.04.2007

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

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

код 5 это получение сообщения от чата к боту, а отправка сообщения от бота к чату будет выглядеть так:

Код: Выделить всё

32 00 00 00 04 00 00 00 6D 61 69 6E 02 00 00 00 3A 29
| код 50    |длин канал| назв канал|длин сообщ| текст сообщения
      50         4        main            2         :)
Аватара пользователя
-=SJ=-
Сообщения: 246
Зарегистрирован: 02:21, 06.04.2007

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

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

Мое видение будущего интерфейса плагинов:
Ни для кого не секрет что использование плагинов намного удобнее чем UDP программ дополнений. Но динамики перехода на написание плагинов не наблюдается. Потому как разработчикам преимуществ в плагинах не намного больше чем в UDP дополнениях. Плагинам же от ботов достался "универсальный" для обоих интерфейс команд, но согласитесь то что было хорошо для UDP ботов то в плагинах можно реализовать намного удобнее. И нужно то всего две функции для "общения" между чатом и плагином(которые уже в принципе есть но используются не на полную силу).
1. Функция PluginProcess(ID, Message) в принципе она используется правильно, но ее надо использовать только для событий которые происходят в чате исключив из нее ответы на запросы плагина.

2. Функцию CommFortGetData(ID, Message): Length в идеале было бы переделать в такую:
CommFortGetData(ID, Message): AnswerCode где AnswerCode код ответа от плагина о завершении операции. И реализовывать через эту функцию все запросы посылаемые от плагина к клиенту.
Например на запрос CommFortGetData(JOIN_CHANNEL, "main") придет в ответ вместо "main" список пользователей канала а AnswerCode будет например:
0 - успешное завершение операции
1 - канал invite only
2 - недозволенное название канала
3 - уже подключен к каналу

При этом мы получим: 1.полный feedback от программы 2. можно будет избавится от головной боли выяснения на какой же из запросов пришел тот или иной ответ, так как ответ вернется в тоже самое место откуда происходил вызов.
Maxim Mirgorodsky
Администратор
Сообщения: 6869
Зарегистрирован: 09:56, 27.06.2005

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

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

Спасибо за пожелания. Система плагинов будет постепенно модернизироваться. В какой-то момент, возможно, придется отказаться от программ-дополнений, тогда и будет возможна реконструкция в плане запросов/ответов.
Аватара пользователя
dv
Сообщения: 1845
Зарегистрирован: 10:28, 11.05.2007
Откуда: Краснодар

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

Сообщение dv »

[Cooбщение удаленo]
Последний раз редактировалось dv 03:58, 28.06.2012, всего редактировалось 1 раз.
Дополнения для CommFort
Адрес чата: chat.telered.ru




.
Аватара пользователя
B0chara
Сообщения: 10
Зарегистрирован: 18:06, 29.03.2009

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

Сообщение B0chara »

Как плугину клиента чата получить имя пользователя и пасс, под которым сидит клиент?
Белорусский сервер чата Commfort IP: 195.222.70.174 Port: 9740
Аватара пользователя
-=SJ=-
Сообщения: 246
Зарегистрирован: 02:21, 06.04.2007

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

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

B0chara писал(а):Как плугину клиента чата получить имя пользователя и пасс, под которым сидит клиент?
Пароль никак, Имя пользователя можно получить начиная с версии клиента 4.20 при помощи функции CommFortGetData с ID = 12. См описание клиентских плагинов
Аватара пользователя
B0chara
Сообщения: 10
Зарегистрирован: 18:06, 29.03.2009

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

Сообщение B0chara »

а есть у каво пример плугина для клиента 4.21а или выложеные подходят?
Белорусский сервер чата Commfort IP: 195.222.70.174 Port: 9740
Закрыто