Intro

First off, this post is aimed at people interested in Emacs and people maybe wanting to learn more on how they can use IRC in their favorite editor. This is also aimed at sharing information on tools for Emacs as I feel like there's not a lot of posts really talking about how people set things in up.

I'll try and make this post short as I want to mainly focus on IRC and in later posts go over other tools for emacs.

What's out there?

Occording to the emacs-wiki the IRC programs people typically use are as follows:

  • ERC
  • IrChat
  • LieceIrcClient
  • rcirc
  • RieceIrcClient
  • ZenIRC
  • Circe
  • ii-mode
  • WeeChat I'll be going over the ones I've personally tried starting with what I currently use. I recommend trying out a couple as they all have their advantages.

Circe

Circe not only is the one that requires the least amount of configuration but is lightweight.

My example config for Circe:

(setq circe-network-options
      '(("Example"                          ; Connect to specific IRC server
         :host "irc.example.com"            ; Server url or IP to connect to
         :port 6697                         ; What port, keep in mind TLS or non-TLS connections
         :tls t                             ; If you want to connect via SSL
         :nick "your-nick"                  ; Your new or registered Nick
         :pass "*********"                  ; Your password
         :channels ("#emacs" "#example")))) ; What channels to autoconnect to on login

This works well for me since I visit different IRC server and like having multiple buffers open to see. The only thing That hasn't worked for me is using it with ZNC so I'll need to investigate that further and see why that is.

ERC

ERC much like gnus and other GNU tools for emacs erc very verbose and can be a bit confusing for people just wanting to hop into IRC. Good news if you like gnus though, the configuration should feel very familiar.

I don't really recommend this one unless you really want to invest some time to get things working.

I have seen posts on /r/emacs showing off ERC working, so feel free to try it and if it works for you email me that I'm a dumb dumb for not getting it, same goes for gnus.

WeeChat.el

Weechat.el (yes, that weechat ) is a mode for emacs that takes the relay input of weechat and makes it accessible in emacs with all the good stuff emacs offers. If you already use Weechat then it's a no-brainer to use, all you need to get going is to setup a relay server and hook the credentials into the config file in emacs. This is the same as you using something like Qweechat or WeeCloud. You could setup WeeChat to run basically as a bouncer on a PasberryPi somewhere and just connect to it wherever with whatever client.

The downside to doing this is that you're having to run weechat and emacs rather than just doing things within emacs, which is fine but I try and have everything the same across all machines and having to use Weechat not on a server could complicate things. Not only that you'll most likely experience input latency much like if you were to use emacs remotely as well.

rcirc

rcirc is much like ERC in that GNU has added it to Emacs. While I couldn't get rcirc working for me it seems others have via reddit, to which I say to search on /r/emacs or GitHub and find people's configs to see what works.

Afterthoughts

For now I'll be using Circe as it just works with very little fuss, but if in the future I change to something else I'll update this post.

To you the reader, if you're struggling with something or have found something that works for you please share with people as that makes it easier for people to learn more and maybe find a way out if they're struggling. Overall, explore your options and have fun doing so.

I hope to do more of these posts going over Emacs and some other software I use, my next post will most likely go over Guix or RatPoisonWM. Feel free to contact me and let me know if you like the post or if you just think it sucked.