flexibeast.space - gemlog - 2023-07-27
ERC with soju: update
A couple of months ago i wrote about setting up soju on OpenBSD (it was pretty straightforward) and trying to get Emacs' ERC working with it (shenanigans were required):
“Setting up the soju IRC bouncer on OpenBSD, and using it with Emacs' ERC”
However, i recently started using Emacs 29.1 (rc1), and i'm pleased to say that using ERC with soju has - at least for me! - moved into the “pretty straightforward” category:
- Enable the new `sasl` ERC module, and set the auth mechanism appropriately:
(require 'erc-sasl) (add-to-list 'erc-modules 'sasl) (erc-update-modules) (setopt erc-sasl-mechanism 'plain)
(setq erc-soju-server "[server]") (setq erc-soju-port "[port]") (setq erc-soju-networks '(("[network 1]" . "[network 1 nick]") ("[network 2]" . "[network 2 nick]"))
(defun erc-soju-start () "Start an ERC session with soju. Requires Emacs 29.1 and greater." (interactive) (let ((choice (completing-read "[Soju] Network? " (mapcar #'car erc-soju-networks)))) (erc-tls :server erc-soju-server :port erc-soju-port :id (concat erc-soju-server "/" choice) :user (concat "[soju username]/" choice) :nick (cdr (assoc choice erc-soju-networks)) :password (read-passwd "Password? "))))
And .... that seems to be it. :-) Seems to be working smoothly so far. Thanks to those - primarily "J.P.", if i understand correctly - who made this happen!
☙