我想这样做,如果我只输入?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.")