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

Description

Donc tout simplement AideAnim' corrigé et optimisé.

/!\ Je rappel que c'est un ADD ON, un MODULE optimisé pour TSv4!!! et non un code pour Bot !!! /!\

( je fournis dans le zip deux .mrc, un optimisé pour TSv4 et un autre adaptable à tous les scripts )

pour l'instalation ou d'autres détails, voir le ReadMe.txt dans le zip ;-)

Source / Exemple :


[Module]
Name=AideAnim'
Description=Module d'aide à l'animation de WebRadio (ShoutCast)
Version=1.2
Ref=1.1
View=1
Author=aurel212

### Fenêtre de configuration et système d'activation ###

alias aide-anim dialog -m aide-anim aide-anim
dialog aide-anim {
  title "Aide Anim' V1.2 - by aurel212 - /aide-anim"
  size -1 -1 292 181
  option dbu
  box " Configuration Principale ", 1, 3 0 227 104
  edit "", 2, 7 25 50 10, autohs center
  edit "", 3, 64 25 50 10, autohs center
  edit "", 4, 7 53 50 10, autohs center
  edit "", 5, 64 53 50 10, autohs center
  edit "", 6, 7 80 50 10, autohs center
  edit "", 7, 57 80 25 10, autohs center
  edit "", 8, 129 25 93 10, autohs center
  edit "", 9, 129 53 93 10, autohs center
  edit "", 10, 129 80 93 10, autohs center
  box " Configuration Perso' - Cocher pour Valider ", 11, 3 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, $mircdirsystem\images\logo.png
  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, flat ok
  text "Aide Anim' peut s'activer de différente façon dont une qui ne s'active qu'automatiquement", 25, 10 115 240 8
  edit "", 26, 225 123 50 10, autohs 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 "Paramètrer les Couleurs", 37, 3 167 78 12, flat
  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 {
      did -m $dname 26
      if ($AideAnim(AideAnim) == ON) { did -c $dname 27 }
      else { did -c $dname 28 }
    }
  }
  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 }
      else { hdel AideAnim AideAnim- }
      hsave -o AideAnim system\data\AideAnim.txt
    }
    if ($did == 27) { did -m $dname 26 }
    if ($did == 28) { did -m $dname 26 }
    if ($did == 29) { did -n $dname 26 }
    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) { 
      hadd AideAnim Couleur1 $$?="Couleur 1 (rapel : Ctrl + K : couleur, Ctrl + B : gras, Ctrl + U : souligné) :"
      hadd AideAnim Couleur2 $$?="Couleur2 :"
    }
  }
}
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 $AideAnim(Couleur2).::$AideAnim(Couleur1) $AideAnim(Nom) $AideAnim(Couleur2)::.$AideAnim(Couleur1) Vous êtes maintenant OnAir, l'add-on est Activé $AideAnim(Couleur2)!
    }
    elseif ($gettok($nick,2,124) == $AideAnim(Extension)) && ($gettok($newnick,2,124) != $AideAnim(Extension)) {
      hadd AideAnim AideAnim OFF
      echo -a $AideAnim(Couleur2).::$AideAnim(Couleur1) $AideAnim(Nom) $AideAnim(Couleur2)::.$AideAnim(Couleur1) Vous n'êtes maintenant plus OnAir, l'add-on est Désactivé $AideAnim(Couleur2)!
    }
  }
}

### Menu ###

menu menubar {
  -
  Aide Anim' $chr(9) /aide-anim:/aide-anim
  Inviter un Anim' sur la BackRoom $chr(9) /BackR:/BackR
}

### Commandes ###

On *:TEXT:*:*:{
  if ($chan != #ID&T) && ($chan != #Rastafarai) && ($chan != #Colocation) && ($chan != #Scripts) {
    if ($AideAnim(AideAnim) == OFF) { halt }
    if ($1 == !aide) && ($+(!,*,!) !iswm $chan) {
      if (!$2) {
        msg $chan $AideAnim(Couleur2) $+ Voici les commandes disponibles:
        msg $chan $AideAnim(Couleur1) $+ => !aide !radio !anim !web !titre !auditeurs !dédi !java !winamp !script
        if ($chan == $AideAnim(BackRoom)) { .timer 1 2 msg $chan $AideAnim(Couleur2) $+ Pour les admins (sur $+ $AideAnim(Couleur1) $AideAnim(BackRoom) $AideAnim(Couleur2) $+ seulement) => $+ $AideAnim(Couleur1) !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 == !auditeurs) { msg $chan Affiche le nombre d'auditeur qui écoutent la radio. Usage: !auditeur [commande désactivée] }
        elseif ($2 == !dédi) { msg $chan Envoie votre demande spéciale à l'Animateur. 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 ($2 == !script) { msg Affiche le lien pour télécharger IDandT - SoulShine Script V2. Usage : !script }
        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) $+ ) }
        }
      }
    }
    if ($AideAnim(Bot) ison $chan) { halt }
    elseif ($1 == !radio) { .notice $nick $AideAnim(Couleur1) Tu veux écouter $+ $AideAnim(Couleur2) $AideAnim(Nom)  $AideAnim(Couleur1) $+ ? Rien de plus simple ! clic ici 1: $+ $AideAnim(Couleur2) $AideAnim(Lien) }
    elseif ($1 == !anim) { .notice $nick $AideAnim(Couleur1) C'est $+ $AideAnim(Couleur2) $AideAnim(Anim) $AideAnim(Couleur1) $+ qui difuse le Meilleur de la musique en ce moment même sur $+ $AideAnim(Couleur2) $AideAnim(Nom) $AideAnim(Couleur1)! }
    elseif ($1 == !web) { .notice $nick $AideAnim(Couleur1) Notre Site web 1: $+ $AideAnim(Couleur2) $AideAnim(Site) }
    elseif ($1 == !titre) { .notice $nick $AideAnim(Info) }
    elseif ($1 == !auditeurs) {
      if ($AideAnim(Auditeurs) == $AideAnim(MaxAuditeurs)) { .notice $nick $AideAnim(Couleur1) Nouveau Record d'Audience sur $+ $AideAnim(Couleur2) $AideAnim(Nom) $AideAnim(Couleur1) $+ ! Vous êtes  $+ $AideAnim(Couleur2) $AideAnim(Auditeurs) $AideAnim(Couleur1) $+ ! }
      else { .notice $nick $AideAnim(Couleur1) Vous êtes $+ $AideAnim(Couleur2) $AideAnim(Auditeurs) $AideAnim(Couleur1) $+ auditeur $+ $iif($AideAnim(Auditeurs) > 1,s) sur $+ $AideAnim(Couleur2) $AideAnim(Nom) $AideAnim(Couleur1) $+ ! On a déjà vu mieux ( $+ $AideAnim(Couleur2) $AideAnim(MaxAuditeurs) $AideAnim(Couleur1) $+ ) }
    }
    elseif ($1 == !dédi) { radioask $2- }
    elseif $+(#!,*,!) !iswm $chan && ($1 == !java) { msg $chan $AideAnim(Couleur1) Slt $+ $AideAnim(Couleur2) $nick $+ $AideAnim(Couleur1), Tu veux écouter $+ $AideAnim(Couleur2) $AideAnim(Nom)  $AideAnim(Couleur1) $+ ? Rien de plus simple ! Recopie ce lien dans ton explorer Internet 1: $+ $AideAnim(Couleur2) $AideAnim(Java) }
    elseif ($1 == !winamp) && ($AideAnim(Winamp) != $null) { .notice $nick $AideAnim(Couleur1) Tu veux écouter $+ $AideAnim(Couleur2) $AideAnim(Nom) $AideAnim(Couleur1) $+ ? Rien de plus simple! Voici l'URL pour ton Winamp player 1: $+ $AideAnim(Couleur2) $AideAnim(Winamp) }
    elseif ($chan == $AideAnim(BackRoom)) { 
      if ($1 == !ao) {
        hadd AideAnim Anim $nick 
        if (IriX ison $AideAnim(Salon)) { .msg Irix op $AideAnim(Salon) $nick }
      } 
      elseif ($1 == !pl) {
        hadd AideAnim Anim La PlayLisT
        if ($AideAnim(ShowSong) == ON) { msg $AideAnim(Salon) $AideAnim(Couleur2) .:: $+ $AideAnim(Couleur1) $AideAnim(Nom) $AideAnim(Couleur2) $+ ::. $+ $AideAnim(Couleur1) $nick $AideAnim(Couleur2) $+ vient de caler une pure $+ $AideAnim(Couleur1) PlayLisT $+ $AideAnim(Couleur2) sur $+ $AideAnim(Couleur1) $AideAnim(Nom) $AideAnim(Couleur2) $+ ! }
      }
    }
  }
}

### Aliasses / Sock / Hashtable ###

alias AideAnim { return $hget(AideAnim,$1) }
On *:START:{ 
  hmake AideAnim 10
  hload -o AideAnim system\data\AideAnim.txt
  AideAnim
}
On 1:LOAD:{
  hmake AideAnim 10
  AideAnim
}
On *:EXIT:{ hsave -o AideAnim system\data\AideAnim.txt }
alias AideAnimTimer {
  shop
  showlisten
  showsong
}
On *:CONNECT:{
  .timerAideAnim $+ $cid 0 7 AideAnimTimer
  join $AideAnim(Salon)
}
alias auditeurs { echo -a $AideAnim(Couleur2) $+ .:: $+ $AideAnim(Couleur1) $AideAnim(Nom) $AideAnim(Couleur2) $+ ::. $+ $AideAnim(Couleur1) Il y a actuellement $+ $AideAnim(Couleur2) $AideAnim(Auditeurs) $AideAnim(Couleur1) $+ auditeur $+ $iif($AideAnim(Auditeurs) > 1,s) $+ , le maximum atteind sur ce serveur est de $+ $AideAnim(Couleur2) $AideAnim(MaxAuditeurs) $+ $AideAnim(Couleur1) auditeur $+ $iif($AideAnim(MaxAuditeurs) > 1,s) $+ ! } 
alias radioask {
  $iif(!$window(@Dédicace),Window -zg0nk0 @Dédicace)
  echo @Dédicace $AideAnim(Couleur2) .:: $+ $AideAnim(Couleur1) Dédicace $AideAnim(Couleur2) $+ ::. $AideAnim(Couleur1) $+ Demande spéciale : < $+ $nick $+ > $1-
  .notice $nick $AideAnim(Couleur1) Ta dédicace suivante est dans la boite : $+ $AideAnim(Couleur2) $1- $AideAnim(Couleur1) $+ . Patiente un peu, elle arrive sur $+ $AideAnim(Couleur2) $AideAnim(Nom) $AideAnim(Couleur1) $+ !
  write Dedicaces.txt $date ? $time ? $nick ? $1-
}
alias showlisten {
  if ($AideAnim(AideAnim) == OFF) { halt }
  if ($AideAnim(ShowListen) == ON) && ($AideAnim(Auditeurs) != $AideAnim(Auditeurs-)) {
    if ($AideAnim(Auditeurs) == $AideAnim(MaxAuditeurs)) { echo -a $AideAnim(Couleur2) .:: $+ $AideAnim(Couleur1) $date $AideAnim(Couleur2) $+ ? $+ $AideAnim(Couleur1) $time $AideAnim(Couleur2) $+ ::. $AideAnim(Nom) $AideAnim(Couleur1) $+ imppose un Nouveau Record de $+ $AideAnim(Couleur2) $AideAnim(Auditeurs) $AideAnim(Couleur1) $+ d'auditeur $+ $iif($AideAnim(Auditeurs) > 1,s) ! }
    else { echo -at $AideAnim(Couleur2) .:: $+ $AideAnim(Couleur1) $AideAnim(Nom) $AideAnim(Couleur2) $+ ::. $AideAnim(Couleur1) $+ Actuellement $+ $AideAnim(Couleur2) $AideAnim(Auditeurs) $AideAnim(Couleur1) $+ auditeur $+ $iif($AideAnim(Auditeurs) > 1,s) ! }
  }
}
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 $AideAnim(Couleur1) $+ Actuellement sur $AideAnim(Nom) : $+ $AideAnim(Couleur2) $7- $AideAnim(BitRate)
  hadd AideAnim Auditeurs $5
  hadd AideAnim MaxAuditeurs $3
  hadd AideAnim BitRate $AideAnim(Couleur1) $+ ( $+ $AideAnim(Couleur2) $6 $+ $AideAnim(Couleur1) $+ Kb/s )
}
alias BackR {
  var %Ianim $$?="Pseudo de l'Anim' à inviter :"
  invite %Ianim $AideAnim(BackRoom)
}
alias AAwinamp {
  hadd AideAnim Winamp $$1
  echo -at $AideAnim(Couleur1) Le lien ".pls" affiché avec la commande $AideAnim(Couleur2) $+ !winamp $AideAnim(Couleur1) $+ vient d'être changé en : $+ $AideAnim(Couleur2) $AideAnim(Winamp)
}
_______________________________________________________________________
@-------------------------------------¤ aurel212@hotmail.fr ¤-------------------------------------@
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Conclusion :


je me suis amélioré sur les hash donc j'ai revu tout ça, on m'a communiqué des petits bugs, j'ai donc corrigé, bref ! ça marche c'est testé et aprouvé ;-)

PS: je précise que "backroom" c'est le salon réservé aux animateurs et que " robot " c'est le nick du bot si il y en a un qui propose déjà toutes ces informations, inutile de refaire éxactement les mêmes choses que lui ;)

et encore une fois .. ne me dites pas que c'est un bot svp !! :p

Codes Sources

A voir également

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.