discord.py命令,如果没有给出@成员



我想这样做,如果我只输入?lol,它打印'987654321',但如果我输入?lol @member并提到某人,它打印'123456789'

@commands.command()
async def lol(self, ctx, *, member: discord.Member):
if member:
print('123456789')
else:
print('987654321')

你几乎每件事都做对了。但是,您需要在命令中将discord.Member设置为None

只有这样,bot才不会看到member,而会自动输出None的值。如果您随后提到一个成员,则将显示您定义的数字。

@commands.command()
async def lol(self, ctx, *, member: discord.Member = None):
if member:
print('123456789')
#await ctx.send("Member mentioned") # As you passed in ctx
else:
print('987654321')
#await ctx.send("No member mentioned.")

相关内容

最新更新