Aide - Recherche - Membres - Calendrier
Version complète : Autoguestkicker Et Antiguestflood
CCS Forums > VSIXc Chat > FlashVSI
C•Dryk™
CITATION
Ce script envoie un PV aux invités (Guest) les invitant à s'enregistrer sur VSIXc, puis les kick au bout de 10 secondes. Il assure également la détection des Flood invités, lorsque trop d'invités entrent de suite en salle, et place alors un ban temporaire interdisant simplement les invités sur la salle pendant 2 minutes.

Ce script travail par les informations Join et Raw pour simuler 2 processus, et la détection des flood invités est étudiée pour chaque salle indépendamment. Votre bot doit être Animateur ou Propriétaire sur la salle.


Copiez/Collez simplement ce code dans un nouveau script de votre FlashVSI Bot, ou de la version de mIRC qui utilise FlashVSI.

- Pour créer un nouveau script dans mIRC, allez dans le menu "outils" puis cliquez "Remote" ou alors faites simplement la combinaison des touches ALT et R
- Une fois dans le Remote, cliquez sur "Fichier" ("File" pour une version anglaise de mIRC), et cliquez sur "Nouveau" (ou "New"). Le nouveau script (vierge pour le moment) porte maintenant le nom script.mrc ou scriptX.mrc (où X est un chiffre). Allez de suite dans "Fichier" (ou "File") et cliquez "Enregistrer sous" (ou "Save as"), afin de donner un nom convenable pour mieux retrouver votre script. Appelez le par exemple guestkicker.mrc ou un nom qui vous convient finissant par .mrc
- Collez ensuite simplement dans ce nouveau script "vide" le code ci-dessous.

CODE
;
; AutoGuestKick / AntiGuestFlood
; for FlashVSI 1.0/1.1/+ on VSIXc Chat ONLY !
; by C-Dryk ( http://www.ccscript.online.fr )
;

#guestflood on
;
; CCS - GuestFloodKick
;
; EN
; - No more than 3 Guest / 45 seconds
; you can change 45 by a custom value. (see bellow)
;
; FR
; - Pas plus de 3 Guest / 45 secondes
; changez 45 au besoin. (voir ci-dessous)
;
#guestflood end

alias ccs.gkvalue return 45

;
; CCS - AutoGuestKick
;
; EN
; 1 - Sends a Whisper when a Guest joins in. You can change the message bellow.
; 2 - The guest will be kicked 10 seconds later.
; You can change the 10 seconds value by a custom value, as well as the kick message, bellow.
;
; FR
; 1 - Envoie un message privé quand un invité (Guest) entre en salle. Vous pouvez changer le message ci-dessous.
; 2 - Kick de l'invité 10 secondes plus tard.
; Vous pouvez changer la valeur 10 secondes par votre valeur, et le message du kick ci-dessous.
;
; 1
alias ccs.gkmsg1 return SVP enregistrez-vous pour chatter ici! : http://vsixc.ath.cx/index.php?page=register :) Nous vous attendons;) ...
; 2
alias ccs.gkmsg2 return Merci de vous enregistrer;) http://vsixc.ath.cx/index.php?page=register
alias ccs.gktime return 10
;

;------------------------------------------------------------

;
;Ne changez pas ces lignes essentielles au bon fonctionnement
;Don't modify these lines required for the full script to work
;

On me:*:JOIN:#: set -u6 %tmp.gkoff $true

On @!*:JOIN:#: {

  if (*Guest* iswm $nick) && ($remove($nick,Guest) isnum) {

    if ($group(#guestflood) == on) {
      if (!%guest. [ $+ [ # ] ]) set -u [ $+ [ $ccs.gkvalue ] ] %guest. [ $+ [ # ] ] 1
      else inc %guest. [ $+ [ # ] ]
      if (%guest. [ $+ [ # ] ] >= 3) {
        if ($isalias(vsixdbg)) vsixdbg 2GuestFlood: Ban ~Guest in # (2 minutes)
        var %tmp.gfmsg = [Guest-Flood : Access Ban ~Guest (2 $vsix.translate(mns) $+ )]
        PRIVMSG # $vsix.doencode(Arial Narrow, FF9900, $true, $true, %tmp.gfmsg)
        ACCESS # ADD DENY *~Guest@* 2
        var %tmp.rand = $rand(501,1000)
        set %tmp.changf. [ $+ [ %tmp.rand ] ] #
        .timer.guestfree. [ $+ [ $rand(1,500) ] ] 1 120 /PRIVMSG % $+ tmp.changf. [ $+ [ %tmp.rand ] ] $vsix.doencode(Arial Narrow, 009393, $true, $true, [Guest-Flood : Access Ban ~Guest OFF])
        .timer.guestfree. [ $+ [ %tmp.rand ] ] 1 125 .unset % $+ tmp.changf. [ $+ [ %tmp.rand ] ]
      }
    }

    if ($group(#guestkicker) == on) {
      if (%tmp.g2nick == $nick) && (%tmp.g1chan == #) return
      if (%tmp.g1nick) && (%tmp.g1chan) return
      cc1.guestkick # $nick (join)
    }

  }
}

#guestkicker on
Raw 352:*: {
  if (%tmp.gkoff) return
  if ($me !isop $2) && ($me !isowner $2) return
  if (%tmp.g1nick == $6) && (%tmp.g1chan == $2) return
  if (%tmp.g2nick) && (%tmp.g2chan) return
  if ($6 != $3) && ($strip($$3) === ~Guest) {
    cc2.guestkick $2 $6 (raw)
  }
}
#guestkicker end

alias cc1.guestkick {
  set -u [ $+ [ $calc( $ccs.gktime + 5 ) ] ] %tmp.g1nick $2
  set -u [ $+ [ $calc( $ccs.gktime + 5 ) ] ] %tmp.g1chan $1
  if ($isalias(vsixdbg)) vsixdbg 2GuestKicker: $2 in $1 $3 Start timer $ccs.gktime secondes...
  .timer.no1guest1 1 1 MSG % $+ tmp.g1nick $ccs.gkmsg1
  .timer.no1guest2 1 $ccs.gktime KICK % $+ tmp.g1chan % $+ tmp.g1nick $ccs.gkmsg2
  .timer.no1guest3 1 $ccs.gktime .unset % $+ tmp.g1chan
  .timer.no1guest4 1 $ccs.gktime .unset % $+ tmp.g1nick
}

alias cc2.guestkick {
  set -u [ $+ [ $calc( $ccs.gktime + 5 ) ] ] %tmp.g2nick $2
  set -u [ $+ [ $calc( $ccs.gktime + 5 ) ] ] %tmp.g2chan $1
  if ($isalias(vsixdbg)) vsixdbg 2GuestKicker: $2 in $1 $3 Start timer $ccs.gktime secondes ...
  .timer.no2guest1 1 1 MSG % $+ tmp.g2nick $ccs.gkmsg1
  .timer.no2guest2 1 $ccs.gktime KICK % $+ tmp.g2chan % $+ tmp.g2nick $ccs.gkmsg2
  .timer.no2guest3 1 $ccs.gktime .unset % $+ tmp.g2chan
  .timer.no2guest4 1 $ccs.gktime .unset % $+ tmp.g2nick
}

menu menubar,status,channel {
  -
  Guest Kicker
  .AutoGuestKick
  .. $+ $iif($group(#guestkicker) == on,$style(1)) ON:.enable #guestkicker
  .. $+ $iif($group(#guestkicker) == off,$style(1)) OFF:.disable #guestkicker
  .AntiGuestFlood
  .. $+ $iif($group(#guestflood) == on,$style(1)) ON:.enable #guestflood
  .. $+ $iif($group(#guestflood) == off,$style(1)) OFF:.disable #guestflood
}


Vous trouverez maintenant dans le menu FlashVSI ou certains menus de mIRC "Guest Kicker" avec la possibilité de basculer sur ON ou OFF le AutoGuestKick et le AntiGuestFlood.
C•Dryk™
N'hésitez pas à me laisser vos impression sur ce code ci-après, et à me dire si vous souhaiteriez plus d'Add-Ons de ce type pour la connexion FlashVSI smile.gif
Orus
CITATION(C•Dryk™ @ 08/02/2007, 20:55) *
N'hésitez pas à me laisser vos impression sur ce code ci-après, et à me dire si vous souhaiteriez plus d'Add-Ons de ce type pour la connexion FlashVSI smile.gif

yo tongue.gif

j'ai une petite suggestion.

Si au lieu de prendre ~guest tu prenais juste le ~ ça permettrait peut être de scanné tous les non enregistré.
exemple je passe par une salle customisé je me nomme blah dans le raw ça donne : ~blah bopwtcxqhbpo VSIXc blah H 0 N07
si j'entre en laissant guest le raw me retourne : ~Guest bopwtcxqhbpo VSIXc Guest120 ... ...

donc si le prefix ~ annonce un pseudo non enregistré, ça serait peut être pas mal de tout detecter

enfin juste une petite idée tongue.gif

à plus wink.gif
C•Dryk™
Bah oui c'est une bonne idée, j'avais pensé à ça au début, mais en fait ~ c'est un pseudo cloné, et je pensais faire un anti-clone tongue.gif Donc je m'étais dit pour ce code on va vraiment exclure que les guest. Enfin je sais pas si tu vois l'idée, mais il y aurait certainement un clonekicker à côté, et personne ne serait surpris de la détection du guestkicker ainsi.
ninie
CITATION(C•Dryk™ @ 10/02/2007, 17:22) *
Bah oui c'est une bonne idée, j'avais pensé à ça au début, mais en fait ~ c'est un pseudo cloné, et je pensais faire un anti-clone tongue.gif Donc je m'étais dit pour ce code on va vraiment exclure que les guest. Enfin je sais pas si tu vois l'idée, mais il y aurait certainement un clonekicker à côté, et personne ne serait surpris de la détection du guestkicker ainsi.


coucou...
jai installer le guest kiker jaime bien mais quand jessai de changer le 10 sec ben il y a tjrs un message davertissement mais il ne kik pu...ca marque Cette salle de conversation n'existe pas: Merci...


ninie rolleyes.gif
C•Dryk™
Hello, oui en effet j'ai constaté ce que tu dis tongue.gif:p Un petit oublie de ma part sur la durée de certaines variables temporaires. Le code a été corrigé dans le message original. Il te suffit de remplacer l'ancien code par le nouveau ! Merci à toi d'avoir signalé cette erreur.
ninie
CITATION(C•Dryk™ @ 02/03/2007, 09:23) *
Hello, oui en effet j'ai constaté ce que tu dis tongue.gif:p Un petit oublie de ma part sur la durée de certaines variables temporaires. Le code a été corrigé dans le message original. Il te suffit de remplacer l'ancien code par le nouveau ! Merci à toi d'avoir signalé cette erreur.


allo...
ok jai remplacer et la ca fonctionne tres bien...merci good.gif

ninie tongue.gif:p
Ceci une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquez ici.
Invision Power Board © 2001-2012 Invision Power Services, Inc.