title: How to get User roles on discord.py rewrite
body: <p>New discord.py-rewrite user here.</p>
  
  <p>I'm coding a bot that has a discord interface: It is connected to more than one server (guild) and I currently need an auth system to limit its use.
  I thought I could get all users roles and parse them later when needed. So I did:</p>
  
  <pre><code>    @client.event
      async def on_ready():
          ... 
          for guild in client.guilds:
              for member in guild.members:
                  for role in member.roles:
                      if role.name == "Test":
                          print("USER_ID: %d - ROLE: %s" % (member.id, role.name))
  </code></pre>
  
  <p>but I don't like it. I have to store these and its not efficient. Also I have to refresh with a background co-routine to check if new members join/changed roles.
  So my question: is there a simply way to check on the fly user roles on mutual guilds when receiving a message?
  Scrolling the official API the only way to get user's mutual guilds is profile() but as a bot I get a Forbidden Error, like API says.</p>
  
  <pre><code>    @client.event
      async def on_message(message):
          ...
          profile = await message.author.profile()
  </code></pre>
  
  <pre><code>discord.errors.Forbidden: FORBIDDEN (status code: 403): Bots cannot use this endpoint
  </code></pre>
  
  <p>(update) ADDENDUM:</p>
  
  <p>I need to check user's roles even in private messages so the need to get mutual_guilds</p>