# [Eggdrop/TCL] Kick / Ban bei autorejoin



## CokeChris (13. Dezember 2003)

*Kick / Ban bei rejoin*

Morgen ,
hachja ich weiß leider nicht ob ich dermaßen blind bin aber leider konnte ich in den bisherigen Topics nichts zu meiner Frage finden.

Problem: ein User wird gekickt und betritt den Channel danach sofort wieder (durch auto rejoin).

Frage: wie konfiguriere ich mein Eggdrop so bzw. welches Script gibt es dafür, dass der User bei einem rejoin nach dem Kick automatisch gebanned wird?

Lösung: ?

Greets
Chris


----------



## Lufia (15. Januar 2004)

ich weiß leider auch nicht wo und nach was ich suchen soll, hab schon einiges hier abgeklappert.  


ich suche ein script, womit ich clone autom.bannen kann. :


----------



## MasterJM (15. Januar 2004)

@Nino
Er schrieb eggdrop, da hilft dein mirc remote nicht viel 

@CokeChris
Solche Scripte gibt es sicher zu Hauf im TCL Archiv bei slennox:
http://www.egghelp.org/tcl.htm

Hier das, was ich verwende:

```
# This script bans users which joins a given channel within 5 seconds
# after getting kicked, for 5 minutes. Made for eggdrop v1.1

# delay before users can join the channel after a kick (in seconds)
set joindelay 5

# the bans will be removed after this delay (in minutes)
set bantime 5

# 0=work on one channel only, 1=multichannel (overrides channel-setting)
set multichannel 0

# the channel you wish this script to work on
set channel "#diablo2.de"

# do not ban users with this flag on the bot
set dontban "o"

# 1=nick&host-specific bans, 0=host-specific bans
set nickban 1

bind kick - * autorejoin_ban
# bind join - * autorejoin_ban

proc autorejoin_ban {nick uhost hand chan knick reason} {
    global joindelay channel multichannel

    if {![expr [lsearch -glob [utimers] "*nada $knick $chan*"] + 1]} {
       if {$multichannel} {
	  utimer $joindelay [subst {kickban_when_autorejoined $knick $chan}]
       } else {
	  if {$chan == $channel} {
	     utimer $joindelay [subst {kickban_when_autorejoined {$knick} $chan}]
	  }
       }
    }
}

proc kickban_when_autorejoined {nick chan} {
    global bantime dontban nickban joindelay



    if {[onchan $nick $chan]} {
	if {[matchattr [nick2hand $nick $chan] $dontban]} {
#	putserv "PRIVMSG $chan :$nick will not be banned, of course, as he has +$dontban."
	} else {

# hostmasking:
	    append userhost $nick "!" [getchanhost $nick $chan]
	    set hostmask [maskhost $userhost]
	    if {[string first @ $hostmask]<12} {
		set hostmask "*!*[string range $hostmask 2 [string length $hostmask]]"
	    }

# insert nick for nickban:
	    if {$nickban} { set hostmask "*$nick$hostmask"}

# performance:
	    putserv "MODE $chan +b $hostmask"
	    utimer [expr 3 * $joindelay] [subst {nada $nick $chan}]
            putserv "KICK $chan $nick :autorejoined after getting kicked. -> lamer!"

if {![expr [lsearch -glob [utimers] "*MODE $chan -b $hostmask*"] + 1]} {
    utimer [expr 60 * $bantime] [subst {putserv "MODE $chan -b $hostmask"}]
}

	    putserv "notice $nick :Somebody kicked you, and you autorejoined. $bantime minutes in the corner! Turn off autorejoin!"
	}
    }
}

proc nada {nick chan} { }

putlog "NO! autorejoin v1.1c by nickerne"
```


@Lufia

Dafür brauch man eigentlich kein Script,
denn das haben eggdrops eingebaut:
.help chaninfo
->
flood-join  Set here how many joins in how many seconds from one
host constitutes a flood. Setting this to 0 or 0:0 disables
join flood protection for the channel.

(Wenn du von Egg script sprichst)


----------



## Helmut Klein (16. Januar 2004)

*Lufia*:

Bitte beachte die Netiquette, durchgehende Kleinschreibung ist nicht erwünscht.


Für ein Anti-Clone-Script hätte wohl mal ein Blick in die Allgemeine Link-Liste geholfen.


----------



## Lufia (15. Februar 2004)

> _Original geschrieben von Helmut Klein _
> *Lufia:
> 
> Bitte beachte die Netiquette, durchgehende Kleinschreibung ist nicht erwünscht.
> ...



sorry, wenn ich nach diesem Anti-Clone Script gefragt habe. Leider bin ich in diesem Bereich ein absoluter Neuling. 
Danke auch für den Link zu den Tutorials, hab auch einiges gelesen, nur halt wohl nicht richtig.
Die engl. Sprachigen nutzen mir leider nicht viel, da ich noch der Generation angehöre die nur Russisch gelernt hat und somit kein Wort von dem versteht.

Hab zwar jetzt ein Script gefunden das auch läuft und hätte da auch noch eine Frage zu, aber dass laß ich dann lieber.


----------



## Helmut Klein (15. Februar 2004)

Mach einfach ein neues Thema dazu auf.


----------

