Просмотр полной версии : как сделать чтоб все сообщения принятые icq bot сохранялись в файл?
когда получаеш сообщения от юзера перед обработкой их - сохраняй в файл.
ЗЫ. заипал со своим ботом =\
Так правильно помогли токо с одной функцией) и ... можно код примерный?
function tolog($text) {
$f=fopen("log.txt","a"); // файл лога
fwrite($f,$text."\r\n");
fclose($f);
}
function tolog($text) {
$f=fopen("log.txt","a"); // файл лога
fwrite($f,$text."\r\n");
fclose($f);
}
Молодчик :) Давно пора уже....
То ТС: Ну как? сложно?
я в php 0
А кто мешает выучить? Что же ты бота делать стал раз ничего не знаешь?
создай в папке с ботом файл "log.txt"
и вызывай эту функцию, передавая в неё текст присланый боту.
zip1990, на чем бота пишеш? (или редактируеш)
вот тут описания протокола oscar iserverd1.khstu.ru/oscar/
сообщения сервер шлет как SNAC(04,07) (http://iserverd1.khstu.ru/oscar/snac_04_07.html). принимай его и обработай
SNAC(04,07) имеет такой вид (?? - тебе не нужно, XX XX - ти сообщения (всего 3), YY - длина UINотправителя, ZZ ZZ.. - UINотправителя, RR - длина мессаги, ):
00 04 00 07 00 00 ?? ?? ?? ??
?? ?? ?? ?? ?? ?? ?? ??
XX XX (тут 00 01)
YY
ZZ ZZ ...
?? ??
00 04
00 02 RR RR
...
вот мой пример на перле (в $rs данник принятие из сервера):
$rs =~ /\x00\x04\x00\x07\x00\x00..............(.*)\x00\x04/;
$S_num = substr($1,1,unpack('h',substr($1,0,1)));
print 'num: >'.$S_num."<\n";
if (substr($rs,6,4) eq "\x00\x04\x00\x07"){print 'ITS_MSG ';}
$rs =~ /\x01\x01....\x00\x00(.*)\x00\x0B\x00\x00\x00/;
$msg=$1;
$msg=~s/\x00//ge;
print 'msg: >'.$msg."<\n\n";
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot