Communauté Eggdrop
TCL animradio.tcl - Version imprimable

+- Communauté Eggdrop (https://forum.eggdrop.fr)
+-- Forum : Eggdrop et TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum : Scripts TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+--- Sujet : TCL animradio.tcl (/showthread.php?tid=590)

Pages : 1 2


TCL animradio.tcl - BlackNight - 22/01/2010

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





RE: TCL animradio.tcl - Lunar - 23/02/2010

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


RE: TCL animradio.tcl - fedora - 23/02/2010

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


RE: TCL animradio.tcl - Lunar - 27/02/2010

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


RE: TCL animradio.tcl - Artix - 02/03/2010

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


RE: TCL animradio.tcl - Raiding - 01/12/2011

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


RE: TCL animradio.tcl - CrazyCat - 01/12/2011

le
Code :
& #92;"
(sans espace entre & et #) doit être remplacé par
Code :
\"



RE: TCL animradio.tcl - Raiding - 03/12/2011

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



RE: TCL animradio.tcl - djkenny - 04/12/2011

salut,

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


RE: TCL animradio.tcl - Raiding - 04/12/2011

djkenny a écrit :salut,

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

Sa fonctionne pour radionomy ?


RE: TCL animradio.tcl - djkenny - 04/12/2011

essais


RE: TCL animradio.tcl - Raiding - 04/12/2011

djkenny a écrit :essais

La derniére fois que j'ai essayé shoutcats.tcl, sa fonctionner pas :/


RE: TCL animradio.tcl - djkenny - 04/12/2011

c’était peu être pas le même


RE: TCL animradio.tcl - Raiding - 04/12/2011

Code :
[11:23:32] <Raiding> !radio
[11:23:33] <&Nia> m18

Sa commence déja mal :/


RE: TCL animradio.tcl - djkenny - 04/12/2011

t as modifié quoi dans le tcl?