gpt4 book ai didi

python - discord.py 中的 client.wait_for 中的“检查未定义”

转载 作者:行者123 更新时间:2023-12-04 17:11:08 24 4
gpt4 key购买 nike

我想阅读作者在向我的 discord 机器人发出命令 =hi 后发送的消息。所以我使用我在网上找到的这段代码来获取作者发送的内容:

msg = await client.wait_for('message', check=check) #error goes here, 'check' is not defined
await ctx.send(msg.content)

但问题是当这个函数运行时check没有定义


Traceback (most recent call last):
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/bot.py", line 939, in invoke
await ctx.command.invoke(ctx)
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/core.py", line 863, in invoke
await injected(*ctx.args, **ctx.kwargs)
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/core.py", line 94, in wrapped
raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: NameError: name 'check' is not defined

我该如何解决?我没有在这个函数前面定义check,但是如何定义check呢?

最佳答案

检查是这样的:

def check(m):
return m.author == ctx.author and m.channel == ctx.channel

只需将其添加到您的命令函数及以上

msg = await client.wait_for('message', check=check)

所以:

def check(m):
return m.author == ctx.author and m.channel == ctx.channel

msg = await client.wait_for('message', check=check)
await ctx.send(msg.content)

关于python - discord.py 中的 client.wait_for 中的“检查未定义”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69430807/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com