human
Complete the below
@inlineCallbacks
def cmdhandler(called_by, raw_string, _testing=False, callertype='session', session=None, cmdobj=None, cmdobj_key=None, **kwargs):

    ''''This is the main mechanism that handles any string sent to the engine.
    Args:
    called_by (Session, Player or Object): Object from which this
    command was called. which this was called from.  What this is
    depends on the game state.
    raw_string (str): The command string as given on the command line.
    _testing (bool, optional): Used for debug purposes and decides if we
    should actually execute the command or not. If True, the
    command instance will be returned.
    callertype (str, optional): One of "session", "player" or
    "object". These are treated in decending order, so when the
    Session is the caller, it will merge its own cmdset into
    cmdsets from both Player and eventual puppeted Object (and
    cmdsets in its room etc). A Player will only include its own
    cmdset and the Objects and so on. Merge order is the same
    order, so that Object cmdsets are merged in last, giving them
    precendence for same-name and same-prio commands.
    session (Session, optional): Relevant if callertype is "player" - the session will help
    retrieve the correct cmdsets from puppeted objects.
    cmdobj (Command, optional): If given a command instance, this will be executed using
    `called_by` as the caller, `raw_string` representing its arguments and (optionally)
    `cmdobj_key` as its input command name. No cmdset lookup will be performed but
    all other options apply as normal. This allows for running a specific Command
    within the command system mechanism.
    cmdobj_key (string, optional): Used together with `cmdobj` keyword to specify
    which cmdname should be assigned when calling the specified Command instance. This
    is made available as `self.cmdstring` when the Command runs.
    If not given, the command will be assumed to be called as `cmdobj.key`.
    Kwargs:
    kwargs (any): other keyword arguments will be assigned as named variables on the
    retrieved command object *before* it is executed. This is unused
    in default Evennia but may be used by code to...'''

=====
Here this is?
assistant
#Here this is
.
    @inlineCallbacks
    def _run_command(cmd, cmdname, args, raw_string, cmdset, session, player):
        "\n                                Helper    function:    This    initializes    and    runs    the    Command\n                                instance    once    the    parser    has    identified    it    as    either    a    normal\n                                command    or    one    of    the    system    commands.\n\n                                Args:\n                                                cmd    (Command):    Command    object.\n                                                cmdname    (str):    Name    of    command.\n                                                args    (str):    Extra    text    entered    after    the    identified    command.\n                                                raw_string    (str):    Full    input    string.\n                                                cmdset    (CmdSet):    Command    sert    the    command    belongs    to    (if    any)..\n                                                session    (Session):    Session    of    caller    (if    any).\n                                                player    (Player):    Player    of    caller    (if    any).\n\n                                Returns:\n                                                deferred    (Deferred):    this    will    fire    with    the    return    of    the\n                                                                command's    `func`    method.\n\n                                Raises:\n                                                RuntimeError:    If    command    recursion    limit    was    reached.\n\n                                "
        global _COMMAND_NESTING
        try:
            cmd.caller = caller
            cmd.cmdstring = cmdname
            cmd.args = args
            cmd.cmdset = cmdset
            cmd.session = session
            cmd.player = player
            cmd.raw_string = raw_string
            if (hasattr(cmd, 'obj')...