|
Joined: Aug 2006
Posts: 469
Fjord artisan
|
OP
Fjord artisan
Joined: Aug 2006
Posts: 469 |
Can someone please make a auto greet kick with time ban and with kick message?
|
|
|
|
Joined: Aug 2004
Posts: 7,168
Hoopy frood
|
Hoopy frood
Joined: Aug 2004
Posts: 7,168 |
This isn't realistically possible, as some auto-greets are sent to the person via pm, or notice, and some are sent to the channel.
Also, there's no way of knowing (for sure) if the greeting was automatic or if the person typed it in or has an alias that they can call up which does the greeting.
|
|
|
|
Joined: Jan 2007
Posts: 1,155
Hoopy frood
|
Hoopy frood
Joined: Jan 2007
Posts: 1,155 |
I don't fully understand what you want to kick on. Maybe if you explain it more we can come up with a better idea how to do what you want.
|
|
|
|
Joined: Aug 2006
Posts: 469
Fjord artisan
|
OP
Fjord artisan
Joined: Aug 2006
Posts: 469 |
Some send autogreet msg to users on login and its anything from hi to spam. Ok thx we just have to manualy kick then. Thx.
|
|
|
|
Joined: Oct 2004
Posts: 8,061
Hoopy frood
|
Hoopy frood
Joined: Oct 2004
Posts: 8,061 |
Well... it depends.
You can have it watch for on NOTICE and on TEXT events when you join the channel and either automatically kick/ban the people if it happens within X seconds of joining. That method can end up kicking/banning legitimate people. Or, you can watch those same events for specific text when you join and if it contains that specific text, then you kick/ban them. That method would be safer, but it requires that you figure out all of the possible messages that you'd consider bad.
|
|
|
|
Joined: Jan 2007
Posts: 1,155
Hoopy frood
|
Hoopy frood
Joined: Jan 2007
Posts: 1,155 |
I guess if you really wanted you could ... on !*:join:#:/set -u3 %joinchk $true
on *:text:*:#:{
if (!%joinchk) return
if ($1-4 == %joinspam [ $+ [ $nick ] ]) {
kick and ban them
unset %joinspam [ $+ [ $nick ] ]
halt
}
set %joinspam [ $+ [ $nick ] ] $1-4
} This is just an idea. I personally wouldnt use a variable. I can imagine your variable list getting very full, very quickly. EDIT: Basically, on join if nick is not me, set a variable for 3 seconds. If this variable is on and someone says something, script will log the first 4 words they say. On the next join, if they say the exact same for words then they will get kicked and banned.
Last edited by DJ_Sol; 24/02/07 08:52 PM.
|
|
|
|
Joined: Oct 2004
Posts: 8,061
Hoopy frood
|
Hoopy frood
Joined: Oct 2004
Posts: 8,061 |
Not a bad method and I agree about the variables being an issue. I might suggest using a hash table for that.
Also, you want to change the on TEXT event to not use #, but to use ? instead. On join spam is PM or NOTICE and not in the channel itself or else it would be easily noticed.
|
|
|
|
Joined: Jan 2007
Posts: 1,155
Hoopy frood
|
Hoopy frood
Joined: Jan 2007
Posts: 1,155 |
Oh I envisioned it wrong then. I thought he is sitting in his room full of LOTS of people, for this code to be neccesary, otherwise I would just say, "Oi!!! You, stop spamming!!" So he is owner and someone joins and someone else in the room spams them. Next person joins, same person spams them too.
You can't see their whisper. If it was a whisper spam Id just kick em.
on me:join:#:/set -u3 %mejoin [ $+ [ $chan ] ] $true on *:text:*:?:{ if (!%mejoin [ $+ [ $comchan($nick,1) ] ]) halt ban and kick $nick for spamming!!! }
Last edited by DJ_Sol; 24/02/07 09:27 PM.
|
|
|
|
Joined: Oct 2004
Posts: 8,061
Hoopy frood
|
Hoopy frood
Joined: Oct 2004
Posts: 8,061 |
That really won't help. It is entirely possible for someone to PM you "hi" within 3 seconds. You'd have to check what was said (or at least the $len) for it to be helpful, I think. You can estimate that people can type up to perhaps 10-15 characters within 3 seconds.
Also, your use of $comchan wouldn't work if you were in multiple channels with the person.
|
|
|
|
Joined: Jan 2007
Posts: 1,155
Hoopy frood
|
Hoopy frood
Joined: Jan 2007
Posts: 1,155 |
yeah I dont like comchan, but for the sake of the vast array of networks we all use I chose it in the example.
I think on join, if you get a pm within 3 seconds from the exact moment you joined a channel it is a script response. Dont forget to calculate the time it takes to open a whisper window, type and hit enter. I think you would really have to be trying to beat a script to do this. Or you can decrease the timer length.
|
|
|
|
|