Autovoice avec possibilité de black-lister

Contenu du snippet

Autovoice classique avec fonction supplémentaire : vous pouvez empêcher quiconque de bénéficier du voice en ajoutant son host à la liste noire.

Le code principal de la source est à mettre dans la partie remote de mIRc.

Mettez cette ligne dans la partie popup pour ajouter un raccourci graphique au lancement du script :
Gérer l'autovoice:/dialog -m avoice avoice

Sinon, tapez /dialog -m avoice avoice pour le lancer.

Source / Exemple :


on *:JOIN:*:{
  if ($chan == $readini(chanVoice.ini,$chan,avoice) && $address($nick,2) != $readini(chanVoiceBlack.ini,$address($nick,2),novoice)) mode $chan +v $nick
}

dialog avoice {
  title "Gestion de l'autovoice"
  size -1 -1 359 195
  option pixels
  tab "Gestion des salons", 1, 4 2 351 189
  button "Supprimer", 4, 148 61 66 23, tab 1
  text "Ajoutez ou supprimer un salon de la liste permet de voicer toutes les personnes qui y rentrent. N'oubliez pas de vous appliquer les modes +h, +o, +a ou +q pour que ce script fonctionne.", 5, 221 28 129 139, tab 1
  button "Ajouter", 7, 149 35 66 22, tab 1
  edit "#", 3, 14 33 127 22, tab 1
  list 13, 14 59 125 116, tab 1 size
  tab "Gestion de la liste noire", 2
  text "La liste noire permet d'empécher certaines personnes de profiter de l'avoice sur les salons configurés. Les membres listés ne seront voicés sur un aucun salon ou ce script est actif.", 8, 234 33 109 143, tab 2
  button "Ajouter", 11, 163 35 66 23, tab 2
  button "Supprimer", 12, 164 62 65 22, tab 2
  edit "*!*@", 6, 16 35 140 20, tab 2
  list 14, 16 57 140 110, tab 2 size
}

on *:dialog:avoice:init:0:{
  %i = 1
  while ( %i <= $ini(chanVoice.ini,0)) {
    did -a  $dname 13 $ini(chanVoice.ini,%i)
    inc %i
  }
  %i = 1
  while ( %i <= $ini(chanVoiceBlack.ini,0)) {
    did -a  $dname 14 $ini(chanVoiceBlack.ini,%i)
    inc %i
  }
}
on *:dialog:avoice:sclick:*:{
  if ($did == 7) { 
    //writeini -n chanVoice.ini $did(3) avoice $did(3)
    did -r  $dname 13
    did -r  $dname 3
    %i = 1
    while ( %i <= $ini(chanVoice.ini,0)) {
      did -a  $dname 13 $ini(chanVoice.ini,%i)
      inc %i
    }
  }
  if ($did == 4) { 
    //remini -n chanVoice.ini $did(13).seltext
    did -r  $dname 13
    %i = 1
    while ( %i <= $ini(chanVoice.ini,0)) {
      did -a  $dname 13 $ini(chanVoice.ini,%i)
      inc %i
    }
  }

  if ($did == 11) { 
    //writeini -n chanVoiceBlack.ini $did(6) novoice $did(6)
    did -r  $dname 14
    did -r  $dname 6
    %i = 1
    while ( %i <= $ini(chanVoiceBlack.ini,0)) {
      did -a  $dname 14 $ini(chanVoiceBlack.ini,%i)
      inc %i
    }
  }
  if ($did == 12) { 
    //remini -n chanVoiceBlack.ini $did(14).seltext
    did -r  $dname 14
    %i = 1
    while ( %i <= $ini(chanVoiceBlack.ini,0)) {
      did -a  $dname 14 $ini(chanVoiceBlack.ini,%i)
      inc %i
    }
  }
}

Conclusion :


L'adresse à black-lister est comparé sous la forme *!*@host.
Il est donc obligatoire de mettre une host sous cette forme (c'est $addresse($nick,2))

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.