通过Discord.PY提及用户和自我

时间:2018-08-18 05:29:49

标签: python-3.x discord discord.py

我对编码仍然很陌生,而使此命令起作用的唯一方法是执行下面的操作。我很确定有一种更好的编写方法,但是无论如何,这也不完全是我想要的。

我试图提及在开始时使用命令的用户,然后提及消息中提到的用户。 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)

1 个答案:

答案 0 :(得分: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)