Disable unregister by default.

This commit is contained in:
Jeremy Fincher 2004-11-04 06:06:18 +00:00
parent 33254cb538
commit f515617529
2 changed files with 18 additions and 7 deletions

View File

@ -141,13 +141,19 @@ class User(callbacks.Privmsg):
Unregisters <name> from the user database. If the user giving this Unregisters <name> from the user database. If the user giving this
command is an owner user, the password is not necessary. command is an owner user, the password is not necessary.
""" """
if conf.supybot.databases.users.allowUnregistration():
if not user.checkPassword(password): if not user.checkPassword(password):
try:
user = ircdb.users.getUser(msg.prefix) user = ircdb.users.getUser(msg.prefix)
if not user.checkCapability('owner'): except KeyError:
user = None
if not user or not user.checkCapability('owner'):
irc.error(conf.supybot.replies.incorrectAuthentication()) irc.error(conf.supybot.replies.incorrectAuthentication())
return
ircdb.users.delUser(user.id) ircdb.users.delUser(user.id)
irc.replySuccess() irc.replySuccess()
else:
irc.error('This command has been disabled. You\'ll have to ask '
'the owner of this bot to unregister your user.')
unregister = wrap(unregister, ['private', 'otherUser', unregister = wrap(unregister, ['private', 'otherUser',
additional('something', '')]) additional('something', '')])

View File

@ -748,6 +748,11 @@ registerGlobalValue(supybot.databases.users, 'timeoutIdentification',
registry.Integer(0, """Determines how long it takes identification to time registry.Integer(0, """Determines how long it takes identification to time
out. If the value is less than or equal to zero, identification never out. If the value is less than or equal to zero, identification never
times out.""")) times out."""))
registerGlobalValue(supybot.databases.users, 'allowUnregistration',
registry.Boolean(False, """Determines whether the bot will allow users to
unregister their users. This can wreak havoc with already-existing
databases, so by default we don't allow it. Enable this at your own risk.
"""))
registerGlobalValue(supybot.databases.users, 'hash', registerGlobalValue(supybot.databases.users, 'hash',
registry.Boolean(True, """Determines whether the passwords in the user registry.Boolean(True, """Determines whether the passwords in the user
database will be hashed by default. This only affects new users; users database will be hashed by default. This only affects new users; users