From 6e3fa4aea2bd049e83f0ba15d757edd794408468 Mon Sep 17 00:00:00 2001 From: Griatch Date: Mon, 17 Oct 2016 22:08:38 +0200 Subject: [PATCH] Fix nick deletion by index. Resolves #1099. --- evennia/commands/default/general.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/evennia/commands/default/general.py b/evennia/commands/default/general.py index 325440b213..a0c7c93a30 100644 --- a/evennia/commands/default/general.py +++ b/evennia/commands/default/general.py @@ -163,9 +163,10 @@ class CmdNick(COMMAND_DEFAULT_CLASS): _, _, old_nickstring, old_replstring = oldnick.value else: # no old nick, see if a number was given - if self.args.isdigit(): + arg = self.args.lstrip("#") + if arg.isdigit(): # we are given a index in nicklist - delindex = int(self.args) + delindex = int(arg) if 0 < delindex <= len(nicklist): oldnick = nicklist[delindex-1] _, _, old_nickstring, old_replstring = oldnick.value @@ -176,9 +177,12 @@ class CmdNick(COMMAND_DEFAULT_CLASS): if "delete" in switches or "del" in switches: # clear the nick - errstring = "" - string += "\nNick removed: '|w%s|n' -> |w%s|n." % (old_nickstring, old_replstring) - caller.nicks.remove(nickstring, category=nicktype) + if caller.nicks.has(old_nickstring, category=nicktype): + caller.nicks.remove(old_nickstring, category=nicktype) + string += "\nNick removed: '|w%s|n' -> |w%s|n." % (old_nickstring, old_replstring) + else: + errstring += "\nNick '|w%s|n' was not deleted." % old_nickstring + elif replstring: # creating new nick