code: async def call_command(bot: NoneBot, ctx: Context_T,
                         name: Union[str, CommandName_T], *,
                         current_arg: str = '',
                         args: Optional[CommandArgs_T] = None,
                         check_perm: bool = True,
                         disable_interaction: bool = False) -> bool:
      
      cmd = _find_command(name)
      if not cmd:
          return False
      session = CommandSession(bot, ctx, cmd, current_arg=current_arg, args=args)
      return await _real_run_command(session, context_id(session.ctx),
                                     check_perm=check_perm,
                                     disable_interaction=disable_interaction)
docs: Call a command internally.
  
      This function is typically called by some other commands
      or "handle_natural_language" when handling NLPResult object.
  
      Note: If disable_interaction is not True, after calling this function,
      any previous command session will be overridden, even if the command
      being called here does not need further interaction (a.k.a asking
      the user for more info).
  
      :param bot: NoneBot instance
      :param ctx: message context
      :param name: command name
      :param current_arg: command current argument string
      :param args: command args
      :param check_perm: should check permission before running command
      :param disable_interaction: disable the command's further interaction
      :return: the command is successfully called