DragoonMaster
Messages postés60Date d'inscriptiondimanche 15 juin 2003StatutMembreDernière intervention16 mars 2009
-
21 déc. 2005 à 10:08
DragoonMaster
Messages postés60Date d'inscriptiondimanche 15 juin 2003StatutMembreDernière intervention16 mars 2009
-
23 déc. 2005 à 20:02
Je m'explique, J'ai un code qui me lis via socket un fichier rss sur un site et qui me le copie sur un .txt en local. et qui ensuite copie le contenue de ce point texte sur mon chan ....
Mais evidement, le point rss il y a des balises, et j'aimerais, pour un souci de clarté, les enlever, en metant par exemple des $replace et/ou des $remove, mais je ne sais pas ou les mettres dans mon code deja existant !!!
Voici mon code :
alias open_socket {
sockclose news
sockopen news grosnoob.info 80
}
on *:sockopen:news:{
if ($sockerr) { return }
else {
sockwrite -tn $sockname GET /alsagamer/forums/extern.php?action=active&type=RSS&fid=16 HTTP/1.1 $+ $crlf $+ Host: grosnoob.info $+ $crlf $+ Connection: close $+ $str($crlf, 2)
}
}
on *:sockread:news:{
var %r
sockread %r
while ($sockbr) {
tokenize 32 %r
if ($sock($sockname).mark != 1) {
if ((HTTP/1.* iswm $1) && (200 == $2)) {
write -c news.txt
}
elseif (!$1) {
if (!$sock($sockname).mark) {
sockmark $sockname 1
}
}
}
else {
write news.txt %r
}
sockread %r
}
}
alias news_say { var %i 1, %f news.txt
while (%i <= $lines(%f)) {
msg $active $read(%f, %i)
inc %i
}
}
A voir également:
Modification d'un .txt et utilisation concrete ...
DragoonMaster
Messages postés60Date d'inscriptiondimanche 15 juin 2003StatutMembreDernière intervention16 mars 20091 21 déc. 2005 à 16:02
Si tu repond a cette derniere question :)
J'ai donc ce bout de code :
alias news_say { var %i 1, %f news.txt, %n = http://www.grosnoob.info/alsagamer/forums/viewforum.php?id=16News while (%i <= $lines(%f)) {
msg $active $remove($replace($read(%f,%i),<title>,Titre : ,Posté le:,Date:,$chr(9),$chr(39),<link>,Lien : $chr(32) ), ,</title>,, ,
,<description>,</description>,</link>,+0100,<![CDATA[Forum:,]]>,[, ,],;action =new,%n)
inc %i
}
}
et ca me donne encore ca :
(15:57:40) (@Dr4gOoN)
(15:57:40) (@Dr4gOoN) 1e
(15:57:40) (@Dr4gOoN) Titre :La ZiLAN #2
(15:57:40) (@Dr4gOoN) 5e
(15:57:40) (@Dr4gOoN) Lien : http://www.grosnoob.info/alsagamer/forums/viewtopic.php?id=123& (15:57:40) (@Dr4gOoN) 111
(15:57:40) (@Dr4gOoN)
(15:57:40) (@Dr4gOoN) Auteur: XNoll
(15:57:40) (@Dr4gOoN) Date: Fri, 05 Nov 2004 08:49:27
(15:57:40) (@Dr4gOoN) Dernier message: Thu, 16 Dec 2004 21:37:24
(15:57:40) (@Dr4gOoN)
(15:57:40) (@Dr4gOoN) 12
(15:57:40) (@Dr4gOoN) </channel>
(15:57:40) (@Dr4gOoN) </rss>
(15:57:40) (@Dr4gOoN) 0
car enfaite, les les lignes vides = $chr(9) j'aimerais les remplacé par des $chr(32) mais, si je fais ca, il ne me li pas le .txt juska la fin (surement a cause du inc %i)
comment je peux faire ??
de plus, j'ai ces numeros, et je ne sais pas d'ou il vienne (12/0/111) ds mon fichier original (sur le site) il n'y sont pas, d'ou vienne til ???
DragoonMaster
Messages postés60Date d'inscriptiondimanche 15 juin 2003StatutMembreDernière intervention16 mars 20091 21 déc. 2005 à 12:07
C'est bien gentil, mais j'aimerais savoir OU je dois le mettre ds mon code ....
je ne sais pas OU le placer (si tu pouvais REPRENDRE mon code, pour l'ajouté ..)
DragoonMaster
Messages postés60Date d'inscriptiondimanche 15 juin 2003StatutMembreDernière intervention16 mars 20091 23 déc. 2005 à 20:02
J'ai trouvé, je les vire pas sur le read, mais sur le write, ca donne ca :
alias open_socket {
sockclose news
sockopen news grosnoob.info 80
}
on *:sockopen:news:{
if ($sockerr) { return }
else {
sockwrite -tn $sockname GET /alsagamer/forums/extern.php?action= active&type=RSS&fid=16 HTTP/1.1 $+ $crlf $+ Host: grosnoob.info $+ $crlf $+ Connection: close $+ $str($crlf, 2)
}
}
on *:sockread:news:{
var %r, %flien = http://www.grosnoob.info/alsagamer/forums/viewforum.php?id=16, %rubrique = News
sockread %r
while ($sockbr) {
tokenize 32 %r
if ($sock($sockname).mark != 1) {
if ((HTTP/1.* iswm $1) && (200 == $2)) {
write -c news.txt
}
elseif (!$1) {
if (!$sock($sockname).mark) {
sockmark $sockname 1
}
}
}
else {
write news.txt $remove($replace(%r,<title>,Titre: $chr(32),Posté le:,Date:,<link>,Lien: $chr(32),!,!,$chr(9),$chr(32)), ,</title>,, ,
,<description>,</description>,</link>,+0100,<![CDATA[Forum:,]]>,[, ,],;action =new,&,%flien $+ %rubrique,</rss>,</channel>)
}
sockread %r
}
}
alias news_say { var %i 1, %j 2, %f = news.txt
while %i <= $lines(%f) {
msg $active $read(%f,%i)
inc %i
}
}
}
J'ai quand meme un ptit souci, quand je recupere mon fichier rss via socket, pour le copier ds mon "news.txt" il y a des chiffres qui s'ajoute, et je sais pas trop pk, et surtout, comment eviter ca ...