Making the prelude-erc module more modular

1. Introduces the `my-fav-irc` list for custom autojoining
   your favorite channels
2. Introduces the `bye-erc-message` variable for customizing
   the Last Quit Message
3. Adds documentation so that users can take advantage of these features
This commit is contained in:
Koustubh Sinkar 2016-06-14 11:52:27 +05:30 committed by Bozhidar Batsov
parent 2ed8800e29
commit 67b1a54e53
3 changed files with 49 additions and 7 deletions

View file

@ -11,7 +11,7 @@ following links.
- Common-Lisp - Common-Lisp
- CSS - CSS
- Emacs-Lisp - Emacs-Lisp
- ERC - [ERC](prelude-erc.md)
- Erlang - Erlang
- Elixir - Elixir
- Haskell - Haskell

View file

@ -0,0 +1,31 @@
# Prelude ERC Quickstart
## Customizing Server list
If you want to join a list of servers on `M-x start-irc`, other than the default list, please redefine the variable `my-fav-irc` as follows in your personal config
``` emacs-lisp
(setq my-fav-irc '( "irc.freenode.net"
"irc.oftc.net"
"irc.mozilla.org"
"irc.gnome.org"))
```
## Customizing Last Quit Message
If you want to customize your IRC Last Quit Message from *Asta la vista* to something more funkier, please redefine `bye-irc-message` as follows
``` emacs-lisp
(setq bye-erc-message "adios")
```
## Reading NickServ passwords from auth-source plugin
If you want to automatically authenticate while logging into IRC servers set the `erc-prompt-for-password` to nil as follows
``` emacs-lisp
(setq erc-prompt-for-password nil)
```
Now you can set password in plaintext in .authinfo file in the netRC format or you it encrypted in .authinfo.gpg file after setting up gpg in emacs

View file

@ -112,11 +112,24 @@ that can occur between two notifications. The default is
;; utf-8 always and forever ;; utf-8 always and forever
(setq erc-server-coding-system '(utf-8 . utf-8)) (setq erc-server-coding-system '(utf-8 . utf-8))
(defvar my-fav-irc '( "irc.freenode.net" )
"Stores the list of IRC servers that you want to connect to with start-irc.")
(defvar bye-irc-message "Asta la vista"
"Message string to be sent while quitting IRC.")
(defun connect-to-erc (server)
"Connects securely to IRC SERVER over TLS at port 6697."
(erc-tls :server server
:port 6697
:nick erc-nick ))
(defun start-irc () (defun start-irc ()
"Connect to IRC." "Connect to IRC?"
(interactive) (interactive)
(when (y-or-n-p "Do you want to start IRC? ") (when (y-or-n-p "Do you want to start IRC? ")
(erc :server "irc.freenode.net" :port 6667 :nick erc-nick))) (mapcar 'connect-to-erc my-fav-irc)))
(defun filter-server-buffers () (defun filter-server-buffers ()
(delq nil (delq nil
@ -125,14 +138,12 @@ that can occur between two notifications. The default is
(buffer-list)))) (buffer-list))))
(defun stop-irc () (defun stop-irc ()
"Disconnects from all irc servers" "Disconnects from all irc servers."
(interactive) (interactive)
(dolist (buffer (filter-server-buffers)) (dolist (buffer (filter-server-buffers))
(message "Server buffer: %s" (buffer-name buffer)) (message "Server buffer: %s" (buffer-name buffer))
(with-current-buffer buffer (with-current-buffer buffer
(erc-quit-server "Asta la vista")))) (erc-quit-server bye-irc-message))))
(setq erc-autojoin-channels-alist '(("freenode.net" "#prelude-emacs" "#projectile")))
(provide 'prelude-erc) (provide 'prelude-erc)