Технические аспекты создания ботов для CommFort 3.20
Коды
Я качал файл с кодами которыми обмениваются клиент и бот, часть их не работат, да возможно потому что нет прав или еще че го нить. В этом файле не все написано понятно.
Такой вопрос, есть ли возможность получить список всех пользователей находящихся в чате. Там представлен синтаксис такого сообщения, но он почему то не работает.
Такой вопрос, есть ли возможность получить список всех пользователей находящихся в чате. Там представлен синтаксис такого сообщения, но он почему то не работает.
Расширеные возможности бота
Почему бы не дать возможность боту выполнять все функции чата(отправка и прием сообщений, пересылка файлов, голосовая связь, управление игнором) Тогда можно будет сделать нормального клиента под линукс, а то когда запускаешь чат под разными эмуляторами в линуксе, то глюки просто неописуемые:(
Как пересылать ботом на сервер очень длинные сообщения?
Вот есть у меня вот ета функция:
function mes(nomer,kanal,text:string): string;//Функция подготавливает сообщение для отправки его серверу
var
ln: string[4];
tex:string[255];
begin
tex:=tex+text;
//Result:=chr(50)+#0#0#0;// код например 50: послать сообщение в канал
Result:=nomer+#0#0#0;
ln:=chr(Length(kanal))+#0#0#0; // длина названия канала
Result:=Result+ln+kanal; // дописываем сюда длину и название канала
ln:=chr(Length(tex))+#0#0#0; // длина сообщения
Result:=Result+ln+tex; // дописываем ее и сам текст сообщения в конец строки
text:='';
tex:='';
end;
Но она пересылает как я понял только 255 символов. Вобщем с помощью нее у меня получаеться пересылать около 255 символов. А мне нужно за раз пересылать 3000 символов. Как ето сделать ?
Помогите... Heeelp
function mes(nomer,kanal,text:string): string;//Функция подготавливает сообщение для отправки его серверу
var
ln: string[4];
tex:string[255];
begin
tex:=tex+text;
//Result:=chr(50)+#0#0#0;// код например 50: послать сообщение в канал
Result:=nomer+#0#0#0;
ln:=chr(Length(kanal))+#0#0#0; // длина названия канала
Result:=Result+ln+kanal; // дописываем сюда длину и название канала
ln:=chr(Length(tex))+#0#0#0; // длина сообщения
Result:=Result+ln+tex; // дописываем ее и сам текст сообщения в конец строки
text:='';
tex:='';
end;
Но она пересылает как я понял только 255 символов. Вобщем с помощью нее у меня получаеться пересылать около 255 символов. А мне нужно за раз пересылать 3000 символов. Как ето сделать ?
Помогите... Heeelp
Re: Как пересылать ботом на сервер очень длинные сообщения?
смотри тут: http://www.commfort.com/rus/forum/viewt ... =8884#8884 (предыдущая страница...)Rulezzzz писал(а):она пересылает как я понял только 255 символов. Вобщем с помощью нее у меня получаеться пересылать около 255 символов. А мне нужно за раз пересылать 3000 символов
Как послать сообщение в приват !
Люди подскажите как послать сообщение в приват другому пользователю !
Я пробовал в приват посылать приходит пустая строчка.
Пользовался етой функцией:
function mes(nomer,kanal,text:string): string;//Функция подготавливает сообщение для отправки его серверу
var
ln: string[4];
tex:string[255];
begin
tex:=tex+text;
//Result:=chr(50)+#0#0#0;// код например 50: послать сообщение в канал
Result:=nomer+#0#0#0;
ln:=chr(Length(kanal))+#0#0#0; // длина названия канала
Result:=Result+ln+kanal; // дописываем сюда длину и название канала
ln:=chr(Length(tex))+#0#0#0; // длина сообщения
Result:=Result+ln+tex; // дописываем ее и сам текст сообщения в конец строки
text:='';
tex:='';
end;
И далее:
if (posn('!проф',pop3,1)=1) then
begin
nomer1:=chr(63);//Опубликовать сообщение в приват нужен админ боту
UDP1.SendText(mes(nomer1,uiu3,'Немного поподробнее));
В результате в приват приходит только ник бот и все..
Помогиите ...HEEElppp
Я пробовал в приват посылать приходит пустая строчка.
Пользовался етой функцией:
function mes(nomer,kanal,text:string): string;//Функция подготавливает сообщение для отправки его серверу
var
ln: string[4];
tex:string[255];
begin
tex:=tex+text;
//Result:=chr(50)+#0#0#0;// код например 50: послать сообщение в канал
Result:=nomer+#0#0#0;
ln:=chr(Length(kanal))+#0#0#0; // длина названия канала
Result:=Result+ln+kanal; // дописываем сюда длину и название канала
ln:=chr(Length(tex))+#0#0#0; // длина сообщения
Result:=Result+ln+tex; // дописываем ее и сам текст сообщения в конец строки
text:='';
tex:='';
end;
И далее:
if (posn('!проф',pop3,1)=1) then
begin
nomer1:=chr(63);//Опубликовать сообщение в приват нужен админ боту
UDP1.SendText(mes(nomer1,uiu3,'Немного поподробнее));
В результате в приват приходит только ник бот и все..
Помогиите ...HEEElppp
Как же отослать сообщение в приват ?
Как же отослать сообщение через бота в приват другому пользователю какой функцией воспользоваться подскажите.
Поподробнее
А можно поподробнее ! Просто у меня сейчас полный завал я пишу бота.Diver писал(а):Stream:=TStringStream.Create(Data);
и далее разбирать/собирать строку через методы Read/Write/ReadString.
Rulezzzz
число(63) + пользователь() + текст(сообщение)
при работе с StringStream о представлении чисел в памяти заботиться не надо.
пользователь() - это:
ник() + ip() + mac()
Например мне нужно отправить сообщение "Ваше время истекло повторите попытку." в приват пользователю с
ником Rotfild . Как ето оформить функционально ??
Если можно с подробным описанием всего.
Ну кто нибудь помогите!!
Ну кто нибудь помогите ! Напишите функцию которая будет отсылать сообщения в приват ! Пожалуста оч надо.
Как не может почему ?
Как неможет почему а если мне надо через бота ему пароль отослать?
Я пишу игру. И там в начале игры бот отсылает каждому пользователю пароль и куда мне пароль тогда отсылать если не в приват ?
Я пишу игру. И там в начале игры бот отсылает каждому пользователю пароль и куда мне пароль тогда отсылать если не в приват ?