【发布时间】:2018-08-01 12:21:03
【问题描述】:
我已经学习了一点 Python,并决定利用我所学的知识构建一个 Discord 机器人来测试我的能力。我已经编写了所有代码,对我来说看起来不错(我敢肯定,这并不意味着什么),但是每次尝试运行它时都会收到语法错误代码。所以,我把它缩小到最低限度,它仍然不起作用。我查看了很多问题,发现这通常发生在您没有使用 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,它会给我相同的错误代码,但针对该行。
【问题讨论】:
-
如何确认您正在使用 Python 3.6.4 运行?
-
如果您运行的是 3.5 以上的版本,它将工作。尝试在函数定义上方添加@asyncio.coroutine。
-
您运行机器人的命令看起来很奇怪。当你只做
python3 bot.py(或任何文件被调用)时会发生什么。 -
同样的问题,你解决了吗?
标签: python bots discord discord.py