提起用户和自我与Discord.PY(Mentioning Users and Self with

2019-10-29 03:18发布

我还是真正的新的编码和我能得到这个命令来工作的唯一办法是做我在下面做什么。 我敢肯定有一个更好的方式来写它,但它不完全我怎么想也无妨。

我想提谁在一开始就使用该命令的用户,然后提这就是消息中提到的用户。 message.author.name只返回的,而不是使用该命令的用户的实际的标签名称。 而且 - 我不知道是否有先放提一个简单的方法,我能想到这样做的唯一办法是提前放一个空格。

elif message.content.startswith('!sayhello'):
    user = message.mentions[0]
    responses = ['' + message.author.name + ' says hello to' + user.mention + '']
    choice = random.choice(responses)
    await client.send_message(message.channel, choice)

Answer 1:

您可以使用User.mention属性得到一个字符串,将提给用户。 这适用于message.author为好。 如果你有你的选择多封邮件,它会简化你的代码,以选择正确的模板,然后填写提到

elif message.content.startswith('!sayhello'):
    user = message.mentions[0]
    responses = ["{} says hello to {}", "{} says hi to {}", "{} waves to {}"]
    choice = random.choice(responses)
    choice = choice.format(message.author.mention, user.mention)
    await client.send_message(message.channel, choice)


文章来源: Mentioning Users and Self with Discord.PY