Tcl de recherche google Googlesearch.tcl
#8
Salut à toutes et à tous.

J'ai porté les quelques modifications au script, et je l'ai commenté un maximum pour que les débutants (enfin, ceux qui le sont encore plus que moi) puissent le comprendre.

le voici donc. Je le met en balise tcl et non pas en joint de manière a faciliter la lecture et la compréhension sans demander de téléchargement.

tcl
#############
## GNU/GPL ##
######################################
# see www.gnu.org/licenses/agpl.txt  #
######################################

#je commente la source un maximum pour les débutants.
#ici vous définissez les commande à taper sur le salon pour effectuer des recherches.

#commande recherche google classique
set ::cmd "!search"
#commande recherche google image
set ::imgcmd "!images"
#commande recherche google video
set ::vidcmd "!videos"
#commande pour connaitre la dernière recherche effectuée
set ::lastcmd "!lastsearch"
#commande pour obtenir de l'aide sur la recherche
set ::helpcmd "!helpsearch"
# auteur du script. merci de ne pas le modifier
set ::author "BlackNight"
# version du script
set ::scriptver "1.1.1"

#ici les URL de base dans lesquels seront implémentés les recherches
set ::vidbase "http://video.google.fr/videosearch?q="
set ::googlebase "http://www.google.fr/search?hl=fr&q="
set ::imgbase "http://images.google.fr/images?hl=fr&q="

#ici les salons ou les commande de recherche sont autorisés.
set ::chan {
"#accueil"
"#les-tenebres"
"#la_tour_des_anges"
}

#ici on définis les binds, je pense que les noms sont parlants ...
bind pub - $::cmd google_search
bind pub - $::lastcmd google_lastsearch
bind pub - $::imgcmd google_imgsearch
bind pub - $::vidcmd google_vidsearch
bind pub - $::helpcmd google_help

 
#ici le proc re recherche classique
#le foreach nous sert rammener la liste des salons définis plus haut, et le string match à vérifier 
#si le salon sur lequel est tapé la command est autorisé.
#s'il ne l'est pas, il ne se passera rien.
#
#le join, nous permet de mettre le + entre chaque mot qui sera tapé, et donc ca nous donnera un url comme il faut.
#les définitions de variables suivantes vont nous permettre de donner le lien, mais aussi de "mémoriser" la dernière recherche
# et la stocker dans $::url ainsi que le nom de celui qui a fait la recherche dans $::unick
proc google_search {nick host hand chan arg} {
foreach google $::chan {
 if [string match -nocase $google $chan]  {
set search [join [lrange $arg 0 end] +]
set base $::googlebase
set ::url "$base$search"
set ::unick $nick
puthelp "PRIVMSG $chan :\002\00307$::unick \00312votre recherche se trouve sur\00303 $::url \002\003"
}
}
}

#le même principe que le proc de recherche classique est appliqué ici
proc google_imgsearch {nick host hand chan arg} {
foreach google $::chan {
 if [string match -nocase $google $chan]  {
set search [join [lrange $arg 0 end] +]
set base $::imgbase
set ::url "$base$search"
set ::unick $nick
puthelp "PRIVMSG $chan :\002\00307$::unick \00312votre recherche se trouve sur\00303 $::url \002\003"
}
}
}

#le même principe que le proc de recherche classique est appliqué ici
proc google_vidsearch {nick host hand chan arg} {
foreach google $::chan {
 if [string match -nocase $google $chan]  {
set search [join [lrange $arg 0 end] +]
set base $::vidbase
set ::url "$base$search"
set ::unick $nick
puthelp "PRIVMSG $chan :\002\00307$::unick \00312votre recherche se trouve sur\00303 $::url \002\003"
}
}
}

#Ici, on ne fait que reprendre nos variables $::url et $::unick pour donner la dernière recherche effectuée.
proc google_lastsearch {nick host hand chan arg} {
foreach google $::chan {
 if [string match -nocase $google $chan]  {
puthelp "PRIVMSG $chan :\002\00312La dernière recherche effectuée par\00312\00307 $::unick\00307 \00312est\00312 \00303$::url\00303\002"
}
}
}

#ici on définis les messages d'aide à la recherche, les variables des commandes définis plus haut sont utilisées
#de manière a ne pas réediter cette partie en cas de changement du nom des commandes
#Je vous demanderai encore une fois de ne pas enlever mon pseudo à la dernière ligne.
proc google_help {nick host hand chan arg} {
foreach google $::chan {
 if [string match -nocase $google $chan]  {
putquick "NOTICE $nick :\00312Pour faire une recherche sur google \00313-> \00303$::cmd \00307<votre recherche>\003"
putquick "NOTICE $nick :\00312Pour faire une recherche d'image sur google \00313-> \00303$::imgcmd \00307<votre recherche>\003"
putquick "NOTICE $nick :\00312Pour faire une recherche de vidéo sur google \00313-> \00303$::vidcmd \00307<votre recherche>"
putquick "NOTICE $nick :\00312Cette fonctionalité vous est proposée par \002BlackNight\002"
 
 }
}
}

#ici un indicateur party-line/telnet qui nous informe du chargement du script.
putlog "GoogleSearch $::scriptver par $::author chargé avec succès"


Répondre Avertir


Messages dans ce sujet
RE: Tcl de recherche google Googlesearch.tcl - par BlackNight - 19/09/2009, 18:32

Atteindre :


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