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