code: async def can_run(self, ctx):
          
  
          original = ctx.command
          ctx.command = self
  
          try:
              if not await ctx.bot.can_run(ctx):
                  raise CheckFailure('The global check functions for command {0.qualified_name} failed.'.format(self))
  
              cog = self.cog
              if cog is not None:
                  local_check = Cog._get_overridden_method(cog.cog_check)
                  if local_check is not None:
                      ret = await discord.utils.maybe_coroutine(local_check, ctx)
                      if not ret:
                          return False
  
              predicates = self.checks
              if not predicates:
                  # since we have no checks, then we just return True.
                  return True
  
              return await discord.utils.async_all(predicate(ctx) for predicate in predicates)
          finally:
              ctx.command = original
docs: |coro|
  
          Checks if the command can be executed by checking all the predicates
          inside the :attr:`.checks` attribute.
  
          Parameters
          -----------
          ctx: :class:`.Context`
              The ctx of the command currently being invoked.
  
          Raises
          -------
          :class:`CommandError`
              Any command error that was raised during a check call will be propagated
              by this function.
  
          Returns
          --------
          :class:`bool`
              A boolean indicating if the command can be invoked.