在不和谐的机器人中踢球是未定义的

时间:2021-05-18 18:15:51

标签: python discord bots

我制作了一个机器人,在不和谐的情况下 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')

1 个答案:

答案 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.authorkick 他的 reason="Spam"
  • await kick 在这里不起作用,因为机器人不知道该踢谁,即使您已经将 message.author 指定为要踢的人。这只是错误的安排。