Skip to content

Instantly share code, notes, and snippets.

@slackorama
Created November 11, 2016 22:11
Show Gist options
  • Save slackorama/2c94df4b8f2cedddb0c38612aceb9ea3 to your computer and use it in GitHub Desktop.
Save slackorama/2c94df4b8f2cedddb0c38612aceb9ea3 to your computer and use it in GitHub Desktop.
(defun slack-lt/init-erc ()
"Initialize ERC"
(use-package erc
:init
(spacemacs/set-leader-keys
"aie" 'erc
"aiv" 'ssm-connect-slack-work
"aif" 'ssm-connect-freenode
"aib" 'ssm-connect-bitlbee
"aii" 'erc-track-switch-buffer)
:config
(progn
(use-package erc-match)
(use-package erc-log)
(use-package erc-services
:config
(progn
(setq erc-prompt-for-nickserv-password nil)
(erc-services-mode 1)))
(use-package erc-match
:config
(progn
(erc-match-mode 1)
(setq erc-keywords '("slackorama" "seth" "mason" "ftp" "lpq" "axnq"
"slw" "narwhal" "hadoop" "purge"))
(setq erc-current-nick-highlight-type 'all)))
(erc-scrolltobottom-mode t)
(erc-track-mode t)
(setq erc-join-buffer 'bury
erc-track-enable-keybindings t
erc-track-exclude-server-buffer t
erc-interpret-mirc-color t
erc-kill-queries-on-quit t
erc-kill-buffer-on-part t
erc-kill-server-buffer-on-quit t
erc-auto-query 'bury
erc-keyword-highlight-type 'all
erc-button-buttonize-nicks t
erc-log-channels-directory "~/logs/erc/"
erc-save-buffer-on-part nil
erc-save-queries-on-quit nil
erc-log-write-after-send t
erc-log-write-after-insert t
erc-hide-list '("JOIN" "PART" "QUIT" "MODE" "353" "333")
erc-prompt (lambda () (concat "-" (buffer-name) "->"))
erc-fill-function 'erc-fill-static
erc-fill-column 79
erc-fill-static-center 18
;; tracking...this should limit the modeline spamming
erc-track-use-faces t
erc-track-exclude '("#django" "#emacs" "#elasticsearch"
"#openstack-poppy" "#mongodb" "#python")
;; added for testing
erc-track-exclude-types '("JOIN" "NICK" "PART" "QUIT" "NOTICE" "353"
"333" "MODE")
erc-track-faces-priority-list '(erc-current-nick-face
erc-keyword-face
erc-direct-msg-face
erc-nick-msg-face)
erc-track-priority-faces-only 'all
;; end added for testing
;; timestamp fun! timestamp on left on every line.
erc-timestamp-only-if-changed-flag nil
erc-timestamp-format "[%H:%M:%S]"
erc-fill-prefix " "
erc-insert-timestamp-function 'erc-insert-timestamp-left)
;; from https://www.emacswiki.org/emacs/ErcChannelTracking
(defadvice erc-track-find-face (around erc-track-find-face-promote-query activate)
(if (erc-query-buffer-p)
(setq ad-return-value (intern "erc-current-nick-face"))
ad-do-it))
(defadvice erc-track-modified-channels (around erc-track-modified-channels-promote-query activate)
(if (erc-query-buffer-p) (setq erc-track-priority-faces-only 'nil))
ad-do-it
(if (erc-query-buffer-p) (setq erc-track-priority-faces-only 'all)))
(erc-log-enable)
(erc-spelling-mode 1)
(erc-update-modules)
(defun ssm-connect-freenode ()
(interactive)
(erc-tls :server "znc.slackorama.com" :port 5000
:nick "slack/fn" :full-name "Seth")
)
(defun ssm-connect-bitlbee ()
(interactive)
(erc-open "znc.slackorama.com"
6667
"seth"
"seth"
t
nil))
(defun ssm-connect-slack-work ()
(interactive)
(erc-tls :server "znc.slackorama.com" :port 5000
:nick "slack/work" :full-name "Seth Mason"))
))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment