summaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/bandali-erc.el74
1 files changed, 74 insertions, 0 deletions
diff --git a/lisp/bandali-erc.el b/lisp/bandali-erc.el
new file mode 100644
index 0000000..2d6f496
--- /dev/null
+++ b/lisp/bandali-erc.el
@@ -0,0 +1,74 @@
+(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)))))))
+
+(provide 'bandali-erc)