QuakeNet L ChanServ English Manual
Author: Raimo Nikkilä

Official QuakeNet L ChanServ Manual
For L version 1.00

Index
Introduction
Getting Started
Commands
Common Problems and FAQ

Introduction

General information
L is the new channel service (ChanServ) to be used in QuakeNet, it's especially designed to meet the current QuakeNet
requirements, and possible future needs. The command interface of L is very similar to that of the already existing channel
service bot Q. Several of L's features are however different from those of Q's so, even if you're a relatively experienced user of the Q
we still recommend you to read this manual to avoid possible problems and misunderstandings.

Features
L has the support for the following functions and operations, see the commands part of this manual for more information.
- Keeps the channel while all users are off-line
- Protects the channel from possible takeover attempts
- Sets modes +v/+o for known users on channel
- Can deop all users on channel
- Can remove all channel modes blocking entry to the channel
- Can remove all bans from channel

Differences between L and Q
While similar, Q and L have several differences, some of Q's features are not implemented in L and the major differences are
best seen on this table.

Feature | Q | L
Cannot be kicked, banned or deopped | Yes | Yes
Maintains a channel while the users are off-line | Yes | Yes
Gives modes +o/+v for known users | Yes | Yes
Supports user flags | Yes | Yes
Can ban users | Yes | No
Maintains channel topic | Yes | No
Handles a channel welcome message | Yes | No
Can clear all channel modes | Yes | Yes
Supports channel flags | Yes | No
Can set mode -o to all channel operators on request (deopall) | Yes | Yes
Can remove all bans from a channel | Yes | Yes
Can Invite known users to +i channels | Yes | No
Can handle channel user limit | Yes | No
Can handle channel key | Yes | No
Can make sure that only users with the +v/+o flags have the corresponding modes on channel | Yes | No

Getting Started

Getting an L account
Getting yourself an account for L is very simple, since if you have a Q account, you already have an L account. If you however don't
have a Q account, you need to get one to have an L account, since the account information is shared between L and Q.
For more information on getting a Q account, please read the QuakeNet Q-faq www.url.tähän.com

Now that you have a Q account and you're authed to Q, for more information on authing, please read the QuakeNet Q-faq
www.url.tahan.com
You have an L account available, you can verify this by the WHOAMI command.

Next, you might want to know what L commands are available to you, use the HELP command to do this.

Getting L for a channel
So, you want L for your channel ?
First, you'll need an L account, read the information above on how to get one.
Second you should do something that we haven't decided yet, perhaps /msg o requestl #channel ?

Getting L access for a channel
For a channel that already has L on it, getting the access requires you to contact either the channel owner (user with +n flag for the
channel) or a channel master (user with +m flag for the channel) and ask him/her to give you access for the channel.

Giving L access for a channel
If you have L on a channel and either flag +n or +m, you can add new users to the channel using the CHANLEV command.
If the user has no previous access for the channel, he/she is automatically added to the channels access list.

Removing user from a channel
If you have L on a channel and either flag +n or +m, you can remove a user from the channel access list by removing
all access flags from him/her for the channel. L automatically removes a user without any flags for the channel.

You can also remove yourself from any channel you've been given access to by removing all your flags using
the CHANLEV command like you were a channel owner or master.

Dealing with users as command parameter
For commands that require a user as a parameter L uses the same syntax as in Q.
Whenever it reads "nick" in the command parameter list, it can be either of these two things:
nick, the nick of an online user, L automatically retrieves the users account if the user is authed.
#nick, the authname of an online or off-line user, if the user is not online, you need to use this format to change any flags for the user,
To acquire the authname of an online user use the WHOIS command.

L Commands

About
Following is a complete list of all L commands with their explanations and some examples. You can see the L commands list
by using the HELP command. All the information here is available directly from L as well, see the HELP command for more
information. Most commands are simple, and obvious to anyone with any Q experience.

WHOAMI
WHOAMI
Tells you the information L has on you. This information includes your authname, your global authlevel (should be 1) and any channel
access that you have. The access list includes all channels that you have flags on.

WHOIS
WHOIS nick
Tells you information about a user. The information includes the users authname, his global authlevel aswell as a limited channel
access list.If authname was used as argument then all users authed under that authname are listed.
Please read Dealing with users as command parameter for more information about the nick parameter.
Unlike in the current Q version, the channel access list is limited so that only channels that you and the target user both have access to
are printed. If no such channels exists, then no channel access list is printed.
This command is especially useful for getting the authname for an online user so that his flags can be changed even when he/she
is off-line from IRC.

HELP
HELP
HELP command_name
This is the general help command for L. When called without any arguments, all commands available to you are printed. For
more information on any command, call help with the command name as argument, this prints you a short description of
the command. Any information available with this command, is also available on this manual.
EXAMPLE:
HELP deopall

SHOWCOMMANDS
SHOWCOMMANDS
Same as HELP without any arguments, shows all L commands available to you.
For more information, please see the HELP command.

OP
OP #channel
Gives you mode +o (channel operator) for the the channel specified. You need to have the flag +o for the channel you intend to
use this command on. This command cannot be used to set the mode +v to anyone other than yourself

VOICE
VOICE #channel
Gives you mode +v (also known as voice) for the channel specified. You need to have the flag +v for the channel you intend to use
this command on. This command cannot be used to set the mode +v to anyone other than yourself.

DEOPALL
DEOPALL #channel
This command deops (sets mode -o to) every channel operator (users with mode +o for the channel) not including L itself.
You need to have atleast the flag +o for the channel you intend to use this command on.
Useful if there's a user on the channel with mode +o without having a proper L access for the channel and keeps a known
user from entering the channel.

VERSION
VERSION
This command tells you the current L version aswell as the build time (when L was compiled) and authors of L

UNBANALL
UNBANALL #channel
This command removes all bans (mode +b's) from a channel. You need to have atleast +o flag for the channel you intend to use this
command on. This command is Especially useful if there's a ban preventing you from entering a channel that you have access to.
Removing a specific ban from a channel is impossible with L, you can only remove all bans at once.

CLEARCHAN
CLEARCHAN #channel
This command is used to remove all channelmodes preventing entry to the channel, or sending to the channel. When called,
channelmodes +i, +k, +l and +m are removed, +n, +t, +s/p are not affected. You need to have atleast the +o flag for the
channel you intend to use this command on. Useful if there are modes preventing you from entering a channel that you have access to.

CHANLEV
CHANLEV #channel
CHANLEV #channel nick flags
This is the most complicated of all L commands, and so the most important one.
This command is used to change users access flags for a channel, including adding users to channel access list aswell as removing
them. To change the chanlev for any channel you need to have either the owner (+n) or master (+m) flag for the channel.
Please read Dealing with users as command parameter for more information about the nick parameter.
If called without the nick or flags parameter, the channel access list is printed, this includes all users that have access to the channel.
You need to have an access to the channel before you can print the access list for it.
To set a flag, use +flag_character and to unset a flag use -flag_character, these can be combined and multiple flags can be set
with just one call to the command, see the examples part for this command.

When you give a flag to user that's not known on the channel, L adds the user automatically to the channel access list.
When you remove all flags from a user that's known on the channel, L removes the user from the channel access list.
To remain on the channel access list, a user must have some of flags +v, +m, +n or +o.
Having only +a or +g causes the user to be removed.

Supported channel flags:
+a Auto, if an authed user has +o/+v access flag for a channel, the corresponding modes are set when the user joins the channel.
+g Auto, same as +a but only works with +v flag and has no effect for a possible +o flag
+o Channel operator, can have the mode +o for the channel.
+m Channel master. Can add and remove users for the channel, aswell as change their access flags. A master can't set or unset the
flags +n/+m for a channel and thus cannot remove an existing channel master (apart from himself of course).
only give this flag to people you trust.
+n Channel owner. Has full access for the channel. Can add and remove users for the channel aswell as change their access flags.
Unlike channel master, the channel owner can set and unset flags +n/+m for any user on the channel.
Do not give +n access for too many users on your channel, instead give only +m access if needed.
!!! Only give owner access to people you fully trust, any channel owner can 'takeover' the channel at any time !!!
+v Voice, can have mode +v for the channel

To remove yourself from a channel you've been given access to, simply unset all channel flags for yourself,
this causes L to automatically remove you from the channel, see the last example.

EXAMPLE:
CHANLEV #mychannel
CHANLEV #mychannel myfriend +aov
CHANLEV #mychannel #myfriendsauthname +aom-oa+gm-g+aom
CHANLEV #somechannel mynick -agovnm

Common Problems and FAQ

I want L for my channel, what should I do ?
Please read the Getting started part of this manual

I want to give my friend access for my channel with L, how ?
Please read the Getting started part of this manual

How can I give voice to every user joining the channel with L ?
Like Q, L has no general autovoice feature that would give +v to every people when they join the channel.
You need to either have a bot to do this or write a small client script for to do it.

I have L but I can't join my channel (key, invite, banned etc.), what can I do ?
If your channel is either full, invite only or needs a key you should use the CLEARCHAN command.
If you're banned from your channel, use the UNBANALL command. If you still can't join the channel, there might be a
channel operator or a bot resetting the modes or bans when L removes them, use DEOPALL to remove all channel operators
and use CLEARCHAN and UNBANALL again.

My channel has been taken over and I can't join it, I have L on the channel, what now ?
Reclaiming your channel with L is very easy, see the DEOPALL, CLEARCHAN and UNBANALL commands and use them all for
your channel, if you still can't join the channel, join the channel #help and explain your problem.

Can L protect the topic on my channel ?
Unfortunately no, L has no topic support like Q does, so apart from keeping the channel topic there while all users are offline, L
doesn't offer anykind of protection for the topic and you can't set or get the channel topic using L.

Can L protect the channel operators from deop like Q does ?
Unlike Q, L has no channel operator protection, L does not interfere with any modes changed for the channel.

Can L give a welcome message for users joining the channel like Q does ?
No, L doesn't have anykind of welcome message support, so if you want to have a welcome message for your channel, you have
to either get a normal bot or use a client script for it.

Can I add custom scripts for L ?
L has no support for scripts of anykind, so any features not on L can't be added to it by a user or even by an operator.
If you want to have any additional functions for your channel, consider getting a normal bot (perhaps an eggdrop) or using a client script.

I'm no longer the owner of my channel, help !
There are three possible causes for this, first make sure that you're authed with the same name to Q as you were when you still had
the owner access. Second, some other owner for the channel might have removed your owner flag. Third your user account from L
might have been removed by an operator. We recommend you to talk to other owners of your channel first and if you still can't find
a proper cause for the missing +n flag, join the channel #help and explain your problem.

L says my channel is suspended, what can I do ?
Channels are suspended by the IRC operators when there has been a violation of the network rules or there's a major problem
with the channel. If your channel is suspended, you should talk to other channel owners to see if any of them know what could
have caused the channel to be suspended. If you know why the channel is suspended and think that there has been a
misunderstanding, please mail info@quakenet.org and explain the situation. If you have no idea why the channel is suspended,
visit the channel #feds and explain your problem or mail info@quakenet.org

Our channel has no owner, what can I do ?
If for any reason, there isn't a user with +n flag on the channel access list (see CHANLEV command), have a user with +m flag for the
channel go to channel #feds and explain the situation to an operator. If there aren't even users with +m flag on the access list, then
a user with +o flag will do. Channel ownership is not given to a user with only +o flag if there's a user with +m flag on the channels
access list, if a +m user isn't online, you have to wait for him to go ask for the ownership.

I can't be added / I can't add my friend to a channel, what's wrong ?
L has a limited amount of channels/user aswell as users/channel. If the channel is full, you have to remove a user from the channel
before you can add a new one, and if the user you're trying to add already is on maximum allowed channels, he/she has to remove
his access from one of the channels before he can be added to your channel.

Someone added me to a horde of channels and now my channel list looks bad, what can I do ?
See CHANLEV command for information on removing your access for channels

I have a problem/question that's not listed here, what should I do ?
If you can't find a solution to your problem from this manual or you have a question that's not answered here, please
do not hesitate to join the channel #help and explain your problem or ask your question.