我已经学习了一点python,并决定采取我所学到的东西并建立一个不和谐机器人来测试我的能力。我编写了所有内容并且它看起来很好(这并不意味着很多,我确定)但每次尝试运行时我都会得到一个语法错误代码。所以,我把它缩减到最低限度,仍然赢了。我已经查看了很多问题,我发现当你不使用Python的更新版本时,通常会发生这种情况,但我已经三次检查过我确实在运行Python 3.6。 4。
以下是我所拥有的:
import discord
import discord.ext.commands
from discord.ext.commands import Bot
import asyncio
bot = commands.Bot(command_prefix='!')
@bot.event
async def on_ready():
print ("Bot Online!")
print (bot.user.name)
bot.run("token was here")
当我通过Python Launcher运行时,这是我的错误:
Kalyns-MacBook-Air:~ kalynwoodbury$ cd
'/Users/kalynwoodbury/Desktop/bot2/' && '/usr/bin/pythonw'
'/Users/kalynwoodbury/Desktop/bot2/Bot1.py' && echo Exit status: $? && exit 1
File "/Users/kalynwoodbury/Desktop/bot2/Bot1.py", line 9
async def on_ready():
^
SyntaxError: invalid syntax
Kalyns-MacBook-Air:bot2 kalynwoodbury$
我做错了什么?
编辑:应用程序说Python 3.6。昨天我卸载了它并再次下载,确保按3.6.4,安装程序说Python 3.6.4。我一生中从未如此确定过任何事情。确保我拥有正确的版本是我寻找的绝对第一件事。
编辑:如果我尝试使用python3 bot.py,它会给我相同的错误代码,但是对于那行。
答案 0 :(得分:1)
我认为问题出在您的进口商品上。当我运行相同的代码时,出现错误,提示有关命令前缀的信息。我认为异步应该没有任何问题,因为您已经导入了它。尝试以下代码:
import discord
from discord.ext.commands import Bot
from discord.ext import commands
import asyncio
bot = commands.Bot(command_prefix='!')
@bot.event
async def on_ready():
print ("Bot Online!")
print (bot.user.name)
bot.run("TOKEN GOES HERE")
我认为当您使用command_prefix时,代码很混乱,因为从来没有导入过任何带有命令前缀的内容。您应该使用discord.ext导入命令代替导入discord.ext.command。