IRSSI
Configuration
Main configuration file: ~/.irssi/config
.
The file is structured in a couple of sections:
- servers
- chatnets
- channels
- aliases
- statusbar
- settings
- logs
- ...
If you normally connect to freenode you need to modify the subsection of freenode in the section "servers". If you prefer different IRC network - there you go:
servers = (
{
address = "irc.freenode.net";
chatnet = "freenode";
port = "6697";
password = "******";
use_ssl = "yes";
ssl_verify = "yes";
ssl_capath = "/etc/ssl/certs";
autoconnect = "yes";
}
);
In the settings-section you can specify the username, nick, real name and whatever you want:
settings = {
core = {
real_name = "Your Name";
user_name = "username";
nick = "Your Nick";
timestamp_format = "%H:%M:%S";
};
};
These settings are the same for all servers. That is why you specified the password in the server-section.
Now you only have to specify which channels to open on which server. Modify the section channels accordingly:
channels = (
{ name = "#irssi"; chatnet = "ircnet"; autojoin = "No"; },
{ name = "#silc"; chatnet = "silc"; autojoin = "No"; },
{ name = "#mat"; chatnet = "freenode"; autojoin = "Yes"; },
{ name = "#drikke"; chatnet = "freenode"; autojoin = "Yes"; },
{
name = "#channel3";
chatnet = "freenode";
autojoin = "Yes";
}
);
The first two channels "#irssi" and "#silc" are configured not to be joined automatically (autojoin = "No"). The channels "#mat" and "#drikke" will be joined automatically (autojoin = "Yes") when connecting to the server freenode (chatnet = "freenode"). This is the reference I was talking about before. When connecting to the server with the parameter chatnet = "freenode" the channels including this parameter will be automatically joined as well.
So what happens when you start irssi?
- irssi reads the user config file in
~/.irssi/config
. - It opens a connection to all servers specified in the section "servers" with the parameter autojoin = "Yes".
- The credentials and the identity from the section "settings" and the server specific password from the section "servers" are used for authentication (if necessary).
- irssi joins all the channels on the server specified in the section "channels".
This is just very basic automation, but I gained a new level of comfort from it, since I just start irssi and it just puts me where where I left.
Logging
A very basic thing to do. You are at the end of a chat session and you wonder if you can save the whole conversation, it could be for semantic reasons or for picking out some links that were mentioned during a conversation. So here you go:
/window log on
/lastlog [-force]
The parameter -force is necessary if your log is already bigger than 1000 lines. After enabling the logging the output will be constantly added to the log-file in your home folder until you leave the channel or disable the logging.
This will create a log file of the current chat window in your home folder. The naming is not unique, so every time you run these commands again in the same window, irssi will overwrite the file.
Sound
Download the Perl-Script _beep_beep.pl_
and integrate it into irssi.
cd $HOME/.irssi/scripts
wget http://scripts.irssi.org/scripts/beep_beep.pl
wget http://www.andrews-corner.org/tmp/ding_dong.wav
mkdir $HOME/.irssi/scripts/autorun
cd $HOME/.irssi/scripts/autorun
ln -s ../beep_beep.pl
Now install e.g. sox :
sudo apt-get install sox
Open up irssi and run the following:
irssi> /set bell_beeps
irssi> /set beep_msg_level MSGS DCC DCCMSGS HILIGHT NOTICES
irssi> /set beep_cmd play -q ~/.irssi/scripts/ding_dong.wav &
irssi> /save
Trolls
irssi> /IG <Nickname> # or /IGNORE <Nickname>
irssi> /Save
Scripts
Word replacement
Requirements:
- Correct my stupid typos.
- Give me the possibility to make abbreviations.
IsaacG has already written it and put it on Github.
The script [word-replacement.pl](https://github.com/IsaacG/irssi-word-replace/blob/master/word-replace.pl)
does basically two things:
- Read the list of word it is supposed to correct.
-
Replace those words with others when the message is sent.
-
Drop the file
word-replace.pl
into~/.irrsi/scripts
and the filepxdict.ini
into~/.irssi
. - Load the script from within irssi: with
irssi> irssi> /load word-replace.pl
If you want to make any changes to the dictionary file pxdict.ini
you need to reload the script file again.
URL
Requirements:
- Make urls send in chats accessible.
- Open urls on request in an external browser.
A script from afh does this already.
- Drop the file
openurl.pl
in~/.irssi/scripts
or~/.irssi/scripts/autorun
. - Load the script (if not placed in
autorun
manually:/load openurl.pl
. - Set the external browser in
~/.irssi/config
, in settings,perl/core/scripts
"perl/core/scripts" = {
openurl_app_hattp = "/usr/bin/firefox -new-tab $1";
};
- Reload the config with
/reload
You can access openurl like this:
/openurl
Listed urls can be opened by adding the url number to it:
/openurl x
Interfaces
Have a look at bitlbee to connect irssi to other systems, like jabber, msn, twitter, etc.