All pastes #491901 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-05-16 22:20 UTC
rendered paste body
;================================================
;  Simple Helpbot
;  Version 1.3 FR
;  Ecrit par: xDaeMoN
;  Email: xdaemon@xdaemon.us
;  Version Francais Par [Marc]
;  MarcGap@gmail.com
;
;    Commands:  (OPÉRATEUR SEULEMENT)
;
;    !aide on/off = activer ou désactiver le script
;    !suivant = voice le prochain user a aider
;    !aidé <nick> = utiliser après avoir aidé le user
;    !list = list des users en attente
;    !clist = list des users aidés
;
;================================================

on !*:JOIN:%help.chan: {
  if ( $readini(uhelp.ini,config,stat) ) {
    writeini uhelp.ini $chan $_n1($nick) help
    .notice $nick Veuillez attendre votre tour car nous sommes occupés en ce moment. Vous serez voice automatiquement quand nous finirons avec les personnes courantes. Vous êtes $ini(uhelp.ini,$chan,0)  en ligne. Merci !
  }
}

on *:TEXT:!*:%help.chan: {
  if ( $nick isop $chan ) {
    if ( !aide == $1 ) {
      if ( $2 == on ) {
        if (!$readini(uhelp.ini,config,stat)) {
          writeini uhelp.ini config stat 1
          .notice $nick ** Bureau d'aide activé.
          .msg $chan Bureau d'aide pour $chan est maintenant activé.
        }
        else .notice $nick Bureau d'aide déjà activé
      }
      elseif ( $2 == off ) {
        if ($readini(uhelp.ini,config,stat)) {
          .remove uhelp.ini
          .notice $nick ** Bureau d'aide désactivé.
          .msg $chan Bureau d'aide pour $chan est maintenant désactivé.
        }
        else .notice $nick Bureau d'aide déjà désactivé
      }
    }
    elseif ( $1 == !suivant ) {
      if ($readini(uhelp.ini,config,stat)) {
        nextuser $nick $chan
      }
      else .notice $nick Le bureau d'aide n'est pas activé.
    }
    elseif ( $1 == !aidé ) {
      if ( $readini(uhelp.ini,config,stat) ) {
        if ( $2 ison $chan ) { 
          if ( $readini(uhelp.ini,current,$_n1($2)) ) {
            mode $chan -v $2
            remini uhelp.ini current $_n1($2)
            .notice $2 Votre question a été répondue. Veuillez partir du canal maintenant. Merci.
          }
          else .notice $nick ** Parametres incorect: !aidé <nick>
        }
        else .notice $nick ** Parametres incorect: $2 n'est pas sur $chan $+ .
      }
      else .notice $nick Le bureau d'aide n'est pas activé.
    }
    elseif ( $1 == !list ) {
      if ( $readini(uhelp.ini,config,stat) ) {
        if ($ini(uhelp.ini,$chan,0) ) {
          .notice $nick ** $v1 User(s) sur la list d'aide **
          var %hc = 1
          while $ini(uhelp.ini,$chan,%hc) {
            .notice $nick $_n2($v1) 
            inc %hc
          }
          .notice $nick ** Fin de la liste d'aide **
        }
        else .notice $nick  Liste vide.
      }
      else .notice $nick Le bureau d'aide n'est pas activé.
    }
    elseif ( $1 == !clist ) {
      if ( $readini(uhelp.ini,config,stat) ) {
        if ( $ini(uhelp.ini,current,0) ) {
          .notice $nick ** $v1 User(s) Liste de aidé **
          var %h = 1
          while $ini(uhelp.ini,current,%h) {
            .notice $nick $readini(uhelp.ini,current,$_n2($v1)) is currently helping $_n2($v1)
            inc %h
          }
          .notice $nick ** Fin de la liste **
        }
        else .notice $nick Liste vide.
      }
      else .notice $nick Le bureau d'aide n'est pas activé
    }
  }
}

alias nextuser {
  if ( $ini(uhelp.ini,$2,0) ) {
    if ( $_n2($ini(uhelp.ini,$2,1)) ison $2 ) {
      mode $2 +v $v1
      .notice $v1 $1 va maintenant vous aidé
      remini uhelp.ini $2 $_n1($v1)
      writeini uhelp.ini current $_n1($v1) $1
    }
    else {
      remini uhelp.ini $2 $_n1($v1)
      .timer 1 1 nextuser $1 $2
    }
  }
  else .notice $1 Liste vide.
}

alias _n1 { return $replace($1,[,«,],») }

alias _n2 { return $replace($1,«,[,»,]) }

on !*:PART:%help.chan: {
  if ( $readini(uhelp.ini,current,$_n1($nick)) ) remini uhelp.ini current $_n1($nick)
  elseif ( $readini(uhelp.ini,$chan,$_n1($nick)) ) remini uhelp.ini $chan $_n1($nick)
}

on !*:OP:%help.chan: {
  if ( $readini(uhelp.ini,$chan,$_n1($opnick)) ) remini uhelp.ini $chan $_n1($opnick)
}

on *:SERVEROP:%help.chan: {
  if ( $readini(uhelp.ini,$chan,$_n1($opnick)) ) remini uhelp.ini $chan $_n1($opnick)
}

on !*:QUIT: {
  if ( $readini(uhelp.ini,current,$_n1($nick)) ) remini uhelp.ini current $_n1($nick)
  elseif ($readini(uhelp.ini,%help.chan,$_n1($nick))) remini uhelp.ini %help.chan $_n1($nick)
}

on !*:KICK:%help.chan: {
  if ( $readini(uhelp.ini,current,$_n1($knick)) ) remini uhelp.ini current $_n1($knick)
  elseif ($readini(uhelp.ini,$chan,$_n1($knick))) remini uhelp.ini $chan $_n1($knick)
}

on !*:VOICE:%help.chan: {
  if ( $readini(uhelp.ini,$chan,$_n1($vnick)) ) {
    remini uhelp.ini $chan $_n1($vnick)
  }
} 

menu menubar,channel {
  Canal d'aide $iif(%help.chan, $+($chr(40),$v1,$chr(41)), (NONE))
  .$iif(%help.chan,Changer, Changer le canal d'aide):set -s %help.chan #$$?="Entre le #Canal:"
}