一段时间以来,我一直试图让我的机器人在某个命令中提及某人,我正在浏览 Google 和其他网站,其中大多数网站都喜欢使用 <@(User ID)>,但我想让它提到了任何人,例如,当我使用“?hit”之类的命令时,我希望它说“(使用该命令的机器人 ping)拳(人在命令中 ping)” (随机消息idk)"
我找不到有关如何操作的网站或视频,我需要一点帮助。
答案 0 :(得分:1)
每个 Member 对象都是可提及的(使用 mention
函数),请阅读文档 here。使用它,我们可以创建一个将 member
接收到 hit
的命令。然后,我们可以使用函数 ctx.author
ping member
和 mention
。它看起来像:
@client.command()
async def hit(ctx, member: discord.Member):
await ctx.send(f"{ctx.author.mention} punches {member.mention}")
输出:
答案 1 :(得分:0)
我无意粗鲁,但通过查看 discord API docs 可以轻松回答这个问题,因为它解释了 API 中的所有内容及其作用。我的解决方案如下。您没有提供任何代码或您遇到的代码问题,所以这就是我所能做的。
@client.command() # here, we make the client command.
async def hit(ctx, member : discord.Member): # we are making the function that actually hits the person here.
await ctx.send(f'{ctx.message.author.mention} hits {member.mention}.') # here, we send the message that pings both the user who triggered the command, and the person who the you want to ping.
例如,如果您想让它从列表中进行选择,可以使用以下方法。
@client.command()
async def hit(ctx, member : discord.Member):
# this is a list of random responses that could happen.
hit_responses = [f'{ctx.message.author.mention} hits {member.mention}.',
f'{ctx.message.author.mention} swings and hits {member.mention}.',
f'{ctx.message.author.mention} slaps {member.mention} across the face.']
hit_message = random.choice(hit_respones) # this chooses a random response.
await ctx.send(hit_message) # this sends the random response
示例输出如下:
@goose.mp4 slaps @user across the face.