Function: erc-nickserv-identify-mode
erc-nickserv-identify-mode is an autoloaded, interactive and
byte-compiled function defined in erc-services.el.gz.
Signature
(erc-nickserv-identify-mode MODE)
Documentation
Set up hooks according to which MODE the user has chosen.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/erc/erc-services.el.gz
;;;###autoload
(defun erc-nickserv-identify-mode (mode)
"Set up hooks according to which MODE the user has chosen."
(interactive
(list (intern (completing-read
"Choose Nickserv identify mode (RET to disable): "
'(("autodetect") ("nick-change") ("both")) nil t))))
(add-hook 'erc-server-NOTICE-functions
#'erc-nickserv-identification-autodetect)
(unless erc-networks-mode
;; Force-enable networks module, because we need it to set
;; erc-network for us.
(erc-networks-enable))
(cond ((eq mode 'autodetect)
(setq erc-nickserv-identify-mode 'autodetect)
(add-hook 'erc-server-NOTICE-functions
#'erc-nickserv-identify-autodetect)
(remove-hook 'erc-nick-changed-functions
#'erc-nickserv-identify-on-nick-change)
(remove-hook 'erc-after-connect
#'erc-nickserv-identify-on-connect))
((eq mode 'nick-change)
(setq erc-nickserv-identify-mode 'nick-change)
(add-hook 'erc-after-connect
#'erc-nickserv-identify-on-connect)
(add-hook 'erc-nick-changed-functions
#'erc-nickserv-identify-on-nick-change)
(remove-hook 'erc-server-NOTICE-functions
#'erc-nickserv-identify-autodetect))
((eq mode 'both)
(setq erc-nickserv-identify-mode 'both)
(add-hook 'erc-server-NOTICE-functions
#'erc-nickserv-identify-autodetect)
(add-hook 'erc-after-connect
#'erc-nickserv-identify-on-connect)
(add-hook 'erc-nick-changed-functions
#'erc-nickserv-identify-on-nick-change))
(t
(setq erc-nickserv-identify-mode nil)
(remove-hook 'erc-server-NOTICE-functions
#'erc-nickserv-identify-autodetect)
(remove-hook 'erc-after-connect
#'erc-nickserv-identify-on-connect)
(remove-hook 'erc-nick-changed-functions
#'erc-nickserv-identify-on-nick-change)
(remove-hook 'erc-server-NOTICE-functions
#'erc-nickserv-identification-autodetect))))