IRC basics & Using KVIrc
by unanimated

I'm not really that great with IRC but after a year of using it I suppose I should be able to lay out the basics for beginners.

Q: Why do I even need IRC at all? I don't like it.
A: Because you can't fansub without it.

Q: Is using IRC difficult?
A: Fortunately you only really need the basics, which you'll learn the first day, hopefully from this guide.


All in all you need just a few things:
1. choose a nickname
2. connect to rizon
3. register your nickname
4. join channels
5. automate identification and joining channels
6. set character encoding to unicode

There are a lot of things you can do after that but this is pretty much all that's really necessary.


First you need a nickname, so go to Settings - Configure KVIrc...



...and type your nickname in here. The 2nd field seems pretty useless in KVIrc, what you put in the 3rd is visible when users hover mouse over your nickname to get some more info. [This can be helpful when people change their nicknames - many users switch between several nicknames all the time.]



Now go to KVIrc - New Connection... and you'll get here:



This is what you want to connect to - Rizon, ie the server where pretty much all fansubbing takes place.

When you connect, you'll see some server info etc. You are now connected to the Rizon server, but not really to any people yet. You'll be using this Rizon window to type commands, because if you type them in a channel and screw up, everyone may see your password or whatever you type. What you send to this Rizon window, nobody sees.


REGISTERING YOUR NICKNAME

What you should do first is to register your nickname, for hopefully understandable reasons. If your nickname is already registered by someone else, Rizon will tell you so and change your nickname to Guest123568. In such a case you need to choose a different nick.
To register you need to communicate with NickServ, using the command /ns, which is short for /msg nickserv. Type /ns help to get the idea of how it works. You'll see a bunch of commands you can use by typing /ns [command]. To get help on a specific command, you type /ns help [command].
You need to register, so /ns help register [no need for upprecase]. Among other things it will tell you this:
Syntax: REGISTER password [email]

The syntax is what comes after /ns.
This is how the whole command system works, basically, and you can use the pattern for other things than nickserv later.
So now you need /ns register [password] [email]. Email must be valid, as it sends you a confirmation form.

When you confirm the registration, you need to identify yourself for the nickname you've chosen.
This is done with /ns identify [password]. With this Rizon recognizes you as the person registered with that nickname.


Now you can move on to joining channels.
This is pretty simple - you just type /join #channel_name, for example /join #commie-subs
If a channel has a password, it's /join #channel_name channel_password



AUTOMATING IDENTIFICATION AND JOINING CHANNELS

Since you need to do this every time you connect, you want to automate it. This is how you do that:

Go to "Scripting" -> "Edit Events...", right-click the "OnNickServNotice" event, click on "New Handler" in the popup menu, and paste the code below.



// Identify and auto-join on success.
if ( $str.contains($3, "This nickname is registered and protected.") && $context.networkName == "Rizon" ) {
	timer -s (identify, 2000, $0) {
		msg -q $0 "IDENTIFY password"; // Edit this line.
	}
} elseif ( $str.contains($3, "Password accepted - you are now recognized.") && $context.networkName == "Rizon" ) {
	timer -s (joinchannels, 2000) {
		// Edit this block.
		join #channel-1;
		join #channel-2 channelpassword;
		join #channel-3;
	}
}


^ Edit the code you just pasted to use your password and the channels you want to join automatically.



SETTING UNICODE

Now you just need to set character encoding to unicode, otherwise you'll be seeing a lot of garbage.
Go to Settings - Configure KVIrc... - General options - Language, and set Default text encoding to UTF-8.


Now you have everything important set up, the rest is just for convenience.





SENDING PRIVATE MESSAGES

Type /query [nickname] and then type in the window that opens, or right click on the user in userlist and select Query.



HIGLIGHTING

KVIrc will highlight you by default if anyone types your name, so that will do for starters. To add more things to your highlights, go to IRC -> Tools -> Alert/Highlight in General Preferences. One derp in KVIrc is that it doesn't highlight your nick with a question mark after it, so if your nick is for example animoron, add animoron? to your highlights.

If you use more nicknames, add all of them so that people can highlight you even with those you're not currently using.

You can add anything else you want to be notified about. If the staff channel announces new encodes with "File added - horizon01_premux.mkv" and you're working on that show, add File added - horizon to your highlights - that will ping you for everything that contains that pattern, ie all other episodes.

Check the stuff about color settings further below for how to change the color of highlighted messages.



GETTING A VHOST

Full username on IRC looks like this: Athena [Atan@Great.Goddess.of.This.World]
This equals nickname [username@vhost]. Nickname is obvious. For some reason KVIrc doesn't really use what you set in Username but instead uses this Ident thing [possibly depends on settings, not really sure], which by default says "kvirc". In Preferences you can go to Connection - Advanced - Ident Service and change it in the "Ident username" field [needs restart].

Now for the vhost part, you can get pretty much anything you want there, just for the purpose of looking more interesting than random numbers or whatever you get by default. You'll use this thing called HostServ, which works similarly to NickServ. [/hs help]
Basically you type /hs request how.does.this.irc.thing.work to request said vhost.
You need periods between the words and there's some length limit and basic rules, like no racist crap etc.
Then you wait till an OP sends you a memo saying your vhost was approved [may take minutes to hours].
Switch it on with /hs on or /hs update.



MULTIPLE NICKNAMES / VHOSTS

You can use multiple nicknames that will all identify you as the same person. Type /nick whatever to change your nickname to whatever. Then /ns group your_registered_nick password. This will group this new nick with the old one and they'll both work the same for you from now on. If you disconnect and reconnect with your alternate nickname, if they're grouped you won't have to identify yourself again.

If you request a vhost while using your other nickname, the new vhost will be assigned to that nickname. If you switch nickname, you need /hs update to switch the vhost as well, otherwise it just stays as whatever you have at the moment, until you reconnect to Rizon.

Similarly to nicknames you can group the vhost to apply to all your nicks. /hs help group for details.



RANDOM KVIRC SETTINGS

Here's a few things you might wanna check/change in the General Preferences.
In the Connection section, have everything checked.
In IRC - Channel, have both those "On Channel Kick" things checked.
In IRC - Tools - Logging, you can set what you want to log, obviously. Logs are always useful, imo. If you want to browse them, don't open them in notepad, go to Tools - Browse Log Files. This inbuilt thing includes formatting - in notepad you'd see a chaotic mess.
In Interface, check Disable splash screen.
In General Options - URL handlers, you can change the way to open links to Signle click.
In Interface - Notifier, you can change some things about that notifier box that pops up when you get highlighted.

When you have time you can check all the other stuff but most of it is pretty irrelevant.



AUTOMATIC UNBANNING

You can unban yourself from channels you're registered on with /cs unban [channel]. To save yourself the trouble of typing stuff you can add these lines to the Event Editor:

Put this into OnMeKick:
	timer -s ("kickdelay",3000,$chan.name,$chan.key) { join $0 $1; }
And this into OnMeBan:
	cs unban $target;

If you use this, you have to disable "Rejoin channel" in Preferences -> IRC -> Channel.





HOW TO MAKE KVIRC NOT LOOK LIKE SHIT

Not that KVIrc looks worse than other clients... they all look like shit. But with KVIrc you can actually change that.
If you're gonna fansub, you'll be looking at your client every day, and if you're gonna do that, you might as well change the appearance so that it doesn't give you eyecancer.

Go to Settings - Configure Theme...

Input relates to the area where you type messages. Set colors, font, etc.

Output is for the chat window [including pm, console window etc.]. In the Features tab you might wanna increase the backlog size. If you wake up or come home from work, you need to be able to scroll up and read your highlights, and sometimes people talk a lot so the default backlog size might only show a portion of what was going on. So set Maximum buffer size to something higher. I use 5000, which is good enough for staff channel, but the niggers in the main channel are capable of filling that in a few hours. Not that you really need to care about the main channel.

This part here is about what all the messages will look like:



I don't remember the defaults but I think I turned off some stupid shit here to avoid eyecancer.
Certainly don't use "Smart" nickname colors because that's incredibly retarded and will give you eyecancer for sure.

"Use same colors as in the userlist" is handy, because in the Userlist section you set different colors for OPs, Owners etc. and this settings lets you distinguish between those in the chat as well.

The color set is where you define colors you wanna be using.
Here is where you assign the colors to each type of message:



Might wanna set the Highlight color to something that will be clearly noticeable but not annoying. Mainly it should be a different color from everything else so that you can find your highlights easily just by scrolling through the backlog.

Obviously you don't have to set colors for everything. I don't even know what most of those things are.

Things that might be useful are:

- the first 5
- Join, Part, Quit
- Kick, Ban, Unban
- Topic, nick
- Server info, MOTD, NickServ, ChanServ, QueryNotice, ChannelNotice, ServerError


You can chek the Timestamp tab if you don't like what your timestamps look like.

Notifier is the thing that pops up on your highlights, so color settings are there.

Userlist is pretty clear. In Foreground you can set colors for OPs etc.

In Window List check Use tree window list.

In Tree Window List you can set colors to different types of messages in the chat.
Level 5 is the color you'll see if someone highlights you in that channel.
Level 4 is when somebody speaks.
Level 3 and below is pretty irrelevant stuff - join/part messages etc.


That's about it for the themes.







That green arrow above the userlist expands a little menu where you can click on the Split View icon to separate join/part messages from the actual chat. This is useful in large channels with too many people joining/leaving, as all those joins/parts make the chat too chaotic. You can then make the non-chat part as small as possible as it's pretty useless.

In staff channels this isn't an issue and it's actually useful to see who's joining or who dropped out.



Colors for specific users

As you can see above and below, it's even possible to assign any color to any user.
Right-click on a user in the userlist...



...and click Registration -> Register [it shows Edit Registration here because Athena is already registered]
This "Registration" refers to a database of users you can make to specify some things for them, like colors or ignoring.
Just click on OK, or Next or whatever to get through the process.
Then go to Settings -> Configure Registered users...
You'll see a list with the users you've registered.
Double click on one and...



...you'll get this.

The registration you did adds the whole usernema+hostname string, by which it identifies the user.

Some users change heir nickname/vhost often, so to make sure this thing can recognize them you can either Add all the versions here, or Edit the first one to make it include all of them. For example this edited mask here will match Athena by nick, even if username and hostname change. So you just have to use whatever tends to not change for any given user. Usually users change nick and vhost and the middle part stays the same, so that might be the safest way.
Here that would be Atan, but sometimes for some users this part changes between Atan and ~Atan [example] so you might need to set it to *Atan. In this case, however, that would include Satan, which might very well be another user, so you have to think a little. In most cases it's fairly straightforward though.

Once you set the mask[s], you can go to the Properties tab, check "Use custom color in userlist" and set the color. Add as many users as you want. It takes some time for KVIrc to update this. It either gets updated when the user speaks, or after a few minutes maybe. When that happens, you'll see the colors in the userlist, like you see here on the right, and also in the chat, as long as you have the "Use same colors as in the userlist" option checked.

As you may have noticed, you can also use the Ignore tab to ignore annoying users.

That's all, I guess.

Below you can see examples of what the chat may look like when you set colors for most users in the staff channel.