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é."


Répondre Avertir
#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
Répondre Avertir
#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
[font=Times New Roman]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.[/font]
Répondre Avertir
#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...
Répondre Avertir
#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
Répondre Avertir
#6
fedora a écrit :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
Répondre Avertir
#7
le
Code :
& #92;"
(sans espace entre & et #) doit être remplacé par
Code :
\"
Répondre
#8
CrazyCat a écrit :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é."
Répondre Avertir
#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 Wink
Répondre Avertir
#10
djkenny a écrit :salut,

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

Sa fonctionne pour radionomy ?
Répondre Avertir
#11
essais
C'est en reconnaissant ses erreurs que l'on progresse Wink
Répondre Avertir
#12
djkenny a écrit :essais

La derniére fois que j'ai essayé shoutcats.tcl, sa fonctionner pas :/
Répondre Avertir
#13
c’était peu être pas le même
C'est en reconnaissant ses erreurs que l'on progresse Wink
Répondre Avertir
#14
Code :
[11:23:32] <Raiding> !radio
[11:23:33] <&Nia> m18

Sa commence déja mal :/
Répondre Avertir
#15
t as modifié quoi dans le tcl?
C'est en reconnaissant ses erreurs que l'on progresse Wink
Répondre Avertir


Atteindre :


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