Un petit away tout simple fonctionnant sur plusiquers serveurs à la fois

Contenu du snippet

Voila, c'est un système d'away qui permet plusieurs petites choses... Déjà ca annonce le départ et sa raison. Au retour cela annonce la durée de l'absence. Ensuite, si on recoit un pv lors de l'absence, un répondeur annonce que l'on est absent. Enfin, si on recoit un HL lors de l'absence, on recoit en copie la ligne concernée dans une fenetre de messages.

Source / Exemple :


; %depart.heure => heure de mise en away
; %depart.seconde => heure de mise en away mais en secondes cela sert pour le calcul du temps d'away
; %away => est on si on est away et est NULL si on ne l'est pas
; %raison => comme son nom l'indique, ce la correspond à la raison qu'on a donné pour l'away
; %duree => est la durée de l'absence

########mise en absence###############
alias absent {
  %depart.heure = $time
  %depart.seconde = $ctime
  %away = on
  %raison = $1-
  scid -at1 nick SON_NICK_AWAY
  scid -at1 ame part pour la raison suivante :4 %raison
}

########mise en retour################
alias retour {
  %duree = $calc($ctime - %depart.seconde)
  scid -at1 ame est de retour apres $duration(%duree,N)
  scid -at1 nick SON_NICK
  themis identify MOT_DE_PASSE
  unset %away
  unset %depart.heure
  unset %heure.seconde
  unset %raison
}

##########répondeur de PV#############
ON *:TEXT:*:?:{
  if (%away == on) {
    msg $nick Salut $nick , désolé mais je suis away depuis %depart.heure (heure de france) pour :4 %raison
  }
}

##########Récupération des HL###########
ON *:TEXT:*:#:{
  if (%away == on && $me isin $1-) {
      notice $nick Désolé $nick $+ , mais je suis absent pour la raison suivante :4 %raison
      echo -d 4 $time 14 $nick 12 $1-
    }
}

Conclusion :


Voila un away très simple. Pour le lancer il suffit de dire n'importe ou /absent raison ; et pour sortir de l'away, il suffit de dire /retour.
Voila j'attend vos commentaire, c'est vrai que j'aurais pu mettre des variables au début pour personnaliser le repondeur de pv et la notice lors d'un HL, mais vu la simplicité du code, tous les paramètres sont très facilement repérables.
J'attend donc vos commentaires. J'ai volontairement mis plusieurs variables intermédiaire pour plus de claireté et de lisibilité.

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.