title: TypeError: on_voice_state_update() takes 2 positional arguments but 3 were given
body: <p>I'm trying to make a bot that gives members a role while being on a voice channel, but for some reason it doesn't work.</p>
  <p>Here's the code:</p>
  <pre class="lang-py prettyprint-override"><code>@client.event
  async def on_voice_state_update(before, after):
      role = discord.utils.get(after.server.roles, name=&quot;glosowy&quot;)
      if not before.voice.voice_channel and after.voice.voice_channel:
          await client.add_roles(after, role)
      elif before.voice.voice_channel and not after.voice.voice_channel:
          await client.remove_roles(after, role)
  </code></pre>
  <p>And here's the error I receive:</p>
  <pre class="lang-none prettyprint-override"><code>Ignoring exception in on_voice_state_update
  Traceback (most recent call last):
  
    File &quot;C:\Users\aaa\AppData\Local\Programs\Python\Python38\lib\site-packages\discord\client.py&quot;, line 312, in _run_event
      await coro(*args, **kwargs)
  
  TypeError: on_voice_state_update() takes 2 positional arguments but 3 were given
  </code></pre>