Технические аспекты создания ботов для CommFort 3.20

Здесь обсуждаются графические оболочки, боты, языковые файлы и другие дополнения к CommFort 3.
Закрыто
Аватара пользователя
Diver
Сообщения: 140
Зарегистрирован: 21:55, 21.05.2007

Сообщение Diver »

Пример отправки сообщения клиенту:
http://rapidshare.com/files/68148793/UDPSample.rar
http://ifolder.ru/4044443
без использования Indy. В архиве исходник на Delphi, 14 Кб.
Аватара пользователя
BoGuS
Сообщения: 91
Зарегистрирован: 17:03, 11.01.2007
Откуда: Украина, Харьков
Контактная информация:

Сообщение BoGuS »

Вот спасибо :) Ждите скоро моего бота... осталось только доработать работу с плагинами...
ruslan
Сообщения: 76
Зарегистрирован: 18:10, 21.10.2005

Сообщение ruslan »

BoGuS писал(а):Вот спасибо :) Ждите скоро моего бота... осталось только доработать работу с плагинами...
Будем ждать! ты единственная надежда - хотелось бы видить в твоем боте такой же функционал как в боте фрутти, но чтоб все работало без глюков как в его боте! Если надо будет с тестом помочь пиши в асю!
Аватара пользователя
BoGuS
Сообщения: 91
Зарегистрирован: 17:03, 11.01.2007
Откуда: Украина, Харьков
Контактная информация:

Сообщение BoGuS »

Ну сам бот будет предоставлять только возможность поддержки плагинов и лог событий чата, всё остальное будет осуществлено с помошью плагинов: моих или же других людей. Вместе с ботом будет один плагин с исходниками, который демонстрирует работу с плагинами, также я постараюсь сделать плагин АнтиМат и выложить его вместе с ботом.
Более подробное описание бота я оставил на своем сайте www.bogus.org.ua
Я бы изменил мир, но Бог не дает мне исходники.
Изображение
Мой сайт
els
Сообщения: 9
Зарегистрирован: 15:16, 10.11.2007

Сообщение els »

Как нужно сформировать сообщение, чтобы оно отображалось, как буд-то бы его отправили клавишей F9?
Аватара пользователя
Diver
Сообщения: 140
Зарегистрирован: 21:55, 21.05.2007

Сообщение Diver »

Опубликовать состояние в канал:
--
число(51) + текст(название канала) + текст(состояние)
--
Подробное описание формата сообщений здесь:
http://www.commfort.com/tmp/bots_inf.txt

Также, хочу обратить внимание, что перед названием и текстом в канал должно стоять число (4 байта), а не строка типа IntToStr(Length(st)) (delphi).
Последний раз редактировалось Diver 18:27, 10.11.2007, всего редактировалось 1 раз.
els
Сообщения: 9
Зарегистрирован: 15:16, 10.11.2007

Сообщение els »

понял, спасибо
просто не думал, что это есть состояние
Аватара пользователя
Diver
Сообщения: 140
Зарегистрирован: 21:55, 21.05.2007

Сообщение Diver »

В версии 3.20 исчерпаны практически все возможности протокола третьей версии.
Разве нельзя в 3.х добавить возможность изменения состояния ботом (и получение информации о статусе пользователей), смены имени, идентификацию пола пользователя, работу с доской объявлений (с правами администратора)?
Maxim Mirgorodsky
Администратор
Сообщения: 6867
Зарегистрирован: 09:56, 27.06.2005

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

Даю ответ на поставленный вопрос: можно :).
koliangtu
Сообщения: 11
Зарегистрирован: 16:15, 28.10.2007

Сообщение koliangtu »

КТО НИБУДЬ... помогите пожалуйста! как этот пример-
http://rapidshare.com/files/68148793/UDPSample.rar
будет выглядеть в visual basic`е????
4free
Сообщения: 2
Зарегистрирован: 21:32, 24.11.2007

Сообщение 4free »

Вообщем у меня пару пожеланий к Разрабам насчет так называемых "плагинов"... то что можно было сделать куда лучшем и удобнее через те же dll это понятно, но раз пошли другим путем, то слухайте ))

1. каждый уважающий себя разраб сетевых приложений впихивает в заголовок так называемый MAGIC ( типа идентификатор того что данный пакет принадлежит вашему приложению) и как минимум длину данных пакета.. это вам на заметку... если пакеты склеиваются их будет очень сложно обработать при вашем сегодняшнем подходе..
предлагаю как минимум такой вариант:

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

#define COMMFORT_MAGIC  666

 struct header
{
   int magic;
   int message;
   int size; 
};

struct packet
{
  header hdr;
  char* data;
}
2. порт на который надо отправлять пакеты надо указывать явно, а не вылавливать самому... причина левые пакеты...

3. добавить еще возможность смены состояния (типа отошел, занят) и etc.

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

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

Есть возможность в клиент текущей версии добавить еще несколько команд для работы с ботом. Хотелось бы выслушать пожелания (изменение состояния и работа с доской объявлений уже учтены).
Аватара пользователя
Skif
Сообщения: 390
Зарегистрирован: 11:29, 01.10.2007
Контактная информация:

Сообщение Skif »

1. возможность отправки\приемки ЛС
2. приход\уход нового клиента в конкретный канал
3. по возможности в шаблон пользователь() ключить идентификатор - пол. по примеру:
текст(Ник пользователя) + текст(IP-адрес пользователя) + текст(MAC-адрес пользователя)+текст(пол)
А еще лучше иметь возможность получать информацию о пользователе (полное имя, дата рождения, адрес и т.д. )
Maxim Mirgorodsky
Администратор
Сообщения: 6867
Зарегистрирован: 09:56, 27.06.2005

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

3. по возможности в шаблон пользователь() ключить идентификатор - пол. по примеру:
текст(Ник пользователя) + текст(IP-адрес пользователя) + текст(MAC-адрес пользователя)+текст(пол)


В такой форме это приведет к несовместимости с текущими ботами, что недопустимо...
Chief
Сообщения: 17
Зарегистрирован: 22:10, 26.07.2007
Откуда: OpenProject

Сообщение Chief »

Maxim Mirgorodsky писал(а):В такой форме это приведет к несовместимости с текущими ботами, что недопустимо...

Я не думаю что если добавить в конец строки, это повлияет на работу предыдущих ботов, т. к. (ИМХО) все считывают информацию по документации, а значит конец сообщения будут отсекать. И еще не (текст)пол, а (число)пол 0 - М, 1 - Ж.

По поводу новых функций,
хотелось бы чтобы была возможность считывать бан-лист и удалять баны из него. принимать/отправлять ПМ (это в принципе уже многие просят, по-этому...).
Закрыто