This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

clone kicker

Requests for complete scripts or modifications/fixes for scripts you didn't write. Response not guaranteed, and no thread bumping!
User avatar
caesar
Mint Rubber
Posts: 3776
Joined: Sun Oct 14, 2001 8:00 pm
Location: Mint Factory

Post by caesar »

Yeah, i saw where I did wrong and will fix it shortly.

Can you post the msl code to see what approach was used? I'm asking cos there's a delay between the clones joining and when the lock, ban and kicking starts.
Once the game is over, the king and the pawn go back in the same box.
s
simo
Revered One
Posts: 1077
Joined: Sun Mar 22, 2015 2:41 pm

Post by simo »

i would like to post the msl code but the author who shared it with me (code isnt mine) requested me not to publish it so i have to respect his request
but i can go throu the fundementals

* if it detects clones it locks channel with +RM (with timer to unlock) and stores cloned nicks (and set ban on banmask of clones)
* next it uses mode event ( possibly eggdrops bind mode +R ) to make sure channel lock mode +R is set
* then sends the stored nicks to an alias to be kicked in stacked way ( per set threshold ) and makes sure to remove each nick from stored nicks that has been kicked to prevent duplicate kicks
User avatar
caesar
Mint Rubber
Posts: 3776
Joined: Sun Oct 14, 2001 8:00 pm
Location: Mint Factory

Post by caesar »

In the "ideal" example you posted one page behind the join should be triggered 30 times (one time for each of the 30 clones that joined), yet in your example it triggered only once and punished all of them at the same time, again only once.

I'm trying to mimic that but not sure if possible. So, since I don't have the means to create clones on demand nor a server to play on I need your help to do some testing for me to see what happens.

Code: Select all

namespace eval CloneTest {
	bind join - * [namespace current]::check
	
	proc check {nick uhost hand chan} {
		putlog "join function triggered!"
	}
}
Load this code onto a test bot without any other code and tell me if you see 30 lines when you join those 30 clones or just one. In theory should see 30 lines.
Once the game is over, the king and the pawn go back in the same box.
s
simo
Revered One
Posts: 1077
Joined: Sun Mar 22, 2015 2:41 pm

Post by simo »

loaded it and this is output
<TCL-Tester> join function triggered!
<TCL-Tester> Annemarie (~Merrilee@testing.clones.net) joined #tcl-test.
<TCL-Tester> join function triggered!
<TCL-Tester> Orosco (~Kisha@testing.clones.net) joined #tcl-test.
<TCL-Tester> join function triggered!
<TCL-Tester> Black (~Mena@testing.clones.net) joined #tcl-test.
<TCL-Tester> join function triggered!
<TCL-Tester> Rhodes (~Snow@testing.clones.net) joined #tcl-test.
<TCL-Tester> join function triggered!
<TCL-Tester> Georgene (~Connell@testing.clones.net) joined #tcl-test.
<TCL-Tester> join function triggered!
<TCL-Tester> Patino (~Concepcion@testing.clones.net) joined #tcl-test.
<TCL-Tester> join function triggered!
<TCL-Tester> Gearldine (~Newberry@testing.clones.net) joined #tcl-test.
<TCL-Tester> join function triggered!
<TCL-Tester> Bettyann (~Lilly@testing.clones.net) joined #tcl-test.
<TCL-Tester> join function triggered!
<TCL-Tester> Buss (~Hayes@testing.clones.net) joined #tcl-test.
<TCL-Tester> join function triggered!
<TCL-Tester> Geer (~Mueller@testing.clones.net) joined #tcl-test.
<TCL-Tester> join function triggered!
<TCL-Tester> Brumfield (~Marcelene@testing.clones.net) joined #tcl-test.
<TCL-Tester> join function triggered!
<TCL-Tester> Kinney (~Cloud@testing.clones.net) joined #tcl-test.
<TCL-Tester> join function triggered!
<TCL-Tester> Chastain (~Evans@testing.clones.net) joined #tcl-test.
<TCL-Tester> join function triggered!
<TCL-Tester> Manns (~Houle@testing.clones.net) joined #tcl-test.
<TCL-Tester> join function triggered!
<TCL-Tester> Carman (~Childers@testing.clones.net) joined #tcl-test.
<TCL-Tester> join function triggered!
<TCL-Tester> Dean (~Ferguson@testing.clones.net) joined #tcl-test.
<TCL-Tester> join function triggered!
User avatar
caesar
Mint Rubber
Posts: 3776
Joined: Sun Oct 14, 2001 8:00 pm
Location: Mint Factory

Post by caesar »

Code: Select all

See last post for code.
Give this code a try and let me know the results.

The clone(grace) is the thing we discussed on the channel. It grans 10 seconds to said user to remove it's clone and when the timer expires will ban them.

If there are equal or more than whatever is set at clone(max) then it will lock and ban them all.

Edit: We did some live testings fixed some minor issues.
Last edited by caesar on Sat Mar 23, 2019 8:59 am, edited 1 time in total.
Once the game is over, the king and the pawn go back in the same box.
s
simo
Revered One
Posts: 1077
Joined: Sun Mar 22, 2015 2:41 pm

Post by simo »

first i got error

Code: Select all

Tcl error [::DeClone::check]: invalid command name "chanlist2"
then i changed :

Code: Select all

      set known [chanlist2 $chan $clone(excepts)] 
to:

Code: Select all

      set known [chanlist $chan $clone(excepts)] 
then i got error:

Code: Select all

Tcl error [::DeClone::check]: unbalanced open paren
in expression "(1"
User avatar
caesar
Mint Rubber
Posts: 3776
Joined: Sun Oct 14, 2001 8:00 pm
Location: Mint Factory

Post by caesar »

I did some minor testing and had to invent some commands to get some results and forgot to change that proc name back. :)

In DCC Chat do a .tcl $errorInfo and tell me what you see.
Once the game is over, the king and the pawn go back in the same box.
Post Reply