IRC and weechat

Post tags: | irc | weechat |

Track irc channels for logging

  • irc.server.freenode
    • irc.freenode.#ansible
    • irc.freenode.#cobug
    • irc.freenode.#devious
    • irc.freenode.#freerdp
    • irc.freenode.#gitlab
    • irc.freenode.#inkscape
    • irc.freenode.#supervisor
    • irc.freenode.#tmux
    • irc.freenode.#weechat
    • irc.freenode.#x2go
    • irc.freenode.#dokku-alt
    • /set irc.server.freenode.autojoin “#ansible,#cobug,#devious,#freerdp,#gitlab,#inkscape,#supervisor,#tmux,#weechat,#x2go,#dokku-alt”
  • irc.server.twice
    • irc.twice.#i3
    • “#i3”
  • irc.server.oftc
    • irc.oftc.#debian
    • irc.oftc.#morpheus
    • irc.oftc.#pentadactyl
    • irc.oftc.#suckless
    • /set irc.server.oftc.autojoin “#debian,#morpheus,#pentadactyl,#suckless”

log registering on

/b weechat
        /server add mozilla
        /connect mozilla
        /b mozilla
        /msg NickServ REGISTER banana
         -- | NickServ ( Nickname craig registered.
         -- | You are now logged in as craig (craig!
         -- | User mode [+r] by NickServ
        /set irc.server.mozilla.command "/msg nickserv identify craig banana"
        /set irc.server.mozilla.nicks "cootcraig"
        /set irc.server.mozilla.username "craig"
        /set irc.server.mozilla.realname "Craig Anderson"
        /set irc.server.mozilla.autoconnect on
        /set irc.server.mozilla.autojoin "#svg"
        /set irc.server.mozilla.autorejoin on

SASL options ssl certs


option logger.file.path

values: any string (default value: “%h/logs/”)

“%h” at beginning of string is replaced by WeeChat home (“~/.weechat” by default); date specifiers are permitted (see man strftime)

logging commands

        path = "%h/logs/"
        path = "/r1/irc_logs/"
weechat logger commands
        /set logger.level.core.weechat 0
        /set logger.file.path ""
        /set logger.level.irc 1

4.7.3. Log levels

Logging is made with a level for each buffer. Default level is 9 (log all messages displayed on buffer). You can change level for one buffer, or a group of buffers.

Possible levels are 0 to 9. Zero means “do not log anything” and 9 means “log all messages”.

Plugins are using different levels for messages displayed. IRC plugin uses following levels:

  • level 1: message from user (on channel or private)
  • level 2: nick change (you or someone else)
  • level 3: any server message (except join/part/quit)
  • level 4: server message join/part/quit


set server options
        /set irc.server.oftc.autoconnect on
        /set irc.server.oftc.autojoin '#debian,#morpheus,#suckless'
        /set irc.server.freenode.autojoin '#cobug,#devious'

Using weechat

move config around

In weechat user’s guide

See - upgrade upgrade WeeChat without disconnecting from servers

It is possible to restore WeeChat session on another machine if you copy the content of directory “~/.weechat”.

IRC Information

freenod faq

Please follow these steps to set up your nick and configure your client. Check off each step to make sure it’s been done:

Select a permanent, master nickname. If the nickname you want is registered but has expired, just ask a staffer and in most cases, we will be happy to drop it for you.

Please avoid using the name of a community project or trademarked entity, to avoid conflicts. Write down your password and be sure to keep the sheet of paper in a safe place.

Register your IRC nick:

/msg NickServ REGISTER password

Replace password with a secure, unguessable password that you keep secret.

The email address that you select will not be given out by staff, and is mainly used to allow us to help you recover the account in the event that you forget your password. For this reason, you are required to use a real, non-disposable, email address. Upon registering, you will receive an email with a verification command that you will need to run to complete the registration process. Failure to verify the account will cause it to be automatically dropped after about 24 hours.
To keep your email address private, rather than displaying it publicly, mark it as hidden (which is done by default for new accounts):
It’s useful, but not required, to have an alternate nick grouped to your account. For example, if your primary nick is foo:
/nick foo_

then identify to your primary account:

/msg NickServ IDENTIFY foo password

and finally, group the new nick to your account

/msg NickServ GROUP

We prefer you to use just one account, and group nicks to it as described above, rather than registering for multiple accounts. Grouping nicks in this way gives you the benefit of having all your nicks covered by the same cloak, should you choose to wear a cloak.

The exception to this is where you might want to run a bot. You should register a separate account for your bot.

Configure your client to identify itself to NickServ automatically whenever it connects to freenode so that it’s less likely you’ll connect to the network without being identified to NickServ. The easiest approach is to specify your NickServ password as a server password.

If your client supports server password, please set this up as accountname:password. Make sure to include the colon. This will allow you to identify to your services account on connect, regardless of the nickname you are using when you connect. For example:

/connect 6667 mquin:uwhY8wgzWw22-zXs.M39p

What’s the easiest way to identify to NickServ when I connect to freenode?

If your client supports SASL, that is best. Otherwise, just plug your NickServ password into your client as a server password. To make this work when connecting from a different nick than the one you’ve got registered, use nick:password. You’ll be identified to NickServ automatically when you connect.

In some cases, it’s more convenient to configure your client to send this command to achieve the same effect:

/msg NickServ IDENTIFY account password

mibbit - Create your own nickname

Registering your Nickname

Choose a user name or nick.

This user name should consist only of the letters from A-Z, the ciphers from 0-9 (but not as first character) and certain symbols such as “_” and “-“ (“" breakes some mails). It may have a maximum of 16 characters. Please note that some nicknames are used internally and cannot be used. Also, please stay family friendly with your nicknames

Change your user name to the user name you have chosen. Suppose you chose the nick “StupidName” for example. Type the following in the input line:
/nick StupidName
Register your nick or user name. Type the following command and replace yourPassword with a password that will be easy to remember and use a working email address.
irc command
        /ns register yourPassword yourEmailAccountName@yourMailProvider
        (no nick here, otherwise you'll get "use a more obscure password" or similar) 
Get the confirmation code from your email inbox. Type the following command and replace confirmationCode with the code sent to you in the email (NEVER replace the word “nickserv” in /msg nickserv … with your nick). It has the template shown below
irc command
        /ns confirm confirmationCode 
        If you want your email address to remain private, use the following command:
        /ns set hide email on
Register an alternate nickname using the same password. If you would like to register an alternate nickname, repeat the same procedure, using steps 2 to 4. Alternatively type /ns GROUP mainNick mainPass (see /ns help group)
Identify with NickServ. Each time you connect, you should sign in, or “identify” yourself, using the following command:
/ns identify your_password

Package: weechat (1.0.1-1)

Weechat Install

apt-get install weechat
        apt-get install weechat
        Reading package lists... Done
        Building dependency tree       
        Reading state information... Done
        The following extra packages will be installed:
          liblua5.1-0 libtcl8.5 weechat-core weechat-curses weechat-plugins
        Suggested packages:
          tcl8.5 weechat-doc weechat-scripts
        The following NEW packages will be installed:
          liblua5.1-0 libtcl8.5 weechat weechat-core weechat-curses weechat-plugins
        0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
        Need to get 2,297 kB of archives.
        After this operation, 9,975 kB of additional disk space will be used.

configure weechat

/server add

Using weechat tips


/set irc.server.freenode.nicks "cootcraig"
        /set irc.server.freenode.username "cootcraig"
        /set irc.server.freenode.realname "Craig Anderson"
        /set irc.server.freenode.command "/msg nickserv identify cootcraig **********"
        /connect freenode
        /join #cobug
        /server add twice-irc
        /connect twice-irc
        /join #i3

Register nick cootcraig at twice-irc

irc commands
        /msg nickserv help register 
        /msg nickserv register **********
        A password has been sent to , please type / msg NickServ
        confirm < passcode > to | complete the registration process .
irc commands
        /msg NickServ confirm x2WB6Tmuc
        The nickname craig has been successfully registered .
        Your password is ********** - keep it for later use.
        /msg nickserv identify craig **********
        You are already registered.
        /nick cootcraig
        /msg nickserv identify craig **********
        /msg nickserv group craig **********
        You are now represented by craig in the group.
        /join #i3
        craig ( has joined #i3

connect to:

/set irc.server.twice-irc.nicks "craig cootcraig"
        /set irc.server.twice-irc.username ""
        /set irc.server.twice-irc.realname "Craig Anderson"
        /set irc.server.twice-irc.command "/msg nickserv identify **********; /nick cootcraig"
[23:08] [1] [core] 1:weechat

Using Weechat

My Notes

useful commands
        /buffer 1 - goto buffer 1, the core weechat buffer
        /buffer weechat - goto buffer 1, the core weechat buffer
        /buffer list - list the buffers
        /buffer #cobug - goto buffer with channel #cobug
        /buffer 3 - goto buffer 3
        /plugin list
        /alias b /buffer
        /alias - list aliases
        /join [-server freenode] #weechat
        /server list
        /server listfull [<server>]

3.2. Screen layout

3.12.3. WeeChat commands

away set or remove away status

/away  [-all] [<message>]
           -all: set or remove away status on all connected servers
        message: message for away (if no message is given, away status is removed)

bar manage bars

buffer manage buffers

/buffer  list
        clear [<number>|<name>|-merged|-all [<number>|<name>...]]
        move <number>|-|+
        swap <number1>|<name1> [<number2>|<name2>]
        merge <number>
        unmerge [<number>|-all]
        hide [<number>|<name>|-all [<number>|<name>...]]
        unhide [<number>|<name>|-all [<number>|<name>...]]
        renumber [<number1> [<number2> [<start>]]]
        close [<n1>[-<n2>]|<name>]
        notify <level>
        set <property> <value>
        get <property>

window manage windows

/window  list
        -1|+1|b#|up|down|left|right [-window <number>]
        splith|splitv [-window <number>] [<pct>]
        resize [-window <number>] [+/-]<pct>
        merge [-window <number>] [all]
        page_up|page_down [-window <number>]
        scroll [-window <number>] [+/-]<value>[s|m|h|d|M|y]
        scroll_horiz [-window <number>] [+/-]<value>[%]
        scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_beyond_end|scroll_previous_highlight|scroll_next_highlight|scroll_unread [-window <number>]
        swap [-window <number>] [up|down|left|right]
        zoom[-window <number>]
        bare [<delay>]

irssi or WeeChat

vpn host

vultr = yubikey

digital ocean