def CmdBan(mob, args):
    from mud.common.permission import User, Role, BannedUser
    from player import Player

    if not len(args):
        return

    try:
        player = Player.byPublicName(args[0])
    except:
        mob.player.sendGameText(RPG_MSG_GAME_DENIED,
                                "Unknown player %s.\\n" % args[0])
        return

    if not IsUserSuperior(mob.player.publicName, player.publicName):
        mob.player.sendGameText(
            RPG_MSG_GAME_DENIED,
            "You do not have the required permission for this action.\\n")
        return

    try:
        banned = BannedUser.byName(args[0])
        mob.player.sendGameText(RPG_MSG_GAME_DENIED,
                                "User %s already banned.\\n" % args[0])
        return
    except:
        pass

    try:
        user = User.byName(args[0])
    except:
        mob.player.sendGameText(RPG_MSG_GAME_DENIED,
                                "Unknown user %s.\\n" % args[0])
        return

    #bye bye
    BannedUser(name=args[0])
    mob.player.sendGameText(RPG_MSG_GAME_GAINED,
                            "User %s has been banned.\\n" % args[0])

    world = mob.player.world
    world.kickPlayer(player)