Aide anim' - module d'aide à l'animation de webradio - by aurel212

Soyez le premier à donner votre avis sur cette source.

Vue 10 212 fois - Téléchargée 420 fois

Description

Alors voici ma première source, un module d'aide à l'animation de WebRadio sur serveur Shoutcast disposant de chan IRC, c'est une première version, pour laquelle le code est simple, les fonctions suffisantes mais pouvant être plus poussées ( ceci nous indique une 2.0 si l'add on vous plait :p )

Enfin voila j'vous laisse observer et commenter ( svp )

Enjoy !

Source / Exemple :


[Module]
Name=AideAnim'
Description=Module d'aide à l'animation de WebRadio (ShoutCast)
Version=béta
Ref=1.1
View=1
Author=aurel212
;______________________________________________________________
;         Radio Script 1.0 ( adapté pour les Anim' de WebRadio par aurel212 )
;______________________________________________________________
; ------------------------------------------------
; Fenêtre de dialogue pour configuration
; ------------------------------------------------

alias aide-anim dialog -m aide-anim aide-anim

dialog aide-anim {
  title "Aide Anim' - by aurel212 - /aide-anim"
  size -1 -1 293 181
  option dbu
  box " Configuration Principale ", 1, 3 0 227 104
  edit "", 2, 7 25 50 10, center
  edit "", 3, 64 25 50 10, center
  edit "", 4, 7 53 50 10, center
  edit "", 5, 64 53 50 10, center
  edit "", 6, 7 80 50 10, center
  edit "", 7, 56 80 25 10, center
  edit "", 8, 129 25 93 10, center
  edit "", 9, 129 53 93 10, center
  edit "", 10, 129 80 93 10, center
  box " Configuration Perso' - Cocher pour Valider ", 11, 4 105 286 60
  text "Nom de la Radio", 12, 8 15 45 8
  text "Nom du Robot", 13, 65 15 45 8
  text "Salon de la Radio", 14, 8 43 45 8
  text "BackRoom", 15, 65 43 45 8
  text "IP + Port du Shoutcast", 16, 8 70 60 8
  text "Site Web de la Radio", 17, 130 15 70 8
  text "Lien du Player de la Radio", 18, 130 43 70 8
  text "Lien décomposé pour Java", 19, 130 70 70 8
  box "", 20, 233 0 56 104
  icon 21, 237 8 46 39, $mircdirAideAnim.gif
  text "Module d'aide à l'animation de WebRadio sur le serveur Voila / Orange.", 22, 238 65 47 35, center
  text "Aide Anim'", 23, 238 53 47 12, center
  button "Ok / Enregistrer", 24, 211 167 78 12, ok
  text "Aide Anim' peut s'activer de différente façon dont une qui ne s'active automatiquement", 25, 10 115 240 8
  edit "", 26, 225 123 50 10, center
  radio "Activé", 27, 104 123 33 10
  radio "Désactivé", 28, 138 123 33 10
  radio "Automatique", 29, 178 123 45 10
  text "Afficher l'ID3Tag de la musique en cour ?", 30, 11 139 99 8
  check "Oui", 31, 28 151 22 10
  check "Non", 32, 66 151 24 10
  text "Afficher le nombre d'auditeurs en echo ?", 33, 136 139 102 8
  check "Oui", 34, 150 151 25 10
  check "Non", 35, 197 151 23 10
  link " http://IDandT.fr ", 36, 125 169 44 8
  button "Vérifier Mise à Jour", 37, 4 167 78 12
  text "quand tu as ton extension 'Onair' :", 38, 10 123 92 8
}
On *:DIALOG:aide-anim:*:*:{
  if ($devent == init) {
    did -a $dname 2 $AideAnim(Nom)
    did -a $dname 3 $AideAnim(Bot)
    did -a $dname 4 $AideAnim(Salon)
    did -a $dname 5 $AideAnim(BackRoom)
    did -a $dname 6 $AideAnim(IP)
    did -a $dname 7 $AideAnim(Port)
    did -a $dname 8 $AideAnim(Site)
    did -a $dname 9 $AideAnim(Lien)
    did -a $dname 10 $AideAnim(Java)
    did -a $dname 26 $AideAnim(Extension)
    if ($AideAnim(ShowSong) == ON) { did -c $dname 31 }
    else { did -c $dname 32 }
    if ($AideAnim(ShowListen) == ON) { did -c $dname 34 }
    else  { did -c $dname 35 }
    if ($AideAnim(AideAnim-) == PSEUDO) { did -c $dname 29 }
    else {
      if ($AideAnim(AideAnim) == ON) { did -c $dname 27 }
      else { did -c $dname 26 }
    }
  }
  if ($devent == Sclick) {
    if ($did == 24) {
      hadd AideAnim Nom $did(2)
      hadd AideAnim Bot $did(3)
      hadd AideAnim Lien $did(9)
      hadd AideAnim Site $did(8)
      hadd AideAnim Salon $did(4)
      hadd AideAnim BackRoom $did(5)
      hadd AideAnim IP $did(6)
      hadd AideAnim Port $did(7)
      hadd AideAnim Java $did(10)
      hadd AideAnim Extension $did(26)
      if ($did(31).state == 1) { hadd AideAnim ShowSong ON }
      elseif ($did(32).state == 1) { hadd AideAnim ShowSong OFF }
      if ($did(34).state == 1) { hadd AideAnim ShowListen ON }
      elseif ($did(35).state == 1) { hadd AideAnim ShowListen OFF }
      if ($did(27).state == 1) { hadd AideAnim AideAnim ON }
      elseif ($did(28).state == 1) { hadd AideAnim AideAnim OFF }
      if ($did(29).state == 1) { hadd AideAnim AideAnim- PSEUDO }
    }
    if ($did == 31) { did -u $dname 32 }
    if ($did == 32) { did -u $dname 31 }
    if ($did == 34) { did -u $dname 35 }
    if ($did == 35) { did -u $dname 34 }
    if ($did == 36) { url -u http://IDandT.fr }
    if ($did == 37) { url -u http://IDandT.fr/AideAnim.rar }
  }
}
On *:NICK:{
  if ($gettok($nick,1,124) == $gettok($me,1,124)) && ($AideAnim(AideAnim-) == PSEUDO) {
    if ($gettok($newnick,2,124) == $AideAnim(Extension)) {
      hadd AideAnim AideAnim ON
      hadd AideAnim Anim $me
      echo -a 14.::10 $AideAnim(Nom) 14::.10 Vous êtes maintenant OnAir, l'add-on est Activé 14!
    }
    elseif ($gettok($nick,2,124) == $AideAnim(Extension)) && ($gettok($newnick,2,124) != $AideAnim(Extension)) {
      hadd AideAnim AideAnim OFF
      echo -a 14.::10 $AideAnim(Nom) 14::.10 Vous n'êtes maintenant plus OnAir, l'add-on est Désactivé 14!
    }
  }
}
; ------------------------------------------------
; Menu contextuels
; ------------------------------------------------
menu menubar {
  -
     >> AideAnim' by aurel212 <<   
  .Aide Anim' $chr(9) /aide-anim:/aide-anim
  .Inviter un Anim' sur la BackRoom $chr(9) /BackR:/BackR
}
; ------------------------------------------------
; Commandes :
; ------------------------------------------------
On *:TEXT:*:*:{
  if ($AideAnim(AideAnim) == OFF) { halt }
  if ($AideAnim(Bot) ison $chan) { halt }
  if ($1 == !aide) {
    if (!$2) {
      msg $chan 14Voici les commandes disponibles:
      msg $chan 10=> !aide !radio !web !toune !auditeur !dédi !java !winamp
      if ($chan == $AideAnim(BackRoom)) { .timer 1 2 msg $chan 14Pour les admins (sur10 $AideAnim(BackRoom) 14seulement) =>10 !oa !pl }
      .timer2 1 2 msg $chan Pour de plus ample imformations relatives aux commandes, faites !aide <commande> !!!!
    }
    else {
      if ($2 == !aide) { msg $chan Affiche l'aide sur les commandes disponibles. Usage: !aide [commande] }
      elseif ($2 == !anim) { msg $chan Affiche le Nick de l'animateur actuel. Usage: !anim }
      elseif ($2 == !radio) { msg $chan Affiche les infos relatives a la radio (Lien pour se connecter, Deejay qui annime). Usage: !radio }
      elseif ($2 == !web) { msg $chan Affiche le lien du site web de la radio. Usage: !web }
      elseif ($2 == !titre) { msg $chan Affiche le titre de la chanson en cours. Usage: !titre }
      ;elseif ($2 == !auditeur) { msg $chan Affiche le nombre d'auditeur qui écoutent la radio. Usage: !auditeur }
      elseif ($2 == !dédi) { msg $chan Envoie votre demande spéciale au Deejay. Usage: !dédi <artiste - titre> & <dédicace> }
      elseif ($2 == !java) { msg $chan Affiche le lien "détaché" pour ecouter la radio. Usage: !java }
      elseif ($2 == !winamp) { msg $chan Affiche le lien "pls" pour ecouter la radio via Winamp. Usage: !winamp }
      elseif ($chan == $AideAnim(BackRoom)) {
        if ($2 == !oa) { msg $chan Affiche le changement d'Animateur sur le chan Officiel de la radio. Usage: !oa (sur $AideAnim(BackRoom) $+ ) }
        elseif ($2 == !pl) { msg $chan Affiche la prise d'antenne de la PlayLisT sur le chan Officiel de la radio. Usage !pl (sur $AideAnim(BackRoom) $+ ) }
      }
    }
  }
  elseif ($1 == !radio) { notice $nick 10 Tu veux écouter14 $AideAnim(Nom)  10? Rien de plus simple! clic ici 1:14 $AideAnim(Lien) }
  elseif ($1 == !anim) { notice $nick 10 C'est14 $AideAnim(Anim) 10 qui difuse le Meilleur de la musique en ce moment même sur14 $AideAnim(Nom) 10! }
  elseif ($1 == !web) { notice $nick 10 Notre Site web 1:14 $AideAnim(Site) }
  elseif ($1 == !titre) { notice $nick $AideAnim(Info) }
  ;elseif ($1 == !auditeur) { notice $nick 10Vous êtes14 $AideAnim(Auditeurs) 10auditeur(s) sur $AideAnim(Nom) ! On a déjà vu mieux (14 $AideAnim(MaxAuditeurs) 10) }
  elseif ($1 == !dédi) { radioask $2- }
  elseif $+(*,!,*,!) !iswm $chan && ($1 == !java) { msg $chan 10Slt14 $nick $+ 10, Tu veux écouter14 $AideAnim(Nom)  10? Rien de plus simple! recopie ce lien dans ton explorer Internet 1:14 $AideAnim(Java) }
  elseif ($1 == !winamp) { notice $nick 10 Tu veux écouter14 $AideAnim(Nom)  10? Rien de plus simple! Voici l'URL pour ton Winamp player 1:14 http://91.121.10.173:8310/listen.pls }
  elseif ($chan == $AideAnim(BackRoom)) { 
    if ($1 == !ao) {
      hadd AideAnim Anim $nick 
      if ($AideAnim(ShowSong) == ON) { msg $AideAnim(Salon) 14 .::10 $AideAnim(Nom) 14::.10 C'est maintenant14 $AideAnim(Anim) 10qui prend l'antenne sur14 $AideAnim(Nom) 10! }
      if (IriX ison $AideAnim(Salon)) && ($nick !iso $AideAnim(Salon)) { .msg Irix op $AideAnim(Salon) $nick }
    } 
    elseif ($1 == !pl) { hadd AideAnim Anim La PlayLisT
      if ($AideAnim(ShowSong) { msg $AideAnim(Salon) 14 .::10 $AideAnim(Nom) 14::.10 $nick 14vient de caler une pure10 PlayLisT14 sur10 $AideAnim(Nom) 14! }
    }
  }
}
; ______________________________________________________________
; Bon les Anim' on touche pas à la suite de ce code ( j'ai assez galèré dessus ! LoL :x )
; Pis c'est surtout que ça risque de tout foirer !!! Merci de votre compréhension =)
; ______________________________________________________________

On *:START:{ hload AideAnim AideAnim.txt }
On *:EXIT:{ hsave -o AideAnim AideAnim.txt }

On 1:LOAD:{ hmake AideAnim 10 }
alias -l AideAnim { return $hget(AideAnim,$1) }

On *:CONNECT:{
  .timer $+ $cid 0 15 showsong
  .timer $+ $cid 0 15 showlisten
  join $AideAnim(Salon)
  if ($network == %radio.network) {
    .timerradioshhop 0 15 shop
  }
}
alias auditeurs { echo -a 14.::10 $AideAnim(Nom) 14::.10 Il y a actuellement14 $AideAnim(Auditeurs) 10auditeurs, le maximum atteind sur ce serveur est de14 $AideAnim(MaxAuditeurs) 10! } 
alias radioask {
  if (!$1) { notice $nick Usage : !dédi <artiste - titre> & <dédicace> }
  else {
    $iif(!$window(@Dédicace),Window -zg0nk0 @Dédicace)
    echo @Dédicace  14 .::10 Dédicace 14 ::. 10Demande spéciale :14 < $+ $nick $+ > $1-
    notice $nick 10Ta dédicace suivante est dans la boite :14 $1- 10. Patiente un peu, elle arrive sur14 $AideAnim(Nom) 10!
    write Dedicaces.txt $date $time $1-
  }
}
alias showlisten {
  if ($AideAnim(AideAnim) == OFF) { halt }
  if ($AideAnim(ShowListen) == ON) && ($AideAnim(Auditeurs) != $AideAnim(Auditeurs-)) {
    echo -a 14.::10 $AideAnim(Nom) 14::. 10Actuellement14 $AideAnim(Auditeurs) 10auditeurs !
  }
}
alias showsong {
  if ($AideAnim(AideAnim) == OFF) { halt }
  if ($AideAnim(ShowSong) == ON) && ($AideAnim(Titre) != $AideAnim(Titre-)) {
    msg $AideAnim(Salon) $AideAnim(Info)
  }
}
alias shop {
  if $sock(shtxt) { sockclose $v1 }
  sockopen shtxt $AideAnim(IP) $AideAnim(Port)
}
On *:sockopen:shtxt:{ 
  write -c shop.txt 
  sockwrite -n $sockname GET /7.html HTTP/1.1 
  sockwrite -n $sockname Accept: */* 
  sockwrite -n $sockname Accept-Language: nl 
  sockwrite -n $sockname Accept-Encoding: gzip, deflate 
  sockwrite -n $sockname User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) 
  sockwrite -n $sockname Host: Radio $AideAnim(Port) | sockwrite -n $sockname Connection: Keep-Alive 
  sockwrite -n $sockname $crlf 
} 
On *:sockread:shtxt:{ 
  if ($sockerr) { return } 
  sockread -f &xsh.txt 
  bwrite shop.txt -1 -1 &xsh.txt 
} 
On *:sockclose:shtxt:{ 
  if ($regex(hs,$read(shop.txt,4),dy>(.*)</b)) { getsm $regml(hs,1) } 
} 
alias getsm { 
  tokenize 44 $1-
  tokenize 32 $1- 
  if (!$5) { return } 
  if ($AideAnim(Auditeurs) != $AideAnim(Auditeurs-)) { hadd AideAnim Auditeurs- $AideAnim(Auditeurs) }
  if ($AideAnim(Titre) != $AideAnim(Titre-)) {
    hadd AideAnim Titre- $AideAnim(Titre)
    write PlayLisT.txt $date $time $AideAnim(Titre-)
  }
  hadd AideAnim Titre $7-
  hadd AideAnim Info 10Actuellement sur $AideAnim(Nom) :14 $7- $AideAnim(BitRate)
  hadd AideAnim Auditeurs $5
  hadd AideAnim MaxAuditeurs $3
  hadd AideAnim BitRate 10(14 $6 $+ 10Kb/s )
}
alias BackR {
  var %anim $$?="Pseudo de l'Anim' à inviter :"
  invite %anim $AideAnim(BackRoom)
}
____________________________________________________________________
-------------------------------------¤ aurel212@hotmail.fr ¤-------------------------------------
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Conclusion :


Faisant moi même parti d'une WebRadio j'en ai fort utilité donc j'me dirais merci plus tard ( lol :x ) mais MERCI aux anim' pour leur patience et MERCI au salon #scripts qui m'ont éclairci sur quelques points.

Vous trouverez mon ad Mail ci joint pour de plus amples renseignement ou alors des conseils etc .. enfin je prend tout ce qui est constructif =)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_wims
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1 -
Au salon #scripts du server irc.GaisGa.com ? (tu aurais pu préciser)

Niveau code :
au lieu de faire plein de /did -a pour remplir les edits, met les directement dans la table du dialog comme ça :
edit "%var"

Quand tu as ce genre de chose :
if (%showsong == ON) { did -c $dname 31 }
elseif (%showsong != ON) { did -c $dname 32 }
Déja les {} sont inutiles, tu peux les enlevé et ca devrais plutot ce coder avec un else :
if (%showsong == ON) { did -c $dname 31 }
else { did -c $dname 32 }
Mais étant donné que il n'y a qu'un parametre qui change dans la commande tu même faire ca avec un $iif :
did -c $dname $iif(%shownsong == on,31,32)
Idem sur %swolisten et sur %radio_aide

le ^ sur le on nick est inutile et plutot genant.

sockwrite -c $sockname GET /7.html HTTP/1.1
-c ?

J'ai pas testé mais le principal c'est que ca marche :)
aurel212
Messages postés
24
Date d'inscription
samedi 13 mai 2006
Statut
Membre
Dernière intervention
31 mai 2007
-
Merci Wins, en ce moment même je remplace les variables par une hashtable et j'optimise le code donc tes conseils sont pour le moins très biens tombés. pour ce qui est du sockwrite je ne l'ai quasi pas touché, comme je le dis plus haut dans le code, c'est une source sur base du " radio script 1.0 " trouvé ici même que j'ai utilisé uniquement pour moi et, au fil du temps, amélioré pour mon utilisation personnel et puis depuis il a bien d'autre fonction et le code n'a rien à voir, mais ça reste mon premier post :)

ps : #scripts du serveur Voila/Orange désolé ^^

sortie d'une version 1.1 d'ici très très peu.
cs_wims
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1 -
euh tu ne dis rien a propos du script de base, étant donné que tu n'est pas l'auteur de toutes la partie socket ( je suppose mais je peux me tromper ) tu devrais donné l'url de ce que tu as utilisé.
Je me souviens d'ailleur de déja avoir fait cette remarque ( le -c du /sockwrite ) ça m'etonnerait pas que cette source là.Tu aurais du lire les commentaires de la source que tu as pris pour modele et essayé de corrigé ce qui avait déja été dis :)

As-tu déja testé le code sur plusieur radio ?
aurel212
Messages postés
24
Date d'inscription
samedi 13 mai 2006
Statut
Membre
Dernière intervention
31 mai 2007
-
oui aucun problême puisque ( chose que j'alais faire avant d'y penser .. ) l'edit de l'ip du serveur n'est pas limité en forme ( on peut mettre autre chose qu'une ip classique, dsl j'ai pas forcément les bons mots ^^ ) et puis tout est en variable ( enfin hashtable chez moi maintenant ^^ ) donc pas de problême de conflit ou de pub non voulue, ensuite pour les sock j'vais manger des tuto' et les refaires de A à Z pour la version 1.1 ( c'est justement pour cela que je ne l'ai pas postée ) sinon j'aimerais faire quelque chose, que je sais d'avance que ce n'est de mon niveau .. lol, un dialog avec un ListView permettant de configurer la couleur, la forme ainsi que le contenu des message automatique de l'add on ( un peu comme la configuration de thèmes dans TS )
donc si quelqu'un est motivé pour me dire où et quoi regarder pour aprendre à faire cela .. je lui en serais fort reconnaissant.
cs_wims
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1 -
tu prend dcx.dll sur dcx.scriptsdb.org, j'texplique vite fais cmt ca marche :

lors de l'init de ton dialog, il faut marquer le dialog avec /dcx Mark $dname call_back
ou call_back est l'alias qui sera apellé pour géré les evenement donc faut crée cette alias ( alias call_back { } au début. )

ensuite tu crée la listview avec /xdialog -c $dname ( regarde sur le site pour la syntaxe exact pour des listview )
ensuite tu cherches les cmd pour changer les différentes couleur

Et quand je te demandais si tu avais testé sur plusieur radio parce que il me semble que selon le type de radio, la maniere de récupéré les infos par socket ne sont pas les mêmes.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.