/news (genere des news aléatoire via sockets)

Contenu du snippet

il sufit de taper /news et vous vous retrouver avec plusieur news aléatoire

Source / Exemple :


; /News, permet de generé des news aléatoire
; par arround - arround@eXagon.org
; crée le 18 mai 2003

on *:sockopen:news:{
  ; on ouvre la socket et faisont notre demande pour récuperé le code source de la page /index.cgi du site avec comme protocole http 1.0
  sockwrite -nt $sockname GET /index.cgi HTTP/1.0
  sockwrite -nt $sockname
}
on *:sockread:news:{
  ; on recupere les données de la page index.cgi
  sockread %news
  ; on tokenize avec le char 32 les donées et on les traites avec un regex de facon a n'avoir aucun meta tag
  tokenize 32 $regstrip(%news)
  ; si nbsp est dans la ligne et que le mot N°6 n'est pas nul  on écrit le resultat dans News.txt
  if (nbsp isin $1) && ($6) {
  ; on écrit le resultat dans News.txt en remplacant nbsp par un espace
    write News.txt $replace($1-,nbsp,$chr(32))
  }
}
  ; petit alias permetant de stripter un code source de ses meta tag (merci BombStrike hehe)
alias regstrip { var %o,%g = $1-,%b = $regsub(%g,/<[^>]+>/g,,%o) | return $remove(%o,$chr(59),$chr(38)) }
on *:sockclose:news:{
  ; le traitement pour le mode aléatoire commence ici, ici on récupere le dernier mot de du code source pour le supprimer qui a l'origine est une date
  var %a $read(News.txt) , %b = $gettok(%a,0,32) , %c = $gettok(%a,%b,32)
  ; enfin on affiche le resultat et on supprime le fichier news.txt
  echo -a $+($chr(2),News:,$chr(2)) $remove(%a,%c)
  write -c news.txt
}
alias news { sockopen news www.legalnews.fr 80  }

Conclusion :


si un bug subsiste arround@eXagon.org ou irc.eXagon.org #eXagon, merci

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.