|
Joined: May 2022
Posts: 119
Vogon poet
|
OP
Vogon poet
Joined: May 2022
Posts: 119 |
ive tested this and it all works for me Note: ive used a stacked nicks in the on op event if your networks allows stacked kicks and modes kick #channel nick,nick,nick,nick,nick,nick not sure on what network you are gonna use this as some networks allow stacked kicks.
..................
alias badnick_alias {
var %chan $1 , %nick $2
if (%nick !ison %chan || $nick( %chan , %nick ,@&~%)) { halt }
if ($len( %nick ) < 3 || ($calc($regex(%nick,/[A-Z]/g) * 100 / $len(%nick)) > 30)) { kick %chan %nick please change your nick thanks you.... }
}
.....................
I looks really great and (of course) perfectly work. Can I change badnick_alias with this:
alias badnick_alias {
var %chan $1 , %nick $2
if (%nick !ison %chan || $nick( %chan , %nick ,@&~%)) { halt }
if ($len( %nick ) < 3 || ($calc($regex(%nick,/[A-Z]/g) * 100 / $len(%nick)) > 30)) {
notice %nick FIRST WARN
.timer 1 30 badnick_alias %chan %nick 30
.timer 1 45 badnick_alias %chan %nick 45
.timer 1 60 badnick_alias %chan %nick 60
return
}
elseif ($3 == 30) notice %nick SECOND WARN
elseif ($3 == 45) notice %nick LAST WARN
elseif ($3 == 60) kick %chan %nick KICK
} So to give warning to user and kick after 60 sec?
|
|
|
|
Joined: Nov 2021
Posts: 152
Vogon poet
|
Vogon poet
Joined: Nov 2021
Posts: 152 |
this seems to work for me :
on !*:JOIN:#:{
if (!$Timer($+(CheckNicks,.,$network,.,$chan,.,$nick))) { .Timer $+ $+(CheckNicks,.,$network,.,$chan,.,$nick) -md 1 750 badnick_alias $unsafe($chan) $nick }
}
ON *:nick:{
haltdef
var %whloop = 1
while ( $comchan($newnick,%whloop) != $null ) {
var %chan $v1
if (!$nick(%chan,$newnick,@&~%) && $nick(%chan,$me,@&~%)) { badnick_alias %chan $newnick }
inc %whloop
}
halt
}
ON *:op:#test:{
if ($opnick == $me) {
var %loop = 1, %nick , %kickmsg = please change your nick thank you....
while (%loop <= $nick($chan,0)) {
%nick = $nick($chan,%loop)
if ($len( %nick ) < 3 || ($calc($regex(%nick,/[A-Z]/g) * 100 / $len(%nick)) > 30)) {
if (!$nick($chan,%nick,~&@%+)) { var %kick = $addtok(%kick,%nick,44) }
if ($numtok(%kick,44) == 4) { kick $chan %kick %kickmsg | unset %kick }
}
inc %loop 1
}
}
if (%kick) { kick $chan %kick %kickmsg }
}
alias badnick_alias {
var %chan $1 , %nick $2
if (%nick !ison %chan || $nick( %chan , %nick ,@&~%)) { halt }
if ($len( %nick ) < 3 || ($calc($regex(%nick,/[A-Z]/g) * 100 / $len(%nick)) > 30)) {
if (!$Timer($+(CheckNickZ,.,$network,.,%chan,.,%nick))) {
NOTICE %nick FIRST WARNING
.Timer $+ $+(CheckNickZ,.,$network,.,%chan,.,%nick) 3 15 badnick_still_on_chan $unsafe(%chan) %nick
}
}
}
alias badnick_still_on_chan {
inc % [ $+ [ $+(CheckWarnings,.,$network,.,$1,.,$2) ] ]
if ($2 ison $1 && % [ $+ [ $+(CheckWarnings,.,$network,.,$1,.,$2) ] ] < 3) { NOTICE $2 % [ $+ [ $+(CheckWarnings,.,$network,.,$1,.,$2) ] ] WARNINGS }
elseif ( % [ $+ [ $+(CheckWarnings,.,$network,.,$1,.,$2) ] ] == 3 && $2 ison $1 ) { kick $1 $2 % [ $+ [ $+(CheckWarnings,.,$network,.,$1,.,$2) ] ] WARNINGS | .Timer $+ $+(CheckNickZ,.,$network,.,$1,.,$2) off | unset % $+ $+(CheckWarnings,.,$network,.,$1,.,$2) }
elseif ($2 !ison $1) { .Timer $+ $+(CheckNickZ,.,$network,.,$1,.,$2) off | unset % [ $+ [ $+(CheckWarnings,.,$network,.,$1,.,$2) ] ] }
}
|
|
|
|
Joined: May 2022
Posts: 119
Vogon poet
|
OP
Vogon poet
Joined: May 2022
Posts: 119 |
I'll test it Simo. Stay tuned  And of course thanks so so much for Your help
|
|
|
|
Joined: Jul 2020
Posts: 15
Pikka bird
|
Pikka bird
Joined: Jul 2020
Posts: 15 |
Can you help me with this remote? It works very well. The problem is this: even if the user changes their nickname, it still kicks them out of the channel. I see the error is in the time sequence. I would appreciate your help, please. on +4!:join:#: {
if ( $nick != $me ) && ( $me isop $chan ) && ( $nick !isop $chan ) {
msg $chan 4First Notice59 $nick your 4Nick It is inappropriate. Change It Within 12 Seconds in Command /3Nick New-Nick. } { .timerscriptname $+ $nick 1 12 msg $chan 4Second Notice59 $nick Change your nickname by typing /nick new-nick 4(1Last notice4) } { .timerscriptname0K $+ $nick 1 20 /ban -ku1800 $chan $nick 9 14your 3Nick is 3Incompatible with the theme of 3Channel, please3 change your nickname So 7/nick new-nick and come back. autoban of 30min. } }
on +4!:NICK:{
if $level($newnick) != 4 ) { .timerscriptname $+ $nick off | ./timerscriptname0K $+ $nick off }
}
|
|
|
|
Joined: May 2022
Posts: 119
Vogon poet
|
OP
Vogon poet
Joined: May 2022
Posts: 119 |
Can you help me with this remote? It works very well. The problem is this: even if the user changes their nickname, it still kicks them out of the channel. I see the error is in the time sequence. I would appreciate your help, please. on +4!:join:#: {
if ( $nick != $me ) && ( $me isop $chan ) && ( $nick !isop $chan ) {
msg $chan 4First Notice59 $nick your 4Nick It is inappropriate. Change It Within 12 Seconds in Command /3Nick New-Nick. } { .timerscriptname $+ $nick 1 12 msg $chan 4Second Notice59 $nick Change your nickname by typing /nick new-nick 4(1Last notice4) } { .timerscriptname0K $+ $nick 1 20 /ban -ku1800 $chan $nick 9 14your 3Nick is 3Incompatible with the theme of 3Channel, please3 change your nickname So 7/nick new-nick and come back. autoban of 30min. } }
on +4!:NICK:{
if $level($newnick) != 4 ) { .timerscriptname $+ $nick off | ./timerscriptname0K $+ $nick off }
} I didn't understood the rules about compatible/incompatible? nicks. When a nick is incompatible?
Last edited by Fernet; 01/05/25 11:39 AM.
|
|
|
|
Joined: Jul 2020
Posts: 15
Pikka bird
|
Pikka bird
Joined: Jul 2020
Posts: 15 |
that no matter how much you change your bad nickname, you will still be expelled. on +4!:join:#: {
if ( $nick != $me ) && ( $me isop $chan ) && ( $nick !isop $chan ) {
msg $chan 4First Notice59 $nick your 4Nick It is inappropriate. Change It Within 12 Seconds in Command /3Nick New-Nick. } { .timerscriptname $+ $nick 1 12 msg $chan 4Second Notice59 $nick Change your nickname by typing /nick new-nick 4(1Last notice4) } { .timerscriptname0K $+ $nick 1 20 /ban -ku1800 $chan $nick 9 14your 3Nick is 3Incompatible with the theme of 3Channel, please3 change your nickname So 7/nick new-nick and come back. autoban of 30min. } }
on +4!:NICK:{
if $level($newnick) != 4 ) { .timerscriptname $+ $nick off | ./timerscriptname0K $+ $nick off }
} [/quote]
|
|
|
|
Joined: May 2022
Posts: 119
Vogon poet
|
OP
Vogon poet
Joined: May 2022
Posts: 119 |
this seems to work for me :
on !*:JOIN:#:{
if (!$Timer($+(CheckNicks,.,$network,.,$chan,.,$nick))) { .Timer $+ $+(CheckNicks,.,$network,.,$chan,.,$nick) -md 1 750 badnick_alias $unsafe($chan) $nick }
}
ON *:nick:{
haltdef
var %whloop = 1
while ( $comchan($newnick,%whloop) != $null ) {
var %chan $v1
if (!$nick(%chan,$newnick,@&~%) && $nick(%chan,$me,@&~%)) { badnick_alias %chan $newnick }
inc %whloop
}
halt
}
ON *:op:#test:{
if ($opnick == $me) {
var %loop = 1, %nick , %kickmsg = please change your nick thank you....
while (%loop <= $nick($chan,0)) {
%nick = $nick($chan,%loop)
if ($len( %nick ) < 3 || ($calc($regex(%nick,/[A-Z]/g) * 100 / $len(%nick)) > 30)) {
if (!$nick($chan,%nick,~&@%+)) { var %kick = $addtok(%kick,%nick,44) }
if ($numtok(%kick,44) == 4) { kick $chan %kick %kickmsg | unset %kick }
}
inc %loop 1
}
}
if (%kick) { kick $chan %kick %kickmsg }
}
alias badnick_alias {
var %chan $1 , %nick $2
if (%nick !ison %chan || $nick( %chan , %nick ,@&~%)) { halt }
if ($len( %nick ) < 3 || ($calc($regex(%nick,/[A-Z]/g) * 100 / $len(%nick)) > 30)) {
if (!$Timer($+(CheckNickZ,.,$network,.,%chan,.,%nick))) {
NOTICE %nick FIRST WARNING
.Timer $+ $+(CheckNickZ,.,$network,.,%chan,.,%nick) 3 15 badnick_still_on_chan $unsafe(%chan) %nick
}
}
}
alias badnick_still_on_chan {
inc % [ $+ [ $+(CheckWarnings,.,$network,.,$1,.,$2) ] ]
if ($2 ison $1 && % [ $+ [ $+(CheckWarnings,.,$network,.,$1,.,$2) ] ] < 3) { NOTICE $2 % [ $+ [ $+(CheckWarnings,.,$network,.,$1,.,$2) ] ] WARNINGS }
elseif ( % [ $+ [ $+(CheckWarnings,.,$network,.,$1,.,$2) ] ] == 3 && $2 ison $1 ) { kick $1 $2 % [ $+ [ $+(CheckWarnings,.,$network,.,$1,.,$2) ] ] WARNINGS | .Timer $+ $+(CheckNickZ,.,$network,.,$1,.,$2) off | unset % $+ $+(CheckWarnings,.,$network,.,$1,.,$2) }
elseif ($2 !ison $1) { .Timer $+ $+(CheckNickZ,.,$network,.,$1,.,$2) off | unset % [ $+ [ $+(CheckWarnings,.,$network,.,$1,.,$2) ] ] }
}
I tested this code SImo. And as always is ALMOST perfetc, thanks in advance. Just 2 things (if possible): - I don't need to write 1 WARNINGS :number 1 is not necessary. Only text WARNING is enough or at least something like 2°WARNING - I need it to set a banquiet on join/nickchange (if the nick is irregular). Something like:
if ($len( %nick ) < 3 || ($calc($regex(%nick,/[A-Z]/g) * 100 / $len(%nick)) > 30)) {
/mode %chan +b ~q: $+ $address($2,2)
}
Thanks
|
|
|
|
Joined: Nov 2021
Posts: 152
Vogon poet
|
Vogon poet
Joined: Nov 2021
Posts: 152 |
try this :
on !*:JOIN:#:{
if (!$Timer($+(CheckNicks,.,$network,.,$chan,.,$nick))) { .Timer $+ $+(CheckNicks,.,$network,.,$chan,.,$nick) -md 1 750 badnick_alias $unsafe($chan) $nick }
}
ON *:nick:{
haltdef
var %whloop = 1
while ( $comchan($newnick,%whloop) != $null ) {
var %chan $v1
if (!$nick(%chan,$newnick,@&~%) && $nick(%chan,$me,@&~%)) { badnick_alias %chan $newnick }
inc %whloop
}
halt
}
ON *:op:#test:{
if ($opnick == $me) {
var %loop = 1, %nick , %kickmsg = please change your nick thank you....
while (%loop <= $nick($chan,0)) {
%nick = $nick($chan,%loop)
if ($len( %nick ) < 3 || ($calc($regex(%nick,/[A-Z]/g) * 100 / $len(%nick)) > 30)) {
if (!$nick($chan,%nick,~&@%+)) { var %banmask = $addtok(%banmask,$MuteBanMask(%nick),32) }
if ($numtok(%banmask,32) == 10) { mode %chan + $+ $str(b,$numtok(%banmask,32)) %banmask | unset %banmask }
}
inc %loop 1
}
}
if (%banmask) { mode %chan + $+ $str(b,$numtok(%banmask,32)) %banmask }
}
Alias MuteBanMask { return q: $+ $address($1,2) }
alias badnick_alias {
var %chan $1 , %nick $2
if (%nick !ison %chan || $nick( %chan , %nick ,@&~%)) { halt }
if ($len( %nick ) < 3 || ($calc($regex(%nick,/[A-Z]/g) * 100 / $len(%nick)) > 30)) {
if (!$Timer($+(CheckNickZ,.,$network,.,%chan,.,%nick))) {
.Timer $+ $+(CheckNickZ,.,$network,.,%chan,.,%nick) 3 15 badnick_still_on_chan $unsafe(%chan) %nick
}
}
}
alias badnick_still_on_chan {
inc $+(%,CheckWarnings,.,$network,.,$1,.,$2)
if ($2 ison $1 && $($+(%,CheckWarnings,.,$network,.,$1,.,$2),2) < 3) { NOTICE $2 WARNING }
elseif ($($+(%,CheckWarnings,.,$network,.,$1,.,$2),2) == 3 && $2 ison $1 ) { if ($+(q:$address($2,2)) !isban $1) { mode $1 +b $+(q:$address($2,2)) } | .Timer $+ $+(CheckNickZ,.,$network,.,$1,.,$2) off | unset % $+ $+(CheckWarnings,.,$network,.,$1,.,$2) }
elseif ($2 !ison $1) { .Timer $+ $+(CheckNickZ,.,$network,.,$1,.,$2) off | unset $eval($+(%,CheckWarnings,.,$network,.,$1,.,$2),1) }
}
|
|
|
|
Joined: May 2022
Posts: 119
Vogon poet
|
OP
Vogon poet
Joined: May 2022
Posts: 119 |
Last edit doesn't work. No quiet and no ban after warn. Your previos version was perfect about ban after warn. What do You think with (about banquiet):
Alias MuteBanMask { return /mode #MYCHANNEL +b ~q: $+ $address($2,2) }
Still working on ban after warn...
Last edited by Fernet; Yesterday at 11:40 AM.
|
|
|
|
Joined: Nov 2021
Posts: 152
Vogon poet
|
Vogon poet
Joined: Nov 2021
Posts: 152 |
on !*:JOIN:#:{
if (!$Timer($+(CheckNicks,.,$network,.,$chan,.,$nick))) { .Timer $+ $+(CheckNicks,.,$network,.,$chan,.,$nick) -md 1 750 badnick_alias $unsafe($chan) $nick }
}
ON *:nick:{
haltdef
var %whloop = 1
while ( $comchan($newnick,%whloop) != $null ) {
var %chan $v1
if (!$nick(%chan,$newnick,@&~%) && $nick(%chan,$me,@&~%)) { badnick_alias %chan $newnick }
inc %whloop
}
halt
}
ON *:op:#:{
if ($opnick == $me) {
var %loop = 1, %nick , %kickmsg = please change your nick thank you....
while (%loop <= $nick($chan,0)) {
%nick = $nick($chan,%loop)
if ($len( %nick ) < 3 || ($calc($regex(%nick,/[A-Z]/g) * 100 / $len(%nick)) > 30)) {
if (!$nick($chan,%nick,~&@%+)) { var %banmask = $addtok(%banmask,$MuteBanMask(%nick),32) }
if ($numtok(%banmask,32) == 10) { mode $chan + $+ $str(b,$numtok(%banmask,32)) %banmask | unset %banmask }
}
inc %loop 1
}
}
if (%banmask) { mode %chan + $+ $str(b,$numtok(%banmask,32)) %banmask }
}
Alias MuteBanMask { return ~q: $+ $address($1,2) }
alias badnick_alias {
var %chan $1 , %nick $2
if (%nick !ison %chan || $nick( %chan , %nick ,@&~%)) { halt }
if ($len( %nick ) < 3 || ($calc($regex(%nick,/[A-Z]/g) * 100 / $len(%nick)) > 30)) {
if (!$Timer($+(CheckNickZ,.,$network,.,%chan,.,%nick))) {
.Timer $+ $+(CheckNickZ,.,$network,.,%chan,.,%nick) 3 15 badnick_still_on_chan $unsafe(%chan) %nick
}
}
}
alias badnick_still_on_chan {
inc $+(%,CheckWarnings,.,$network,.,$1,.,$2)
if ($2 ison $1 && $($+(%,CheckWarnings,.,$network,.,$1,.,$2),2) < 3) { NOTICE $2 WARNING }
elseif ($($+(%,CheckWarnings,.,$network,.,$1,.,$2),2) == 3 && $2 ison $1 ) { if ($MuteBanMask($2) !isban $1) { mode $1 +b $MuteBanMask($2) } | .Timer $+ $+(CheckNickZ,.,$network,.,$1,.,$2) off | unset % $+ $+(CheckWarnings,.,$network,.,$1,.,$2) }
elseif ($2 !ison $1) { .Timer $+ $+(CheckNickZ,.,$network,.,$1,.,$2) off | unset $eval($+(%,CheckWarnings,.,$network,.,$1,.,$2),1) }
}
|
|
|
|
|