Record affluence multi-salon

Contenu du snippet

Bon, je poste maintenant a 1ere source :

Un Compteur d'affluence de salon, avec record ; avec des commandes pour voir le record actuel et pour réinitialiser les records.

Commandes :

!record : donne le record du salon actuel
!record <salon> : donne le record du salon donné
!recoreboot : réinitialise tous les records (op seulement)
!recoreboot <salon> : réinitialise le record du salon donné. (op seulement)
!recoroff : Désactive le record sur le chan ou vous etes (op seulement)
!recoron : Active le record sur le salon ou vous etes (op uniquement)

Voila

PS : Je n'ai pas mis de couleurs, a vous de les mettres si vous en avez envie
PS² : A la base, cette source est pour un bot, mais rien ne vous empeche de l'intégrer a votre script.

Edit : Mise a jour 07/05

Sourve venant de FreeBoT (de moi) visible sur irc.tchat-cool.fr #freebot

Source / Exemple :


on 1!:JOIN:#:{ 
  if (%recordoff [ $+ [ $chan ] ] != off) { 
    if ( %user.record [ $+ [ $chan ] ] == $null ) { 
      set %user.record [ $+ [ $chan ] ] $nick($chan, 0)
      timer 1 2 msg # Record créé, il est actuellement de %user.record [ $+ [ $chan ] ] personnes.
    }
    set %user.courant [ $+ [ $chan ] ] $nick($chan, 0)
    notice $nick Bienvenue $nick ! Avec ton entrée, nous sommes %user.courant [ $+ [ $chan ] ] personnes sur # $+ , le record du salon est de %user.record [ $+ [ $chan ] ] personnes, plus que $calc( %user.record [ $+ [ $chan ] ] - %user.courant [ $+ [ $chan ] ] ) personnes pour battre ce record ! 
    if ( %user.courant [ $+ [ $chan ] ] > %user.record [ $+ [ $chan ] ] ) {
      set %user.record [ $+ [ $chan ] ] %user.courant [ $+ [ $chan ] ]
      msg # 8,4/!\9,1 RECORD BATTU 8,4/!\1,0 : Le canal $chan vient de passer à %user.record [ $+ [ $chan ] ] user ! Ce qui en fait un nouveau record !! Merci $nick !
    }
  }
  else { notice $nick Bienvenue $nick ! Avec ton entrée, nous sommes $nick(#,0) personnes sur # $+ , le record du compte d'user est désactivé, si tu est OP (4@) et que tu souhiate l'activer, tape 4!recoron  }
}

on *:text:*:#:{
  if (!record == $strip($1-)) {
    if (%recordoff [ $+ [ $chan ] ] != off) { 
      if (!$2) {
        if ( %user.record [ $+ [ $chan ] ] != $null ) { msg # Le record de ce salon ( $+ $chan $+ ) est de %user.record [ $+ [ $chan ] ] personnes ! }
        else { msg # Je n'ai trouvé aucun record pour $chan $+ , peut-être qu'il a été réinitialisé, tape4 /hop pour en créer un. }
      }
      if ($2) {
        if ( %user.record [ $+ [ $2 ] ] != $null ) { msg # Le record du salon $2 est de %user.record [ $+ [ $2 ] ] personnes ! }
        else { msg # Je n'ai trouvé aucun record pour $2 $+ , peut-être que je ne suis pas sur ce salon, ou alors que le record a été réinitialisé ! }
      }
    }
    else { notice $nick Les records sont désactivés sur7 # }
  }
  if ($nick isop $chan) && (!recoreboot == $strip($1-)) { 
    if (%recordoff [ $+ [ $chan ] ] != off) {
      if (!$2) {
        unset %user.courant* %user.record* 
        msg # Tous les records ont été réinitialisés.
      }
      if ($2) {
        unset %user.record [ $+ [ $2 ] ] %user.courant [ $+ [ $2 ] ] 
        msg # Les records de7 $2 3ont été réinitialisés.
      }
    }
    else { notice $nick Les records sont désactivés sur # $+ , donc pas besoin de reboot :)  }
  }
  else { notice $nick Il faut etre OP (4@3) sur le salon pour utiliser cette commande. }
  if ($nick isop $chan) && (!recoroff == $strip($1-)) {
    if (%recordoff [ $+ [ $chan ] ] != off) {
      set %recordoff [ $+ [ $chan ] ] off
      msg # Le compteur d'utilisateur est maintenant OFF sur # (ainsi que le record)
    }
    else { notice $nick  Les compteurs sont déjà OFF sur # }
  }
  else { notice $nick Il faut etre OP (4@) sur le salon pour utiliser cette commande. }
  if ($nick isop $chan) && (!recoron == $strip($1-)) {
    if (%recordoff [ $+ [ $chan ] ] == off) {
      unset %recordoff [ $+ [ $chan ] ]
      msg # Le compteur d'utilisateur est à nouveau ON sur # (ainsi que le record) 
    }
    else { notice $nick Le compteur et le record sont déjà actifs sur # }
  }
  else { notice $nick Il faut etre OP (4@) sur le salon pour utiliser cette commande. }
}

Conclusion :


Je conçois que ce code est loin d'etre parfait, qu'il peut être amélioré, mais tant qu'il marche, je m'en fout :). Et je tiens a dire que je ne suis ni un pro dans la catégorie, ni du genre a me prendre la tete pour ça. Si j'ai mis cette source, c'est pour rendre service a certains et non pour faire un concours avec d'autres.

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.