Skip to content

Commit 4448462

Browse files
committed
Services: Display a better error on NonExistentRegistryEntry
1 parent 7c4bc88 commit 4448462

1 file changed

Lines changed: 13 additions & 1 deletion

File tree

plugins/Services/plugin.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
import supybot.irclib as irclib
4141
import supybot.ircmsgs as ircmsgs
4242
import supybot.ircutils as ircutils
43+
import supybot.registry as registry
4344
import supybot.callbacks as callbacks
4445
from supybot.i18n import PluginInternationalization, internationalizeDocstring
4546
_ = PluginInternationalization('Services')
@@ -108,7 +109,18 @@ def _getNick(self, network):
108109
def _getNickServPassword(self, nick, network):
109110
# This should later be nick-specific.
110111
assert nick in self.registryValue('nicks', network=network)
111-
return self.registryValue('NickServ.password.%s' % nick, network=network)
112+
try:
113+
return self.registryValue('NickServ.password.{nick}', network=network)
114+
except registry.NonExistentRegistryEntry:
115+
msg = (
116+
f'Nick {nick} is listed in supybot.plugins.Services.nicks, '
117+
f'supybot.plugins.NickServ.password.{nick} does not exist. '
118+
f'If you manually changed the value, undo it and use the '
119+
f'"services password" command instead.'
120+
)
121+
log.error(msg)
122+
raise callbacks.Error(msg)
123+
112124

113125
def _setNickServPassword(self, nick, password, network):
114126
# This also should be nick-specific.

0 commit comments

Comments
 (0)