code: async def messages(self):
          
          # Messages may be posted on the RMB while the generator is running.
          oldest_id_seen = float('inf')
          for offset in count(step=100):
              posts_bunch = await self._get_messages(offset=offset)
              for post in reversed(posts_bunch):
                  if post.id < oldest_id_seen:
                      yield post
              oldest_id_seen = posts_bunch[0].id
              if len(posts_bunch) < 100:
                  break
docs: Iterate through RMB posts from newest to oldest.
  
          Returns
          -------
          an asynchronous generator that yields :class:`Post`