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


TCL animradio.tcl
#1
Voila un petit tcl que je traine depuis un moment, voici sa version publique s'il interesse quelqu'un.
Ce Tcl est distribué sous licence GNU/GPL. Pour que cette licence soit appliquable, elle doit être mentionnée dans le code source ce qui est le cas.

Ce tcl permet d'animer le salon irc de votre webradio, afin de pouvoir reçevoir des demandes de chansons et des dédicasses.


tcl
##################################################
#             TCL animation radio    v1.3        #
#               by BlackNight                    #
#             GNU/GPL licence                    #
# ---------------------------------------------- #
# !aideradio* (*dispo sur v1.4) :                #
#   Aide aux commandes user:                     #
#  - !animr : Qui est à l'antenne                #
#  - !radio : Donne le lien pour écouter         #
#  - !dedi <pseudo - dédi> : demande de dédi     #
#  - Msg Botnick dedi                            "
#  - !demande <titre - artiste> : demande titre  #
##################################################
# ---------------------------------------------- #
# !cmdr* :                                       #
#   Aide aux commandes anim radio:               #
#  - !onair : Met l'anim "OnAir"                 #
#  - !offair : Met l'anim "OffAir"               #
##################################################
 
##################################################
#   Configuration du script d'animation radio    #
##################################################
# Le nom de votre radio                          #
set radioname "Radio name";
# Le lien pour écouter votre radio               #
set radiourl "http://urldemaradio";
# Le salon de votre radio                        #
set radiochan "#Radio";
# Le mot de passe NickServ de votre Robot        #
set passidbot "password";
# Le pseudo NickServ de votre Serveur            #
set nsnick "NickServ";
##################################################
 
############################################################
# Merci de ne plus rien éditer en dessous de cette ligne   #
# si vous ne connaissez pas le langage TCL                 #
############################################################
 
#############
# les binds #
#############
 
bind raw - "001" idbot
bind pub - !animr animr
bind pub - !radio radior
bind pub - !dedi dedir
bind pub - !demande demander
bind pub - !onair onairr
bind pub - !offair offairr
bind MSGM - "*dedi*" dedim
 
#############
# les procs #
#############
 
proc idbot { from keyword text } {
global passidbot nsnick
putquick "PRIVMSG $nsnick :identify $passidbot"
}
 
proc putfast {arg} {
append arg "\n"
putdccraw 0 [string length $arg] $arg
}
 
set anim "0";
 
proc animr { nick uhost handle channel arg } {
  global radioname radiourl radiochan anim
   if ![string compare -nocase $channel "$radiochan"] {
       if {$anim != "0"} {
putfast "NOTICE $nick :\002\00305 $anim \00306 aux platines sur \00303$radiourl\003\002"
   } else {
putfast "NOTICE $nick :\002\00304Personne n'est à l'antenne actuellement\002\003"   
		}
	}
}
 
proc radior { nick uhost handle channel arg } {
  global radioname radiourl radiochan anim
   if ![string compare -nocase $channel "$radiochan"] {
       if {$anim != "0"} {
putfast "NOTICE $nick :\002\00306Ecoute $radioname sur \00303$radiourl \00306Actuellement \00305 $anim \00306est aux platines \002\003"
	   } else {
putfast "NOTICE $nick :\002\00306Ecoute $radioname sur \00303$radiourl \00306Actuellement \00305 Personne \00306 n'est aux platines \002\003"
 
		}
	}
}
 
proc dedir { nick uhost handle channel arg } {
  global radioname radiourl radiochan anim
   if ![string compare -nocase $channel "$radiochan"] {
          if {[lindex $arg 0]!=""} {
	    if {$anim != "0"} {
		set dedi [lrange $arg 0 end]
putfast "PRIVMSG $anim :\002\00305$nick \00306Te demande une dédicasse :\"$dedi\"."
putfast "NOTICE $nick :\002\00305$nick \00306Ta dédicasse (\"$dedi\") à bien été envoyée à \00305$anim\002\003"
unset dedi
   } else {
putfast "NOTICE $nick :\002\00304Personne n'est à l'antenne actuellement\002\003"
		}
	}  else {
putfast "NOTICE $nick :\002\00304Pour envoyer une dédicasse, la syntaxe correcte est: !dedi <pseudo - dédi>. exemple: !dedi CharleS - j'adore ton pseudo\002\003"
}
}
}
 
proc dedim { nick host channel arg } {
  global radioname radiourl radiochan anim
          if {[lindex $arg 1]!=""} {
	    if {$anim != "0"} {
		set dedi [lrange $arg 1 end]
putfast "PRIVMSG $anim :\002\00305$nick \00306Te demande une dédicasse :\"$dedi\"."
putfast "NOTICE $nick :\002\00305$nick \00306Ta dédicasse (\"$dedi\") à bien été envoyée à \00305$anim\002\003"
unset dedi
   } else {
putfast "NOTICE $nick :\002\00304Personne n'est à l'antenne actuellement\002\003"
		}
	}  else {
putfast "NOTICE $nick :\002\00304Pour envoyer une dédicasse, la syntaxe correcte est: /dedi <pseudo - dédi>. exemple: /dedi CharleS - j'adore ton pseudo\002\003"
}
 
}
 
proc demander { nick uhost handle channel arg } {
  global radioname radiourl radiochan anim
   if ![string compare -nocase $channel "$radiochan"] {
          if {[lindex $arg 0]!=""} {
	    if {$anim != "0"} {
		set demande [lrange $arg 0 end]
putfast "PRIVMSG $anim :\002\00305$nick \00306Te demande le morceau :\"$demande\"."
putfast "NOTICE $nick :\002\00305$nick \00306Ta demande (\"$demande\") à bien été envoyée à \00305$anim\002\003"
unset demande
   } else {
putfast "NOTICE $nick :\002\00304Personne n'est à l'antenne actuellement\002\003"
		}
	}  else {
putfast "NOTICE $nick :\002\00304Pour envoyer une demande, la syntaxe correcte est: !demande <titre - artiste>. exemple: !demande Whenever,wherever - Shakira\002\003"
}
}
}
 
 
proc onairr { nick uhost handle channel arg } {
  global radioname radiourl radiochan anim
   if ![string compare -nocase $channel "$radiochan"] {
if {[isop $nick $channel] || [ishalfop $nick $channel]} {
putfast "NOTICE $nick :\002\00306Tu es maintenant \00304OnAir.\00306N'oublie pas de te mettre OffAir en quittant l'antenne (!offair) \002\003"
putfast "SAMODE $channel +o $nick"
set anim $nick
	   } else {
putfast "NOTICE $nick :\002\00304Accès refusé. Il faut être minimum Halfop pour se mettre OnAir.\002\003"
 
		}
	}
}
 
proc offairr { nick uhost handle channel arg } {
  global radioname radiourl radiochan anim
   if ![string compare -nocase $channel "$radiochan"] {
    if ![string compare -nocase $anim "$nick"] {
putfast "NOTICE $nick :\002\00306Tu es maintenant \00304OffAir\00306. Merci d'avoir animé $radioname\002\003"
putfast "SAMODE $channel -o $nick"
set anim 0
	   } else {
putfast "NOTICE $nick :\002\00304Accès refusé. Il faut être OnAir pour se mettre OffAir.\002\003"
 
		}
	}
}
 
 
putlog "AnimRadio By BlackNight: chargé."

#2
Une coquille sur ce tcl

[17:01] Tcl error [demander]: extra characters after close-quote
[17:02] Tcl error [dedir]: extra characters after close-quote
#3
normal si ta fait tout bêtement un copier coller ta pas du voir qu'il y avais ceci

tcl
#92;"."

sur différente partit du TCL

cordialement
La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.
#4
normal si ta fait tout bêtement un copier coller ta pas du voir qu'il y avais ceci <=== exact désolé pour ce post inutile...
#5
Apparement y'a des bugs avec les balises TCL, ca a tendance a remplacer certains trucs du genre.
Donc, pour poster un TCL comme ça, autant utiliser la balise code, c'est plus simple :p
#6
fedora Wrote:normal si ta fait tout bêtement un copier coller ta pas du voir qu'il y avais ceci

tcl
#92;"."

sur différente partit du TCL

cordialement

J'ai enlever le #92;"." sa ne fonctionne toujours pas.. Quelqu'un pourrais m'aider svp
#7
le
Code:
& #92;"
(sans espace entre & et #) doit être remplacé par
Code:
\"
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#8
CrazyCat Wrote:le
Code:
& #92;"
(sans espace entre & et #) doit être remplacé par
Code:
\"

Je ne sais pas si c'est comme ça, mais sa ne fonctionne toujours pas. Si quelqu'un pourrez me dire ou es l'erreur..


Code:
##################################################
#             TCL animation radio    v1.3        #
#               by BlackNight                    #
#             GNU/GPL licence                    #
# ---------------------------------------------- #
# !aideradio* (*dispo sur v1.4) :                #
#   Aide aux commandes user:                     #
#  - !animr : Qui est à l'antenne                #
#  - !radio : Donne le lien pour écouter         #
#  - !dedi <pseudo - dédi> : demande de dédi     #
#  - Msg Botnick dedi                            "
#  - !demande <titre - artiste> : demande titre  #
##################################################
# ---------------------------------------------- #
# !cmdr* :                                       #
#   Aide aux commandes anim radio:               #
#  - !onair : Met l'anim "OnAir"                 #
#  - !offair : Met l'anim "OffAir"               #
##################################################

##################################################
#   Configuration du script d'animation radio    #
##################################################
# Le nom de votre radio                          #
set radioname "JustRadio";
# Le lien pour écouter votre radio               #
set radiourl "http://justradio.org";
# Le salon de votre radio                        #
set radiochan "#Accueil";
# Le mot de passe NickServ de votre Robot        #
set passidbot "password";
# Le pseudo NickServ de votre Serveur            #
set nsnick "NickServ";
##################################################

############################################################
# Merci de ne plus rien éditer en dessous de cette ligne   #
# si vous ne connaissez pas le langage TCL                 #
############################################################

#############
# les binds #
#############

bind raw - "001" idbot
bind pub - !animr animr
bind pub - !radio radior
bind pub - !dedi dedir
bind pub - !demande demander
bind pub - !onair onairr
bind pub - !offair offairr
bind MSGM - "*dedi*" dedim

#############
# les procs #
#############

proc idbot { from keyword text } {
global passidbot nsnick
putquick "PRIVMSG $nsnick :identify $passidbot"
}

proc putfast {arg} {
append arg "\n"
putdccraw 0 [string length $arg] $arg
}

set anim "0";

proc animr { nick uhost handle channel arg } {
  global radioname radiourl radiochan anim
   if ![string compare -nocase $channel "$radiochan"] {
       if {$anim != "0"} {
putfast "NOTICE $nick :\002\00305 $anim \00306 aux platines sur \00303$radiourl\003\002"
   } else {
putfast "NOTICE $nick :\002\00304Personne n'est à l'antenne actuellement\002\003"  
      }
   }
}

proc radior { nick uhost handle channel arg } {
  global radioname radiourl radiochan anim
   if ![string compare -nocase $channel "$radiochan"] {
       if {$anim != "0"} {
putfast "NOTICE $nick :\002\00306Ecoute $radioname sur \00303$radiourl \00306Actuellement \00305 $anim \00306est aux platines \002\003"
      } else {
putfast "NOTICE $nick :\002\00306Ecoute $radioname sur \00303$radiourl \00306Actuellement \00305 Personne \00306 n'est aux platines \002\003"
  
      }
   }
}

proc dedir { nick uhost handle channel arg } {
  global radioname radiourl radiochan anim
   if ![string compare -nocase $channel "$radiochan"] {
          if {[lindex $arg 0]!=""} {
       if {$anim != "0"} {
      set dedi [lrange $arg 0 end]
putfast "PRIVMSG $anim :\002\00305$nick \00306Te demande une dédicasse :\"$dedi\"
putfast "NOTICE $nick :\002\00305$nick \00306Ta dédicasse (\"$dedi&") à bien été envoyée à \00305$anim\002\003"
unset dedi
   } else {
putfast "NOTICE $nick :\002\00304Personne n'est à l'antenne actuellement\002\003"
      }
   }  else {
putfast "NOTICE $nick :\002\00304Pour envoyer une dédicasse, la syntaxe correcte est: !dedi <pseudo - dédi>. exemple: !dedi CharleS - j'adore ton pseudo\002\003"
}
}
}

proc dedim { nick host channel arg } {
  global radioname radiourl radiochan anim
          if {[lindex $arg 1]!=""} {
       if {$anim != "0"} {
      set dedi [lrange $arg 1 end]
putfast "PRIVMSG $anim :\002\00305$nick \00306Te demande une dédicasse :\"$dedi\"
putfast "NOTICE $nick :\002\00305$nick \00306Ta dédicasse (\"$dedi&") à bien été envoyée à \00305$anim\002\003"
unset dedi
   } else {
putfast "NOTICE $nick :\002\00304Personne n'est à l'antenne actuellement\002\003"
      }
   }  else {
putfast "NOTICE $nick :\002\00304Pour envoyer une dédicasse, la syntaxe correcte est: /dedi <pseudo - dédi>. exemple: /dedi CharleS - j'adore ton pseudo\002\003"
}

}

proc demander { nick uhost handle channel arg } {
  global radioname radiourl radiochan anim
   if ![string compare -nocase $channel "$radiochan"] {
          if {[lindex $arg 0]!=""} {
       if {$anim != "0"} {
      set demande [lrange $arg 0 end]
putfast "PRIVMSG $anim :\002\00305$nick \00306Te demande le morceau :\"$demande\"
putfast "NOTICE $nick :\002\00305$nick \00306Ta demande (\"$demande&") à bien été envoyée à \00305$anim\002\003"
unset demande
   } else {
putfast "NOTICE $nick :\002\00304Personne n'est à l'antenne actuellement\002\003"
      }
   }  else {
putfast "NOTICE $nick :\002\00304Pour envoyer une demande, la syntaxe correcte est: !demande <titre - artiste>. exemple: !demande Whenever,wherever - Shakira\002\003"
}
}
}


proc onairr { nick uhost handle channel arg } {
  global radioname radiourl radiochan anim
   if ![string compare -nocase $channel "$radiochan"] {
if {[isop $nick $channel] || [ishalfop $nick $channel]} {
putfast "NOTICE $nick :\002\00306Tu es maintenant \00304OnAir.\00306N'oublie pas de te mettre OffAir en quittant l'antenne (!offair) \002\003"
putfast "SAMODE $channel +o $nick"
set anim $nick
      } else {
putfast "NOTICE $nick :\002\00304Accès refusé. Il faut être minimum Halfop pour se mettre OnAir.\002\003"
  
      }
   }
}

proc offairr { nick uhost handle channel arg } {
  global radioname radiourl radiochan anim
   if ![string compare -nocase $channel "$radiochan"] {
    if ![string compare -nocase $anim "$nick"] {
putfast "NOTICE $nick :\002\00306Tu es maintenant \00304OffAir\00306. Merci d'avoir animé $radioname\002\003"
putfast "SAMODE $channel -o $nick"
set anim 0
      } else {
putfast "NOTICE $nick :\002\00304Accès refusé. Il faut être OnAir pour se mettre OffAir.\002\003"
  
      }
   }
}


putlog "AnimRadio By BlackNight: chargé."
#9
salut,

si tu veux j ai coder un tcl similaire que tu peux télécharger ici
C'est en reconnaissant ses erreurs que l'on progresse ;)
Away
#10
djkenny Wrote:salut,

si tu veux j ai coder un tcl similaire que tu peux télécharger ici

Sa fonctionne pour radionomy ?
#11
essais
C'est en reconnaissant ses erreurs que l'on progresse ;)
Away
#12
djkenny Wrote:essais

La derniére fois que j'ai essayé shoutcats.tcl, sa fonctionner pas :/
#13
c’était peu être pas le même
C'est en reconnaissant ses erreurs que l'on progresse ;)
Away
#14

Code:
[11:23:32] <Raiding> !radio
[11:23:33] <&Nia> m18
Sa commence déja mal :/
#15
t as modifié quoi dans le tcl?
C'est en reconnaissant ses erreurs que l'on progresse ;)
Away


Forum Jump:


Users browsing this thread: 1 Guest(s)