*nickserv Add "RECOVER" if user exists #969

Open
opened 2026-10-05 04:56:10 +02:00 by adam · 1 comment
Owner

Some services (like anope) when you are disconnecting and reconnecting under the minute your nickname is used by the services.

A passage of the anope configuration:

/*
	 * The username, and possibly hostname, used for fake users created when Services needs to
	 * hold a nickname.
	 */
	enforceruser = "enforcer"
	enforcerhost = "services.host"
 
	/*
	 * The length of time Services hold nicknames.
	 *
	 * This directive is optional, but recommended. If not set it defaults to 1 minute.
	 */
	releasetimeout = 1m
 

To work around this problem, I suggest upgrading the * nickserv with sending the RECOVER command if the user (nick) is being used
ANOPE documentation for RECOVER:

Syntax: /msg NickServ  RECOVER nickname [password]

Allows you to recover your nickname if someone else has
taken it; this does the same thing that NickServ does
automatically if someone tries to use a kill-protected
nick.

When you give this command, NickServ will bring a fake
user online with the same nickname as the user you're
trying to recover your nick from.  This causes the IRC
servers to disconnect the other user.  This fake user will
remain online for NickServ to ensure that the other
user does not immediately reconnect; after that time, you
can reclaim your nick.  Alternatively, use the RELEASE
command (/msg NickServ HELP RELEASE) to get the nick
back sooner.

In order to use the RECOVER command for a nick, your
current address as shown in /WHOIS must be on that nick's
access list, you must be identified and in the group of
that nick, or you must supply the correct password for
the nickname.

to integrate I suggest adding the posibility to SetCommand to configure "RECOVER"
SetCommand RECOVER NICKSERV RECOVER {nick} {password}

Some services (like anope) when you are disconnecting and reconnecting under the minute your nickname is used by the services. A passage of the anope configuration: ``` /* * The username, and possibly hostname, used for fake users created when Services needs to * hold a nickname. */ enforceruser = "enforcer" enforcerhost = "services.host" /* * The length of time Services hold nicknames. * * This directive is optional, but recommended. If not set it defaults to 1 minute. */ releasetimeout = 1m ``` To work around this problem, I suggest upgrading the * nickserv with sending the RECOVER command if the user (nick) is being used ANOPE documentation for RECOVER: ``` Syntax: /msg NickServ RECOVER nickname [password] Allows you to recover your nickname if someone else has taken it; this does the same thing that NickServ does automatically if someone tries to use a kill-protected nick. When you give this command, NickServ will bring a fake user online with the same nickname as the user you're trying to recover your nick from. This causes the IRC servers to disconnect the other user. This fake user will remain online for NickServ to ensure that the other user does not immediately reconnect; after that time, you can reclaim your nick. Alternatively, use the RELEASE command (/msg NickServ HELP RELEASE) to get the nick back sooner. In order to use the RECOVER command for a nick, your current address as shown in /WHOIS must be on that nick's access list, you must be identified and in the group of that nick, or you must supply the correct password for the nickname. ``` to integrate I suggest adding the posibility to SetCommand to configure "RECOVER" `SetCommand RECOVER NICKSERV RECOVER {nick} {password}` <!-- github-sync-id:743274697 -->
Author
Owner

this would be a nice one. :)

this would be a nice one. :) <!-- github-comment-id:748994661 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/znc#969