我正在尝试让我的机器人将特定消息发送一定次数。例如,您可以执行 .say hello 5 并且它会发送 5 次“hello”。这是我的 say 命令代码:
@has_permissions(manage_messages=True)
async def say(ctx, *, message=None):
message = message or "you have to make it say something"
message_components = message.split()
await ctx.message.delete()
await ctx.send(message)
答案 0 :(得分:1)
在python中如果是字符串,你可以加一个*5来表示“重复字符串5次”的含义
答案 1 :(得分:1)
您必须为消息量传递一个新参数。然后,您可以在 for 循环中发送消息。此外,您不必执行 message = message or "something"
。您可以将 message=None
替换为 message="something"
。
@has_permissions(manage_messages=True)
async def say(ctx, amount=1, *, message="you have to make it say something"):
message_components = message.split()
await ctx.message.delete()
for i in range(0, amount):
await ctx.send(message)
答案 2 :(得分:1)
@client.command()
@commands.has_permissions(manage_messages=True)
async def say(ctx, amount=1, *, message=None):
if message == None:
await ctx.send('You must provide a message to say!')
return
await ctx.message.delete()
for i in range(amount):
await ctx.send(message)