Python 如何检查消息是否由特定用户discord.py发送
我正在使用discord.py创建我的discord bot,当有人键入消息时,我想检查用户是否为foo#3645,如果不是,则执行其他操作Python 如何检查消息是否由特定用户discord.py发送,python,discord.py,discord.py-rewrite,Python,Discord.py,Discord.py Rewrite,我正在使用discord.py创建我的discord bot,当有人键入消息时,我想检查用户是否为foo#3645,如果不是,则执行其他操作 if(messageAuthor == "foo#3645): # do something else: # do something else 我试过这个: if(ctx.message.author == "foo#3465"): # do something 但出于某种原因,这是行不通的 如果您需要更多信息,请发表评论。如
if(messageAuthor == "foo#3645):
# do something
else:
# do something else
我试过这个:
if(ctx.message.author == "foo#3465"):
# do something
但出于某种原因,这是行不通的
如果您需要更多信息,请发表评论。如果您需要可靠的检查,请检查用户ID:
if author.id == 170733454822341405:
#do something
如果需要可靠的检查,请检查用户ID:
if author.id == 170733454822341405:
#do something
str
表示一个用户(包括成员
s),将是他们的用户名(不是他们特定于服务器的昵称)和鉴别器(用于区分具有相同用户名的人)
也就是说,您应该检查id
s,因为一个人可能会更改其不一致的用户名id
s是异步分支中的字符串和中的整数str
表示用户的(包括成员s)将是他们的用户名(不是他们特定于服务器的昵称)和鉴别器(用于区分具有相同用户名的人)
也就是说,您应该检查id
s,因为一个人可能会更改其不一致的用户名id
s是的异步分支中的字符串,在中是整数。在我看来,您试图将“author”的实例与名称和鉴别器进行比较。您需要做的是:
1) 找到名为“foo#3465”的成员,并将其与ctx.message.author或“messageAuthor”进行比较
或者你也可以:
2) 比较messageAuthor.name与“foo”或str(messageAuthor)与“foo#3465”在我看来,您试图将“author”的实例与名称和鉴别器进行比较。您需要做的是:
1) 找到名为“foo#3465”的成员,并将其与ctx.message.author或“messageAuthor”进行比较
或者你也可以:
2) 比较messageAuthor.name与“foo”或str(messageAuthor)与“foo#3465”检查用户ID是最好的选择。根据
User.id
是一个整数,而不是字符串,因此接受的答案可能不起作用<代码>消息。作者
的类型为用户
这就是我的工作原理:
if message.author.id = 170733454822341405:
#do something
要手动获取某人的用户ID,请在discord(用户设置->外观->高级)中启用开发者模式,然后右键单击任意位置的用户并单击复制ID。检查用户ID是最佳选择。根据
User.id
是一个整数,而不是字符串,因此接受的答案可能不起作用<代码>消息。作者的类型为用户
这就是我的工作原理:
if message.author.id = 170733454822341405:
#do something
要手动获取某人的用户ID,请在discord(用户设置->外观->高级)中启用开发者模式,然后右键单击任意位置的用户并单击复制ID。
ctx.message.author
不包含名称,我相信您正在查找ctx.message.author.name
(请参阅)。虽然您最好使用MCO回答的ID。ctx.message.author
不包含名称,但我相信您正在查找ctx.message.author.name
(请参阅)。虽然你最好按照MCO的回答使用身份证。