| View previous topic :: View next topic |
| Author |
Message |
simo Owner
Joined: 22 Mar 2015 Posts: 941
|
Posted: Fri Nov 05, 2021 11:12 am Post subject: |
|
|
| if only we could compare nicks from nicklist with the $text and if any nick is in $text with a partial wildcard of only : on the right of nick if found like nick1763: or somenick: to strip the : and send to the section that removes nicks from $text to leave the rest to gather digit count |
|
| Back to top |
|
 |
CrazyCat Revered One

Joined: 13 Jan 2002 Posts: 1032 Location: France
|
Posted: Fri Nov 05, 2021 11:17 am Post subject: |
|
|
Ok, that's not the same proc than before, you change the way it works.
But why don't you keep the regsub given by SpiKe^^ (or mine, they are quite the same) to just clean $text of non-alphanum chars ? _________________ https://www.eggdrop.fr - French IRC network
Offer me a coffee - Do not ask me help in PM, we are a community. |
|
| Back to top |
|
 |
SpiKe^^ Owner

Joined: 12 May 2006 Posts: 792 Location: Tennessee, USA
|
Posted: Fri Nov 05, 2021 11:37 am Post subject: |
|
|
| Code: |
set nkls [chanlist $chan]
set tmptx ""
set text [stripcodes c $text]
foreach word [split $text] {
set word [string trimright $word ":"]
if {[lsearch -nocase $nkls $word] == -1} { append tmptx "$word " }
}
set digitcount [regsub -all {[[:digit:]]} $tmptx "" tmptx]
|
_________________ SpiKe^^
Get BogusTrivia 2.06.4.7 at www.mytclscripts.com
or visit the New Tcl Acrhive at www.tclarchive.org
. |
|
| Back to top |
|
 |
simo Owner
Joined: 22 Mar 2015 Posts: 941
|
Posted: Fri Nov 05, 2021 12:38 pm Post subject: |
|
|
| tested that last code u posted spike^^ and it seems to do exactly what we had in mind ill test some more thanks so far |
|
| Back to top |
|
 |
simo Owner
Joined: 22 Mar 2015 Posts: 941
|
Posted: Fri Nov 05, 2021 12:48 pm Post subject: |
|
|
| CrazyCat wrote: | Ok, that's not the same proc than before, you change the way it works.
But why don't you keep the regsub given by SpiKe^^ (or mine, they are quite the same) to just clean $text of non-alphanum chars ? |
because many web clients like mibbit , irccloud and perhaps others that postfix mentioned nicks with a : making it no longer correspond with the nicks in the gathered nicklist and therefor not removed and counted with the digits having it triggering a lot of false alarms
thanks CC much apreciated as always |
|
| Back to top |
|
 |
simo Owner
Joined: 22 Mar 2015 Posts: 941
|
Posted: Sat Nov 06, 2021 9:29 pm Post subject: |
|
|
Tested it some more in an active channel and got no false alarms it seems to do exactly as expected excellent work
Thank spike^^ and cc much appreciated |
|
| Back to top |
|
 |
SpiKe^^ Owner

Joined: 12 May 2006 Posts: 792 Location: Tennessee, USA
|
Posted: Sun Nov 07, 2021 10:09 am Post subject: |
|
|
I like this slightly cleaned up version.
| Code: |
set whatsapp(maxlength) 5
set whatsapp(unsettime) 20
bind pubm - * 112345check:whatsapp
proc 112345check:whatsapp {nick host hand chan text} {
global whatsapp
set text [stripcodes c $text]
if {![string match {*[0-9]*} $text]} { return 0 }
set nkls [chanlist $chan]
set tmptx ""
foreach word [split $text] {
set word [string trimright $word ":"]
if {[lsearch -nocase -exact $nkls $word] == -1} { append tmptx "$word " }
}
set digitcount [regexp -all {\d} $tmptx]
#putserv "PRIVMSG #test :$digitcount"
if {$digitcount == 0} { return 0 }
if {[info exists whatsapp($chan:$nick)]} { incr digitcount $whatsapp($chan:$nick) }
if {($digitcount >= $whatsapp(maxlength))} {
set chost [getchanhost $nick $chan]
set bmask m:[maskhost "$nick!$chost" 2]
pushmode $chan +b $bmask
after [expr {5*1000*1}] [list pushmode $chan -b $bmask]
#putserv "PRIVMSG $nick :you have been temporary mutebanned due to: excessive digits in your sentences"
putserv "NOTICE $nick :you have been temporary mutebanned due to: excessive digits in your sentences"
array unset whatsapp $chan:$nick
return 0
}
if {![info exists whatsapp($chan:$nick)]} {
utimer $whatsapp(unsettime) [list array unset whatsapp $chan:$nick]
}
set whatsapp($chan:$nick) $digitcount
return 0
}
|
=> NOTE: This code has been update to reflect the fix below:) <= _________________ SpiKe^^
Get BogusTrivia 2.06.4.7 at www.mytclscripts.com
or visit the New Tcl Acrhive at www.tclarchive.org
.
Last edited by SpiKe^^ on Mon Nov 08, 2021 11:16 am; edited 3 times in total |
|
| Back to top |
|
 |
simo Owner
Joined: 22 Mar 2015 Posts: 941
|
Posted: Sun Nov 07, 2021 11:06 am Post subject: |
|
|
| Tested this and it doesn't seem to trigger and no errors |
|
| Back to top |
|
 |
simo Owner
Joined: 22 Mar 2015 Posts: 941
|
Posted: Sun Nov 07, 2021 11:14 am Post subject: |
|
|
when i replaced
set digitcount [regexp -all {/d} $tmptx]
with :
set digitcount [regsub -all {[[:digit:]]} $tmptx "" tmptx]
it seems working again |
|
| Back to top |
|
 |
CrazyCat Revered One

Joined: 13 Jan 2002 Posts: 1032 Location: France
|
|
| Back to top |
|
 |
simo Owner
Joined: 22 Mar 2015 Posts: 941
|
Posted: Sun Nov 07, 2021 12:18 pm Post subject: |
|
|
oh yea true didnt see that, that seemed to fix it thanks CC
and thanks spike^^ for the cleanup of the code |
|
| Back to top |
|
 |
SpiKe^^ Owner

Joined: 12 May 2006 Posts: 792 Location: Tennessee, USA
|
Posted: Sun Nov 07, 2021 12:42 pm Post subject: |
|
|
Ooops.
Thanks for the fix CrazyCat and simo.
Edited the above post to reflect that fix... _________________ SpiKe^^
Get BogusTrivia 2.06.4.7 at www.mytclscripts.com
or visit the New Tcl Acrhive at www.tclarchive.org
. |
|
| Back to top |
|
 |
simo Owner
Joined: 22 Mar 2015 Posts: 941
|
Posted: Mon Nov 08, 2021 9:17 am Post subject: |
|
|
i found another bug for example if a nick [Guest]12345 is on channel
and gets typed its not removed from $text and gets counted with the digits |
|
| Back to top |
|
 |
SpiKe^^ Owner

Joined: 12 May 2006 Posts: 792 Location: Tennessee, USA
|
Posted: Mon Nov 08, 2021 9:53 am Post subject: |
|
|
Try replacing this line in the script... | Code: | | if {[lsearch -nocase $nkls $word] == -1} { append tmptx "$word " } |
with this updated line... | Code: | | if {[lsearch -nocase -exact $nkls $word] == -1} { append tmptx "$word " } |
_________________ SpiKe^^
Get BogusTrivia 2.06.4.7 at www.mytclscripts.com
or visit the New Tcl Acrhive at www.tclarchive.org
. |
|
| Back to top |
|
 |
simo Owner
Joined: 22 Mar 2015 Posts: 941
|
Posted: Mon Nov 08, 2021 10:22 am Post subject: |
|
|
| that seems to have fixed it thanks spike^^ |
|
| Back to top |
|
 |
|