code: def history(self, *, limit=100, before=None, after=None, around=None, oldest_first=None):
          
          return HistoryIterator(self, limit=limit, before=before, after=after, around=around, oldest_first=oldest_first)
docs: Return an :class:`.AsyncIterator` that enables receiving the destination's message history.
  
          You must have :attr:`~.Permissions.read_message_history` permissions to use this.
  
          Examples
          ---------
  
          Usage ::
  
              counter = 0
              async for message in channel.history(limit=200):
                  if message.author == client.user:
                      counter += 1
  
          Flattening into a list: ::
  
              messages = await channel.history(limit=123).flatten()
              # messages is now a list of Message...
  
          All parameters are optional.
  
          Parameters
          -----------
          limit: Optional[:class:`int`]
              The number of messages to retrieve.
              If ``None``, retrieves every message in the channel. Note, however,
              that this would make it a slow operation.
          before: :class:`.Message` or :class:`datetime.datetime`
              Retrieve messages before this date or message.
              If a date is provided it must be a timezone-naive datetime representing UTC time.
          after: :class:`.Message` or :class:`datetime.datetime`
              Retrieve messages after this date or message.
              If a date is provided it must be a timezone-naive datetime representing UTC time.
          around: :class:`.Message` or :class:`datetime.datetime`
              Retrieve messages around this date or message.
              If a date is provided it must be a timezone-naive datetime representing UTC time.
              When using this argument, the maximum limit is 101. Note that if the limit is an
              even number then this will return at most limit + 1 messages.
          oldest_first: Optional[:class:`bool`]
              If set to true, return messages in oldest->newest order. Defaults to True if
              ``after`` is specified, otherwise False.
  
          Raises
          ------
          :exc:`.Forbidden`
              You do not have permissions to get channel message history.
          :exc:`.HTTPException`
              The request to get message history failed.
  
          Yields
          -------
          :class:`.Message`
              The message with the message data parsed.