Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   как сделать чтоб все сообщения принятые icq bot сохранялись в файл? (https://forum.antichat.xyz/showthread.php?t=89421)

zip1990 28.10.2008 14:18

как сделать чтоб все сообщения принятые icq bot сохранялись в файл?
 
В общем нужна помощь)

mr.The 28.10.2008 14:30

когда получаеш сообщения от юзера перед обработкой их - сохраняй в файл.

ЗЫ. заипал со своим ботом =\

zip1990 28.10.2008 14:49

Так правильно помогли токо с одной функцией) и ... можно код примерный?

mr.The 28.10.2008 14:57

PHP код:

function tolog($text) {
    
$f=fopen("log.txt","a"); // файл лога
    
fwrite($f,$text."\r\n");
    
fclose($f);



DDoSька 28.10.2008 20:54

Цитата:

Сообщение от mr.The
PHP код:

function tolog($text) {
    
$f=fopen("log.txt","a"); // файл лога
    
fwrite($f,$text."\r\n");
    
fclose($f);



Молодчик :) Давно пора уже....
То ТС: Ну как? сложно?

zip1990 28.10.2008 21:53

я в php 0

NOmeR1 28.10.2008 22:55

Цитата:

Сообщение от zip1990
я в php 0

А кто мешает выучить? Что же ты бота делать стал раз ничего не знаешь?

zip1990 23.11.2008 03:30

Не работает.

mr.The 23.11.2008 14:00

создай в папке с ботом файл "log.txt"
и вызывай эту функцию, передавая в неё текст присланый боту.

eLWAux 23.11.2008 14:12

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";



Время: 07:33