-;;; IRC (with ERC and ZNC)
-
-(use-package erc
- :bind (("C-c b b" . erc-switch-to-buffer)
- :map erc-mode-map
- ("M-a" . erc-track-switch-buffer))
- :custom
- (erc-join-buffer 'bury)
- (erc-lurker-hide-list '("JOIN" "PART" "QUIT"))
- (erc-nick "bandali")
- (erc-prompt "erc>")
- (erc-rename-buffers t)
- (erc-server-reconnect-attempts 5)
- (erc-server-reconnect-timeout 3)
- :config
- (defun erc-cmd-OPME ()
- "Request chanserv to op me."
- (erc-message "PRIVMSG"
- (format "chanserv op %s %s"
- (erc-default-target)
- (erc-current-nick)) nil))
- (defun erc-cmd-DEOPME ()
- "Deop myself from current channel."
- (erc-cmd-DEOP (format "%s" (erc-current-nick))))
- (add-to-list 'erc-modules 'keep-place)
- (add-to-list 'erc-modules 'notifications)
- (add-to-list 'erc-modules 'smiley)
- (add-to-list 'erc-modules 'spelling)
- (add-to-list 'erc-modules 'scrolltoplace)
- (erc-update-modules))
-
-(use-package erc-fill
- :after erc
- :custom
- (erc-fill-column 77)
- (erc-fill-function 'erc-fill-static)
- (erc-fill-static-center 18))
-
-(use-package erc-pcomplete
- :after erc
- :custom
- (erc-pcomplete-nick-postfix ", "))
-
-(use-package erc-track
- :after erc
- :bind (("C-c a e t d" . erc-track-disable)
- ("C-c a e t e" . erc-track-enable))
- :custom
- (erc-track-enable-keybindings nil)
- (erc-track-exclude-types '("JOIN" "MODE" "NICK" "PART" "QUIT"
- "324" "329" "332" "333" "353" "477"))
- (erc-track-position-in-mode-line t)
- (erc-track-priority-faces-only 'all)
- (erc-track-shorten-function nil))
-
-(use-package erc-hl-nicks
- :after erc)
-
-(use-package erc-scrolltoplace
- :after erc)
-
-(use-package znc
- :bind (("C-c a e e" . znc-erc)
- ("C-c a e a" . znc-all))
- :config
- (let ((pwd (let ((auth (auth-source-search :host "znca")))
- (cond
- ((null auth) (error "Couldn't find znca's authinfo"))
- (t (funcall (plist-get (car auth) :secret)))))))
- (setq znc-servers
- `(("znc.shemshak.org" 1337 t
- ((freenode "amin/freenode" ,pwd)))
- ("znc.shemshak.org" 1337 t
- ((oftc "amin/oftc" ,pwd)))))))
-
-\f