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