Je crée un bot pour Discord, et je viens d'écrire ce code simple:
import discord
TOKEN = "token"
client = discord.Client()
@client.event
async def on_ready():
print('Bot is ready.')
client.run(TOKEN)
et cela produit l'erreur suivante:
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
J'ai cherché et cherché sur Internet, et la plupart des gens disent d'utiliser Python 3,7, et c'est ce que j'utilise. De plus, j'utilise PyCharm comme IDE pour Python.
La version de discord.py que vous utilisez ne prend pas en charge Python 3.7 (dans lequel async
devient un mot-clé réservé), comme expliqué dans ce problème . Cette version de discord.py, qui est la branche par défaut de GitHub repo , est malheureusement celle installée par Pip .
Vous pouvez soit:
python3 -m pip install --user -U https://github.com/Rapptz/discord.py/archive/rewrite.Zip
Vous pouvez éditer manuellement le fichier et changer cette ligne de create_task = asyncio.async
À create_task = getattr(asyncio, 'async')
Voir plus d'informations ici: https://github.com/Rapptz/discord.py/issues/1249