【发布时间】:2018-12-16 20:41:26
【问题描述】:
您好,我是不和谐的 python 编码新手,我试图创建一个命令来告诉用户他们是否是管理员,但是很好......它一点也不工作
@client.command(name="whoami",description="who are you?")
async def whoami():
if message.author == client.user:
return
if context.message.author.mention == discord.Permissions.administrator:
msg = "You're an admin {0.author.mention}".format(message)
await client.send_message(message.channel, msg)
else:
msg = "You're an average joe {0.author.mention}".format(message)
await client.send_message(message.channel, msg)
然后当我尝试输入 whoami 时得到这个
Ignoring exception in command whoami
Traceback (most recent call last):
File "/home/python/.local/lib/python3.6/site-packages/discord/ext/commands/core.py", line 50, in wrapped
ret = yield from coro(*args, **kwargs)
File "<stdin>", line 3, in whoami
NameError: name 'message' is not defined
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/python/.local/lib/python3.6/site-packages/discord/ext/commands/bot.py", line 846, in process_commands
yield from command.invoke(ctx)
File "/home/python/.local/lib/python3.6/site-packages/discord/ext/commands/core.py", line 374, in invoke
yield from injected(*ctx.args, **ctx.kwargs)
File "/home/python/.local/lib/python3.6/site-packages/discord/ext/commands/core.py", line 54, in wrapped
raise CommandInvokeError(e) from e
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: NameError: name 'message' is not defined
【问题讨论】:
-
什么不起作用?有例外吗?
-
message来自哪里? -
刚刚添加了我尝试激活命令时吐出的内容
-
什么意思?对不起,如果很明显,我很新
-
尝试将 context 添加到您的第一个 if 语句
if context.message.author == client.user:
标签: python python-3.x discord discord.py