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
- CSS
- Emacs-Lisp
- ERC
- [ERC](prelude-erc.md)
- Erlang
- Elixir
- 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
(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 ()
"Connect to IRC."
"Connect to IRC?"
(interactive)
(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 ()
(delq nil
@ -125,14 +138,12 @@ that can occur between two notifications. The default is
(buffer-list))))
(defun stop-irc ()
"Disconnects from all irc servers"
"Disconnects from all irc servers."
(interactive)
(dolist (buffer (filter-server-buffers))
(message "Server buffer: %s" (buffer-name buffer))
(with-current-buffer buffer
(erc-quit-server "Asta la vista"))))
(setq erc-autojoin-channels-alist '(("freenode.net" "#prelude-emacs" "#projectile")))
(erc-quit-server bye-irc-message))))
(provide 'prelude-erc)