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链接和东西。没有错误。好像它甚至不是一个命令,你有一个关于命令错误的事件吗?这可能会阻碍你看到错误。不,我什么都没看到