Discord.py client.commands发送提到的用户

Discord.py client.commands发送提到的用户,discord,discord.py,Discord,Discord.py,我有一个命令叫做p!拍打,我想要它,这样我的机器人就会说{message.author}拍打{message.antify},然后随机播放gif,但我不知道怎么做。有人能帮忙吗?谢谢 @client.command() 异步def slap(ctx,消息。提及): embedVar=discord.embed(title=f“slapped{message.ention}”) 列表=[ #gif链接和东西 ] 等待ctx.channel.send(随机选择(列表))``` 您的代码有一些问题

我有一个命令叫做
p!拍打
,我想要它,这样我的机器人就会说{message.author}拍打{message.antify},然后随机播放gif,但我不知道怎么做。有人能帮忙吗?谢谢

@client.command()
异步def slap(ctx,消息。提及):
embedVar=discord.embed(title=f“slapped{message.ention}”)
列表=[
#gif链接和东西
]
等待ctx.channel.send(随机选择(列表))```

您的代码有一些问题

  • 一开始,我不明白你在命名参数
    消息时想做什么。提到
    ,但我猜你想做的是“打”你在命令中提到的人。为此,必须在参数中获取成员对象。那么,你可以提到这个成员

  • 此外,您不应该定义名为
    list
    的变量。由于内置的方法,这可能会导致错误

  • 另一件事是,对于discord模块没有
    embed
    方法,它必须是
    discord.embed
    。你必须注意大写字母

  • 您从未发送定义的嵌入,必须发送它才能使命令正常工作

  • 对于最后一个,我不知道列表中会有什么,但我猜会有文件。如果你要发送一个文件,你不能只发送它。您必须在方法中传递一个参数。但这只适用于文件。如果你只是想发送一个链接,那么你不需要传递任何参数

@client.command()
异步def slap(ctx,成员:discord.member):
embedVar=discord.Embed(title=f“{ctx.author.title}拍打{member.title}”)
lst=[
#gif链接和东西
]
等待ctx.channel.send(file=discord.file(random.choice(lst)),embed=embedVar)

TYSMMMM我修复了所有这些问题,但出于某些原因,它不会发送任何内容。是否有任何错误?你能用真正的“gif链接和东西”列表编辑你的答案吗?是的,我添加了gif链接和东西。没有错误。好像它甚至不是一个命令,你有一个关于命令错误的
事件吗?这可能会阻碍你看到错误。不,我什么都没看到