在制作Discord Bot时,请继续在Async def on_ready()上遇到语法错误



我一直在学习Python,并决定采用我学到的东西并构建一个Discord Bot来测试我的能力。我已经编码所有内容,对我来说看起来不错(我确定这没什么意义(,但是每次尝试运行它时,我都会收到语法错误的代码。因此,我将其缩放到最低限度,并且它仍然无法使用。我已经浏览了很多问题,我发现这通常会在您不使用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,它给了我相同的错误代码,但对于该行。

我认为问题在于您的进口。当我运行相同的代码时,我会发现有关命令前缀的错误。我认为异步没有任何问题,因为您已经导入了它。尝试此代码:

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 Import命令。

相关内容

最新更新