Технология создания плагинов и программ-дополнений
Re: Технология создания плагинов и программ-дополнений
если .NET - используй MemoryStream
а вот тот метод что ты написал я чета ни капли не понял.
а вот тот метод что ты написал я чета ни капли не понял.
-
- Администратор
- Сообщения: 6886
- Зарегистрирован: 09:56, 27.06.2005
Re: Технология создания плагинов и программ-дополнений
memcpy(куда {число типа int}, откуда {4х байтовая полученная строка}, 4).
Re: Технология создания плагинов и программ-дополнений
спасибо за новодку) уже работает, но чють по другому в C# нету memcpy, использовал Buffer.BlockCopyMaxim Mirgorodsky писал(а):memcpy(куда {число типа int}, откуда {4х байтовая полученная строка}, 4).
но после этого все равно нужно преобразовывать с 4рех байтного в инт32, вообщем выкрутился)
Re: Технология создания плагинов и программ-дополнений
а BitConvert пробовал?
можн еще пришедшие данные дописывать в MemoryStream а далее уже читать нужное количество:
int count = stream.ReadInt32();
можн еще пришедшие данные дописывать в MemoryStream а далее уже читать нужное количество:
int count = stream.ReadInt32();
-
- Сообщения: 3
- Зарегистрирован: 12:23, 25.03.2009
Re: Технология создания плагинов и программ-дополнений
я не умею ставить ботов и плагины научите плиз срочно!!!!!
и есчё нужен плагин который воспроизводит объявления или чтоб админ заводил в базу и он их говорил
желательные характеристики
ник : VoVcHiK-Bot
IP : скрыт
полное имя : бот VoVcHiKa
дата рождения : завтра
работа : тружусь в чате
дом станица : maximal.ucoz.ru (извените за рекламу)
зарание спасибо
и есчё нужен плагин который воспроизводит объявления или чтоб админ заводил в базу и он их говорил
желательные характеристики
ник : VoVcHiK-Bot
IP : скрыт
полное имя : бот VoVcHiKa
дата рождения : завтра
работа : тружусь в чате
дом станица : maximal.ucoz.ru (извените за рекламу)
зарание спасибо
Re: Технология создания плагинов и программ-дополнений
Сорри админы за офтоп, но ты бы тогда хоть форум прочитал, например как ставить ботов хорошо написано в теме "RSS+викторина ...", плагин надо просто скопировать в соответствующую папку и перезагрузить чат.VoVcHiK1009 писал(а):я не умею ставить ботов и плагины научите плиз срочно!!!!!
и есчё нужен плагин который воспроизводит объявления или чтоб админ заводил в базу и он их говорил
желательные характеристики
ник : VoVcHiK-Bot
IP : скрыт
полное имя : бот VoVcHiKa
дата рождения : завтра
работа : тружусь в чате
дом станица : maximal.ucoz.ru (извените за рекламу)
зарание спасибо
Метод тыка - самы надежный метод в мире.
Re: Технология создания плагинов и программ-дополнений
отправка по UDP в название канала "1" сообщения "123" будет так выглядеть ?
id_куда опубликовать сообщение | длина названия канала | название канала | длина текста | текст
5|0|0|0|1|0|0|0|49|3|0|0|0|49|50|51|
| <- просто чтоб видеть байты.
id_куда опубликовать сообщение | длина названия канала | название канала | длина текста | текст
5|0|0|0|1|0|0|0|49|3|0|0|0|49|50|51|
| <- просто чтоб видеть байты.
Re: Технология создания плагинов и программ-дополнений
код 5 это получение сообщения от чата к боту, а отправка сообщения от бота к чату будет выглядеть так:
Код: Выделить всё
32 00 00 00 04 00 00 00 6D 61 69 6E 02 00 00 00 3A 29
| код 50 |длин канал| назв канал|длин сообщ| текст сообщения
50 4 main 2 :)
Re: Технология создания плагинов и программ-дополнений
спс работает.
Re: Технология создания плагинов и программ-дополнений
Мое видение будущего интерфейса плагинов:
Ни для кого не секрет что использование плагинов намного удобнее чем 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. можно будет избавится от головной боли выяснения на какой же из запросов пришел тот или иной ответ, так как ответ вернется в тоже самое место откуда происходил вызов.
Ни для кого не секрет что использование плагинов намного удобнее чем 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. можно будет избавится от головной боли выяснения на какой же из запросов пришел тот или иной ответ, так как ответ вернется в тоже самое место откуда происходил вызов.
-
- Администратор
- Сообщения: 6886
- Зарегистрирован: 09:56, 27.06.2005
Re: Технология создания плагинов и программ-дополнений
Спасибо за пожелания. Система плагинов будет постепенно модернизироваться. В какой-то момент, возможно, придется отказаться от программ-дополнений, тогда и будет возможна реконструкция в плане запросов/ответов.
Re: Технология создания плагинов и программ-дополнений
[Cooбщение удаленo]
Последний раз редактировалось dv 03:58, 28.06.2012, всего редактировалось 1 раз.
Дополнения для CommFort
Адрес чата: chat.telered.ru
.
Адрес чата: chat.telered.ru
.
Re: Технология создания плагинов и программ-дополнений
Как плугину клиента чата получить имя пользователя и пасс, под которым сидит клиент?
Белорусский сервер чата Commfort IP: 195.222.70.174 Port: 9740
Re: Технология создания плагинов и программ-дополнений
Пароль никак, Имя пользователя можно получить начиная с версии клиента 4.20 при помощи функции CommFortGetData с ID = 12. См описание клиентских плагиновB0chara писал(а):Как плугину клиента чата получить имя пользователя и пасс, под которым сидит клиент?
Re: Технология создания плагинов и программ-дополнений
а есть у каво пример плугина для клиента 4.21а или выложеные подходят?
Белорусский сервер чата Commfort IP: 195.222.70.174 Port: 9740