[script] Eggdrop RSS Syndication
#76
Bonjour,

Voilà suite à une discutions avec MenzAgitat j'ai voulus avoir son système de tinyurl pour ceux qui ne Save pas ce que c'est :

Tinyurl et le raccourcissement d'url exemple :

Citation :( @Talk-Me ) [ Deux-Sèvres ] Pourquoi pas la chèvre pour nous identifier ? [http://www.lanouvellerepublique.fr/ACTUA...identifier]

Donc ceci et ce que ont obtient lorsqu'on à le TCL rss-synd.. À la base.
Ensuite lorsque nous mettons la procédure de tinyurl ça donne ceci :

Citation :( @Talk-Me ) [ Deux-Sèvres ] Vacances pour agriculteurs : moins rares, plus chères [http://tinyurl.com/3jhz92v]

Donc le système de procédure de tinyurl ma été donnais par MenzAgitat qui ma tout de même demander de préciser une chose :

La proc tinyurl vient du script TkTiny de Tomekk.

Maintenant ont va expliquer ou mettre cette procédure et aussi la donnais serait pas mal Smile.

Voici la procédure :

TCL
proc ::rss-synd::grab_data { url } {
  set get_url_timeout "10"
	set uagent "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2"
  set url [string map -nocase {
	  "&"		"&"
  } $url]
	set tiny_query "http://tinyurl.com/create.php?[::http::formatQuery url ${url}]"
	set tiny_token [http::config -useragent $uagent]
	set tiny_token [http::geturl $tiny_query -timeout [expr $get_url_timeout * 1000]]
	set html_data [http::data $tiny_token]
	::http::cleanup $tiny_token
	set all_n [split $html_data \n]
  set tiny_link ""
	foreach tiny_lines $all_n {
		if {[regexp -all -nocase "<blockquote>(.*)</b><br>(.*)</blockquote>" $tiny_lines]} {
			regsub -all -nocase "<blockquote><b>" $tiny_lines "" tiny_link
			regsub -all -nocase "</b><br><small>(.*)</small></blockquote>" $tiny_link "" tiny_link
		}
	}
	if {($tiny_link != 0) && ($tiny_link ne "")} {
		return $tiny_link
	} {
		return "\00307(problème avec tinyurl.com)\00314 ${url}"
	}
}



Mettre la procédure dans le tcl.

Ensuite mettre ceci aussi :

TCL
if { ([string last "title" $cookie] == 25) || ([string last "title" $cookie] == 19) } {
				set tmp [encoding convertfrom utf-8 $tmp]
 			} elseif { ([string last "link" $cookie] == 25) || ([string last "link" $cookie] == 19) } {
				set tmp [::rss-synd::grab_data $tmp]
			}



Une fois ceci fait supprimer ce que vous avez dans le dossier "rss" ou sont stockait tout vos rss une fois le tout supprimé faite un rehash/restart de votre eggdrop.

Et lorsque votre eggdrop fera une annonce d'un flux rss il affichera avec tynurl !

PS : je ferais une version traduite en français avec un rss-synd.tcl
Qui bien sur sera avec le système de tynurl Smile.

Voila have fun =)
Répondre Avertir
#77
super alias merci Smile
Répondre Avertir
#78
De rien Smile

Mais bientôt version traduite dans quelque temps Smile
Répondre Avertir
#79
Re.

Voila sur le forum il et mis ceci

TCL
set all_n [split $html_data \n]



donc remplacer ceci par :

Citation :set all_n [split $html_data \n]

Le forum n'accepte pas le retour de chariot je ne sais pas pourquoi..

Merci à Cain pour cette précision.
Répondre Avertir
#80
CrazyCat a écrit :Je fournirai ce soir la version modifiée qui intègre ta modif et mon système de raccourcissement d'url.
J'ai complètement oublié de le mettre en téléchargement, heureusement Devil me l'a demandé sur irc. C'est donc à Rss-synd "oqp.me"
Répondre
#81
On n'osait rien dire parce que t'es le chef, mais y'a du laisser-aller :°
Répondre Avertir
#82
Bof, c'est surtout que ça marche pour moi, les autres n'ont qu'à se débrouiller Very Happy
Répondre
#83
Bonjour,

Pensez-vous que toutes les lignes de ce script sont indispensables pour son bon fonctionnement ?
Car sa en fait un packet a modifié et réglé ......
Répondre Avertir
#84
Heu, si je prends la dernière version (version oqp.me), il y a 7 blocs de la forme:
TCL
set rss(machin) {
   "url"                 "http://www.domaine.tld/rss/machin"
   "channels"         "#actu"
   "database"        "./databases/actu.machin.db"
   "output"           "\\\[\002Machin\002\\\] @@item!title@@ : [::oqpme::short @@item!link@@]"
   "trigger"           "!@@feedid@@"
}


Si tu ne veux qu'un flux d'actualités, tu modifies le premier bloc pour qu'il colle à ton besoin et tu supprimes les 6 autres. Si tu as 3 flux, tu édites les 3 premiers et tu supprimes les 4 autres.

Le reste du script, tu ne dois surtout pas y toucher.
Répondre
#85
Ah d'accord, moi je pensais viré toutes la suite du script en bas.

La dernière version tu la DL ou ?
Car j'ai la 0.5b1 , je ne sais pas si c'est la dernière ...

Donc merci a toi, le fichier .db , je doit le créé avant moi même ou il se crééra tous seul ?

Sinon pour cette ligne :

"output" "\\\[\002Slashdot\002\\\] @@item!title@@ (@@item!slash:section@@) - \[string map { \"&from=rss\" \"\" } \"@@item!feedburnerSurprisedrigLink@@\"\]"

Je ne doit rien touché non plus ?
Car j'y comprends rien à ce que sert item , title, slash, string map et tous quoi ...

Merci de votre aide, super forum Smile
Répondre Avertir
#86
La dernière version est à Rss-synd "oqp.me"
Pour output, tout ce qui est entre @@ correspond à un niveau du XML.
Voici deux exemples:
TCL
"output" "\\\[\002Slashdot\002\\\] @@item!title@@ (@@item!slash:section@@) - \[string map { \"&from=rss\" \"\" } \"@@item!feedburnerSurprisedrigLink@@\"\]"


affichera:
[Slashdot] Titre* (Section**) - Lien***
Avec:
* Titre => Ce qui est dans <item><title>ICI</title>
** Section => Ce qui est dans <item><slash section="ICI">
*** Lien => ce qui est dans <item><feedburnerSurprisedrigLink>ICI</feedburnerSurprisedrigLink> , en retirant le "&from=rss" du lien

Autre exemple :
TCL
"output"           "\\\[\002Machin\002\\\] @@item!title@@ : [::oqpme::short @@item!link@@]"


Affichera: [Machin] Titre* : UrlRaccourcie**
Avec:
* Titre => Ce qui est dans <item><title>ICI</title>
** UrlRaccourcie => Ce qui est dans <item><link>ICI</link> modifié par oqp.me
Répondre
#87
ok merci bien

Par contre j'ai pris le oqp.me , que j'ai config un peu, mais je n'es rien qui s'affiche sur mon chan

Citation :}

set rss(PTN) {
"url" "https://www.play-the.net/rss/all.rss"
"channels" "#STRss"
"database" "./databases/PTN.db"
"output" "\\\[\002PTN\002\\\] @@item!title@@ [:Surprisedqpme::short @@item!link@@]"
"trigger" "!@@feedid@@"

}


puis le set default

Citation :{
"announce-output" 3
"trigger-output" 3
"remove-empty" 1
"trigger-type" 0:2
"announce-type" 0
"max-depth" 5
"evaluate-tcl" 0
"update-interval" 5
"output-order" 0
"timeout" 60000
"channels" "#STRss"
"trigger" "!rss @@feedid@@"
"output" "\[\002@@channel!title@@@@title@@\002\] @@item!title@@@@entry!title@@ - @@item!link@@@@entry!link!=href@@"
"user-agent" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11"
"evaluate-tcl" 1
}
}
Répondre Avertir
#88
Il faut attendre 5 à 10 minutes, et tu peux le lancer à la main en tapant !PTN sur le canal.

Et il faut regarder:
- sur le serveur si le fichier databases/PTN.db se crée (il faut que tu aies le répertoire databases déjà créé dans le répertoire eggdrop),
- en party-line, si tu as des erreurs.
Répondre
#89
Alors :

- les 5 à 10 minutes sont déjà passés :/
- !PTN dans le chan ne donne rien
- le répertoire \database est créé par contre le fichier dedans PTN.db ne se créé pas
- aucune erreur dans la PartyLine
Répondre Avertir
#90
salut ,

Je me permet un petit truc qui n'aidera persone, mais ... ( quoique ^^ )
Sur certains serveurs l'utilisation de tunrurl et autres raccourcisseurs d'url est proscrit, et parfois même c'est dans le spamfilter. Afin d'eviter certains petits spameur pour leur sites de p0rn ou autres. Pensez à voir avec les admin du reseau sur lequel vos eggdrop sont avant d'utiliser ce systeme .

Cordialement.
Répondre Avertir


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté