3

I am wondering if someone successfully made rcirc works connecting via a IRC bouncer like ZNC.

I need to be able to specify a username/password for connecting without doing a patch on the original mode

There is as well the problem which is when killing a buffer rcirc with do a /PART to quit the channel and effectively have the bouncer as well quitting the channel so then defeat a bit the point of having a bouncer.

So anyone using RCIRC with a irc bouncer?

1

1 Answer 1

5

Yes, but this answer is specific to rcirc (because I personally use it). I can get rcirc to connect to my ZNC server out-of-the-box:

(setq rcirc-server-alist '(("znc-server" :nick "znc-username" :password "znc-username:znc-password" :full-name "full-name")))

As far as parting channels is concerned, simply detach before killing the buffer: issue '/quote detach [channel-name]' to the buffer before executing 'kill-buffer'. To differentiate between detaching and parting, I've bound the action of detaching + killing to 'C-c C-d' in rcirc-mode. You can get other ZNC-specific functionality by simply binding keys to the ZNC commands described here: http://en.znc.in/wiki/Using_commands

EDIT: I thought I should include the code that I use to detach.

(defun rcirc-detach-buffer ()
  (interactive)
  (let ((buffer (current-buffer)))
    (when (and (rcirc-buffer-process)
           (eq (process-status (rcirc-buffer-process)) 'open))
      (with-rcirc-server-buffer
    (setq rcirc-buffer-alist
          (rassq-delete-all buffer rcirc-buffer-alist)))
      (rcirc-update-short-buffer-names)
      (if (rcirc-channel-p rcirc-target)
      (rcirc-send-string (rcirc-buffer-process)
                 (concat "DETACH " rcirc-target))))
    (setq rcirc-target nil)
    (kill-buffer buffer)))

(define-key rcirc-mode-map [(control c) (control d)] 'rcirc-detach-buffer)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .