Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


[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 :

Quote:( @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 :

Quote:( @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 :).

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 :).

Voila have fun =)
#77
super alias merci :)
#78
De rien :)

Mais bientôt version traduite dans quelque temps :)
#79
Re.

Voila sur le forum il et mis ceci


tcl
set all_n [split $html_data \n]


donc remplacer ceci par :

Quote: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.
#80
CrazyCat Wrote: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"
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#81
On n'osait rien dire parce que t'es le chef, mais y'a du laisser-aller :°
Toute l'actualité de mes scripts ici     (dernière mise à jour le 22/04/2020)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
#82
Bof, c'est surtout que ça marche pour moi, les autres n'ont qu'à se débrouiller :D
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#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é ......
#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.
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#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!feedburner:origLink@@\"\]"

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 :)
#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
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#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

Quote:}

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

}


puis le set default

Quote:{
"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
}
}
#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.
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#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
#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.


Forum Jump:


Users browsing this thread: 1 Guest(s)