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.
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
}
; 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.
