Discord 如何让机器人发送用户的特定用户名

Discord 如何让机器人发送用户的特定用户名,discord,discord.py,Discord,Discord.py,例如,我希望bot发送用户名,如:“!hi Jake”bot:“Jake” 所以机器人只会说“杰克”而不是“整个命令”,如果有人能帮我,我会非常感激 如果您希望它只响应与命令一起传递的文本,则可以执行以下操作: @bot.command() 异步def hi(ctx,用户:str): 等待ctx发送(用户)#!嗨,杰克会回来的,杰克 但是,如果希望它使用Member对象进行响应,该对象包含大量有关传入成员对象的信息,则可以执行以下操作: @bot.command() 异步def hi(ctx,

例如,我希望bot发送用户名,如:“!hi Jake”bot:“Jake”


所以机器人只会说“杰克”而不是“整个命令”,如果有人能帮我,我会非常感激

如果您希望它只响应与命令一起传递的文本,则可以执行以下操作:

@bot.command()
异步def hi(ctx,用户:str):
等待ctx发送(用户)#!嗨,杰克会回来的,杰克
但是,如果希望它使用
Member
对象进行响应,该对象包含大量有关传入成员对象的信息,则可以执行以下操作:

@bot.command()
异步def hi(ctx,用户:discord.Member):
等待ctx.send(f“{user.name}”)#或user.title或user.display_name
请记住,只有当传入的名称是您在其中调用命令的服务器中的某个人的名称时,第二个解决方案才会起作用。我想对于你想要的,第一个解决方案应该很好

编辑:查看您的评论后,您需要使用您的
on_message
事件来检查消息是否以
hi
开头。如果是,那么它将打印它后面的名称。复制粘贴此代码:

@client.event
异步def on_消息(消息):
如果(message.author==client.user):
返回
如果message.content.startswith('hi'):
words=message.content.split()
对于我来说,用文字来说:
如果我==‘嗨’:
名称=字数。索引(i)+1
embed=discord.embed(title=f“hi{words[name]}”,description=f“{random.randint(1100)}”)
等待message.channel.send(嵌入=嵌入)
等待客户端处理命令(消息)

显示您当前的代码以及需要添加新功能的位置指示。这看起来太模糊了。嗨,它工作了,但我希望它像这样工作:所以它会在嵌入中显示用户名title@VenusExploits在问题中要讲清楚,,尝试包含任何您认为相关的代码,并清楚地解释您尝试过的内容和想要的内容do@VenusExploits我编辑了我的答案,向您展示了如何进行嵌入。如果这个答案对你有帮助,一定要点击我帖子旁边的绿色复选标记按钮!谢谢,成功了:D