Kick List and Levels
 
with special thanks to TWWOTN
 

Banlist/Kicklist/Ownerlist/Hostlist and Voicelist

Well no doubt you have heard of all these things but how much when it comes to understanding them, by the end of this I hope you will understand how they work and how to write them (from a file and the userlist) first of all there are a few commands we need to cover.

*To add to the userlist : auser <Level>
*To Remove from the userlist : ruser <Level>
*Write a file : /write <filename>


ok so you need two parts for this to work ...... the adding and the execution of the command
here is how we have it
 

on kicklist:JOIN:*: { kick # $nick (later in the tutorial ill give you a very cool trick for  kickmessages) }
on ownerlist:JOIN:*: {mode # +q $nick }
on hostlist:JOIN:*: { mode # +o $nick }
on voicelist:JOIN:*:{ mode # +v $nick }

now we see the "kicklist" "ownerlist" etc.
these are the levels that you add to and remove from in the auser/ruser

Now how do we add things so people are in the Userlist under a specific level?
you can do it by $nick or $address
(nickname or gatekeeper)

We will do it by nickname popups (for nickname) this should work :

OwnerList:
.Add:/auser ownerlist $nick
.Remove:/ruser ownerlist $nick

now if you open remote and see the userlist , you should see something like this :

ownerlist:Traditional_Witch
(if its my nickname ;) )

Now if i entered your room and your script was gold I would be ownered cos im on ownerlist level and as you saw before

on ownerlist:JOIN (when anyone in the list joins) { mode # +q $nick } (owner them!)

******* BUT ********
it is possible to clone nicknames :s so how do we do it by Gatekeeper (unique passport identification)
well we will have to change the popups.......

Ownerlist
.Add:/auser Ownerlist $address($1,1)
.Remove:/ruser Ownerlist $address($1,1)

and you dont need to change the on join bit .
[ Just incase your curious we dont do on JOIN:*: { mode = +q $address($1,1) } because it wont work ]
$nick basically represents anyone on that level in the on join, not in the popups

If you are feeling a bit confused please re read the previous text again.

Now the banlist and kicklist. I used to use this and still do ;'

on owner:TEXT:akick*:#:{ auser $2- kicklist | /kick # $nick $3- }

say I was to say : akick wondersie Hehehehah lol : and my script would do something like this.

Host Witch has kicked wondersie out of the chatroom : Hehehehah lol

i didnt use $2 as the nickname because I wanted to add the kick message to the the Userlist option ( I will show you how to retrive this in a minuite )
the $3- means kick with the message after the first two words *akick wondersie* I dont want to add them, "akick" would be $1 and "wondersie" would be $2, I wanted the message (if any) to kick with so I used anything after akick wondersie, by using $3-

all basically the "-" is is everything after. like everything after akick wondersie (the message)

now that he is on the akick to remove I use something like this

on owner:TEXT:dakick*:#: {
/ruser kicklist $nick
/access # delete deny $2
/invite # $2
}

now to kick on join with your message from akick Nickname Message
you need to use this

$ulist($nick,shitlist,1).info <<-- If its done by nickname
$ulist($address($1,1),shitlist,1).info << - Gatekeeper

$ulist opens the Userlist, and then $nick, it scans all the userlist for that nickname. and once it finds it it gets its "info".

now this is everything after a space in the Userlist (like the message)
lets recap a bit

akick wondersie HEheehehe lol
now "wondersie HEheehehe lol" is added to the kicklist as this:
kicklist:wondersie HEheehehe lol

now it kicks "wondersie" if he joins and the $ulist($nick,shitlist,1).info command will get everything after the first space such as "HEheehehe lol" so when we put it together *:*

on kicktlist:JOIN:#: { kick # $nick $ulist($nick,shitlist,1).info }

or you can ban aswel :

on bantlist:JOIN:#: { kick # $nick $ulist($nick,shitlist,1).info | /access # add deny $nick | /access # add deny $address }

WHEW - now from a file, i will have to pinch Sysop_Docs thingy here :


on *:JOIN:#: {
set %ShitList $read(BlackList.txt,s, $nick $+ )
if ( %ShitList != $null ) {
kick $chan $nick [Autokick]
}


ok now on join here (anyone joining) it sets a Variable of a nickname if the nickname is on Blacklist.txt
say "wondersie" was on it and he joined.....

He Joins......
the script sets a variable %ShitList and $reads blacklist.txt, it finds wondersie
so "wondersie" is now set on %Shitlist.
if %Shitlist != (isnt) null (empty)
it means if someone joins and a variable isnt set (cos they arent on the kicklist) it wont do anything becuase this only carrys on and executes if %shitlist ISNT NULL.
then it kicks them with the message [AutoKick]

I hope you can now look at any file usage or user list entries and understand what they are doing and how to write on for yourself.......

to add to a file from popups you need to use /write filename

in this case I should add this code to Popups :

Add To Kicklist
.Add:/write BlackList.txt $1

* note * $1 in popups represents the nickname, so its writing to the file with their nickname

Hosted by www.Geocities.ws

1