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


Messages dans ce sujet
TCL animradio.tcl - par BlackNight - 22/01/2010, 12:04
RE: TCL animradio.tcl - par Lunar - 23/02/2010, 18:03
RE: TCL animradio.tcl - par fedora - 23/02/2010, 18:13
RE: TCL animradio.tcl - par Raiding - 01/12/2011, 14:25
RE: TCL animradio.tcl - par Lunar - 27/02/2010, 19:30
RE: TCL animradio.tcl - par Artix - 02/03/2010, 13:33
RE: TCL animradio.tcl - par CrazyCat - 01/12/2011, 15:05
RE: TCL animradio.tcl - par Raiding - 03/12/2011, 19:19
RE: TCL animradio.tcl - par djkenny - 04/12/2011, 10:07
RE: TCL animradio.tcl - par Raiding - 04/12/2011, 12:11
RE: TCL animradio.tcl - par djkenny - 04/12/2011, 12:17
RE: TCL animradio.tcl - par Raiding - 04/12/2011, 12:19
RE: TCL animradio.tcl - par djkenny - 04/12/2011, 12:22
RE: TCL animradio.tcl - par Raiding - 04/12/2011, 12:24
RE: TCL animradio.tcl - par djkenny - 04/12/2011, 12:26
RE: TCL animradio.tcl - par Raiding - 04/12/2011, 12:27
RE: TCL animradio.tcl - par djkenny - 04/12/2011, 12:29
RE: TCL animradio.tcl - par Raiding - 04/12/2011, 12:30
RE: TCL animradio.tcl - par djkenny - 04/12/2011, 12:32
RE: TCL animradio.tcl - par Raiding - 04/12/2011, 12:35
RE: TCL animradio.tcl - par djkenny - 04/12/2011, 12:37
RE: TCL animradio.tcl - par Raiding - 04/12/2011, 12:41
RE: TCL animradio.tcl - par djkenny - 04/12/2011, 12:43
RE: TCL animradio.tcl - par blaster911 - 04/12/2011, 15:20
RE: TCL animradio.tcl - par Raiding - 08/12/2011, 00:22

Atteindre :


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