我制作了一个机器人,在不和谐的情况下 ping @everyone 时会踢人,但问题是我收到此错误
NameError: name 'kick' is not defined
代码如下:
import discord
client = discord.Client()
@client.event
async def on_ready():
print('We have logged in as {0.user}'.format(client))
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith('@everyone'):
await kick(message.author,reason = "spam")
client.run('censored for obvious reasons')
答案 0 :(得分:0)
我认为这些评论已经非常有用,但无论如何这里有一个可能的解决方案,以防其他人偶然发现这个“错误”。
您的信息不正确,但您已经提供了我们需要的所有信息,只有这些需要在安排中更改。
看看下面的代码:
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith('@everyone'):
await message.author.kick(reason="Spam")
message.author
和 kick
他的 reason="Spam"
await kick
在这里不起作用,因为机器人不知道该踢谁,即使您已经将 message.author
指定为要踢的人。这只是错误的安排。