PROGRAMME POUR N'ACCEPTER QUE LES IPS PROVENANT DE TEL PAYS
Popups & dialog
Inscrivez le(s) pays que vous voulez accepter
- Attendez...
Source / Exemple :
menu channel {
-
PAYS ACCEPTER
.OPEN_DIALOG:{ ip_location }
.$iif(%_bio. [ $+ [ # ] ],OFF,ON):{
set %_bio. [ $+ [ # ] ] $iif(%_bio. [ $+ [ # ] ],0,1)
}
.addpays:{
var %bi $$?="Pays"
if ($findtok(%_bi. [ $+ [ # ] ],%bi,0,44)) {
echo -a Ce Pays Fait Déjà Parti de la list de #
}
else { set %_bi. [ $+ [ # ] ] $addtok(%_bi. [ $+ [ # ] ],%bi,44) | echo -a Ajout du %bi à la list de # }
}
.delpays:{
var %bi2 $$?="Pays"
set %_bi. [ $+ [ # ] ] $remtok(%_bi. [ $+ [ # ] ],%bi2,1,44)
echo -a Retrait du %bi2 à la list de #
}
.showpays://echo -a $iif(%_bi. [ $+ [ # ] ],$ifmatch,Nothing)
}
alias -l ip_location { dialog -mod _ip_location _ip_location }
dialog _ip_location {
title "Ras'Z Ip_location"
size -1 -1 177 53
option dbu
box "Pays Accepter", 1, 3 4 172 34
button "ACCEPTER", 2, 97 39 37 12, ok
button "REFUSER", 3, 134 39 40 12, cancel
edit "", 4, 71 13 62 10
button "ajouter", 6, 135 13 37 10
combo 5, 5 13 65 180, size drop
list 7, 71 24 62 10, size vsbar
button "retirer", 8, 135 24 37 10
text "ON", 10, 9 27 8 7, center
text "OFF", 11, 17 27 11 7, center
link "ON", 13, 9 27 8 7
link "OFF", 12, 17 27 11 7
link " RasZa Links Alright Reserved~© ", 9, 2 43 91 8
}
on *:dialog:_ip_location:init:*:{
did -h $dname 12,13
did -b $dname 4,6,7,8
var %_a 1
while $chan(%_a) {
did -o $dname 5 %_a $ifmatch
inc %_a
}
}
on *:dialog:_ip_location:sclick:5:{
if (%_bio. [ $+ [ $did($did) ] ]) {
did -e $dname 4,6,7,8
did -v $dname 10,12
did -h $dname 11,13
}
else { did -b $dname 4,6,7,8 | did -h $dname 10,12 | did -v $dname 11,13 }
did -r $dname 4,7
if (%_bi. [ $+ [ $did($did) ] ]) {
var %_a 1
while $gettok(%_bi. [ $+ [ $did($did) ] ],%_a,44) {
did -o $dname 7 %_a $ifmatch
inc %_a
}
}
}
on *:dialog:_ip_location:sclick:6:{
if ($findtok(%_bi. [ $+ [ $did(5) ] ],$did(4),0,44)) {
echo -a Ce Pays Fait Déjà Parti de la list de $did(5)
}
else {
set %_bi. [ $+ [ $did(5) ] ] $addtok(%_bi. [ $+ [ $did(5) ] ],$did(4),44) | echo -a Ajout du $did(4) à la list de $did(5)
did -a $dname 7 $did(4)
}
}
on *:dialog:_ip_location:sclick:8:{
if ($did(7).sel) {
set %_bi. [ $+ [ $did(5) ] ] $remtok(%_bi. [ $+ [ $did(5) ] ],$did(7).seltext,1,44)
echo -a Retrait du $did(7).seltext à la list de $did(5)
did -d $dname 7 $did(7).sel
}
else { echo -a Choisi QuelQue Chose !! }
}
on *:dialog:_ip_location:sclick:12:{ unset %_bio. [ $+ [ $did(5) ] ] | did -h $dname 10,12 | did -v $dname 11,13 | did -b $dname 4,6,7,8 }
on *:dialog:_ip_location:sclick:13:{ set %_bio. [ $+ [ $did(5) ] ] 1 | did -v $dname 10,12 | did -h $dname 11,13 | did -e $dname 4,6,7,8 }
on @!*:join:#:{
if %_bio. [ $+ [ # ] ] {
if *users.undernet.org iswm $site { halt }
var %_reg (^([1-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.\d|\.[1-9]\d|\.1\d{2}|\.2[0-4]\d|\.25[0-5]){3}$)
if $regex($site,%_reg) {
set %_bir. [ $+ [ $site ] ] $+(#,$chr(44),$nick)
dnss_lookup $site
}
else {
.enable #group.dns
set %_biv. [ $+ [ $site ] ] $+(#,$chr(44),$nick)
dns $site
}
}
}
#group.dns off
on *:dns:{
if ($raddress) {
set %_bir. [ $+ [ $iaddress ] ] %_biv. [ $+ [ $naddress ] ]
dnss_lookup $iaddress
}
.disable #groud.dns
else { halt }
}
#group.dns end
alias -l dnss_lookup {
sockopen dnss_lookup- [ $+ [ $1 ] ] www.dnsstuff.com 80
.timer $+ $1 1 2 sockclose dnss_lookup- [ $+ [ $1 ] ]
}
on *:SOCKOPEN:dnss_lookup-*: {
sockwrite -n $sockname GET $+(/tools/city.ch?ip=,$gettok($sockname,2,45)) HTTP/1.1
sockwrite -n $sockname Host: www.dnsstuff.com
sockwrite -n $sockname User-agent: mIRC/ $+ $version
sockwrite -n $sockname $crlf
}
on *:SOCKREAD:dnss_lookup-*: {
var %tmp
sockread %tmp
while ($sockbr) {
if (*Country:* iswm %tmp) { check.country $+($gettok(%tmp,2,58),$chr(44),$gettok($sockname,2,45),$chr(44),%_bir. [ $+ [ $gettok($sockname,2,45) ] ]) }
sockread %tmp
}
}
alias -l check.country {
tokenize 44 $1
if !$istok(%_bi. [ $+ [ $3 ] ],$1,44) {
mode $3 +b $+(*!*@,$2)
kick $3 $4 Tourisme : Retourne dans Ton PAYS
}
}
Conclusion :
Pour des explication concrètes et en détails , venez me voir sur undernet : #ircfr , #scriptage ou #scripteur . Mon nickname est [Ras][Z-a]
Bienvenue au commentaire et amélioration.
J'ai pensé ajouter un ban de range , seulement des petits problèmes surviennent , donc se n'est pas pour tout suite
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.