Browse Source

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
custom
Koustubh Sinkar 10 years ago
committed by Bozhidar Batsov
parent
commit
67b1a54e53
  1. 2
      modules/doc/README.md
  2. 31
      modules/doc/prelude-erc.md
  3. 23
      modules/prelude-erc.el

2
modules/doc/README.md

@ -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

31
modules/doc/prelude-erc.md

@ -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

23
modules/prelude-erc.el

@ -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"))))
(setq erc-autojoin-channels-alist '(("freenode.net" "#prelude-emacs" "#projectile")))
(erc-quit-server bye-irc-message))))
(provide 'prelude-erc) (provide 'prelude-erc)

Loading…
Cancel
Save