我的机器人中有一个名为“spam”的命令,这样当有人执行“.spam”时,它会发送一个嵌入警告,不要发送垃圾邮件。我已经能够让机器人发送嵌入并提及用户。但是,当我执行 ".spam @user1 @user2" 时,它确实提到了两个用户,但也发送了两次嵌入,一次用于 user1,另一次用于 user2。
如何做到只发送 1 条消息,并提到用户数量? 任何帮助将不胜感激!谢谢。
这是我在垃圾邮件齿轮中的代码:
@commands.command()
async def spam(self, ctx, *members: discord.Member):
if members is None:
embed = discord.Embed(
title='',
description='Please do not spam the chat.',
colour=discord.Colour.blue()
)
embed.set_footer(text='')
embed.set_author(name='Mod says:',
icon_url='https://cdn.discordapp.com/avatars/745674627845587004/834f65d2747b1bb8806d12e3791c36bd.webp?size=1024')
await ctx.send(embed=embed)
else:
embed = discord.Embed(
title='',
description='Please do not spam the chat.',
colour=discord.Colour.blue()
)
embed.set_footer(text='')
embed.set_author(name='Mod says:',
icon_url='https://cdn.discordapp.com/avatars/745674627845587004/834f65d2747b1bb8806d12e3791c36bd.webp?size=1024')
for member in members:
await ctx.send(member.mention, embed=embed)
答案 0 :(得分:0)
for member in members:
await ctx.send(member.mention, embed=embed)
是不是有问题。我会做这样的事情,虽然这不是最好的解决方案。
await ctx.send(" ".join([member.mention for member in members]), embed=embed)