discord discord.py

discord - create_task=asyncio.async: SyntaxError: sintaxis no válida



discord.py (2)

Estoy creando un bot para Discord, y acabo de escribir este sencillo código:

import discord TOKEN = "token" client = discord.Client() @client.event async def on_ready(): print(''Bot is ready.'') client.run(TOKEN)

y produce el siguiente error:

Traceback (most recent call last): File "/Users/pcaires/Desktop/Programação/Python/Discord Bots/Main.py", line 1, in <module> import discord File "/Users/pcaires/Desktop/Programação/Python/Discord Bots/venv/lib/python3.7/site-packages/discord/__init__.py", line 20, in <module> from .client import Client, AppInfo, ChannelPermissions File "/Users/pcaires/Desktop/Programação/Python/Discord Bots/venv/lib/python3.7/site-packages/discord/client.py", line 38, in <module> from .state import ConnectionState File "/Users/pcaires/Desktop/Programação/Python/Discord Bots/venv/lib/python3.7/site-packages/discord/state.py", line 36, in <module> from . import utils, compat File "/Users/pcaires/Desktop/Programação/Python/Discord Bots/venv/lib/python3.7/site-packages/discord/compat.py", line 32 create_task = asyncio.async ^ SyntaxError: invalid syntax

Busqué y busqué en Internet, y la mayoría de las personas dicen usar Python 3.7, y eso es lo que he estado usando. Además, he estado usando PyCharm como mi IDE para Python.


¿De dónde viene el error?

La versión de discord.py que está utilizando no es compatible con Python 3.7 (en el que async convierte en una palabra clave reservada), como se explica en este problema . Esta versión de discord.py, que es la rama predeterminada en el repositorio de GitHub , lamentablemente es la que está instalada por Pip.

Como arreglarlo

Tu también puedes:

  • baja tu versión de Python a 3.6.
  • instale otra versión de discord.py, basada en la rama de reescritura que está en desarrollo activo , por ejemplo con el comando: python3 -m pip install --user -U https://github.com/Rapptz/discord.py/archive/rewrite.zip