Python 如何在消息中使用PURGE命令

Python 如何在消息中使用PURGE命令,python,discord,discord.py,bots,Python,Discord,Discord.py,Bots,我找到了一个清除命令,但它对我不起作用,因为我使用了client=discord.client(command\u prefix='$',description='')而不是client=commands.Bot(command\u prefix='$),我在中使用了很多命令 @client.event async def on_message(message): 所以我也想在消息上的中使用purge命令。谢谢 清除命令: @client.command() async def clear(

我找到了一个清除命令,但它对我不起作用,因为我使用了
client=discord.client(command\u prefix='$',description='')
而不是
client=commands.Bot(command\u prefix='$)
,我在中使用了很多命令

@client.event 
async def on_message(message):
所以我也想在消息上的
中使用purge命令。谢谢

清除命令:

@client.command()
async def clear(ctx, amount = 5):
    await ctx.channel.purge(limit = amount)

您必须在on_消息事件中对其他命令执行相同的if语句。由于您在on_消息事件中使用它,因此无法使用该命令设置数量,因此必须预定义它

定义数量并定义要清除的通道。
您可以通过使用
discord.Client.get_channel
或选择消息已发送到
message.channel

的频道来获取频道。您必须执行与对on_消息事件中的其他命令相同的if语句。由于您在on_消息事件中使用它,因此无法使用该命令设置数量,因此必须预定义它

定义数量并定义要清除的通道。
您可以使用
discord.Client.get_channel
或选择消息发送到
message.channel
的频道来获取频道。我删除了我的第一个答案,因为我发现我可以改进,我发现您可以做到

ctx=等待客户端。获取上下文(消息)
split=message.content.split()
如果split[0]=“$clear”:#检查消息是否为clear命令,也可以使用message.content.tolower().startswith(“$clear”):
如果len(分割)==2:
num=0
尝试:
num=int(split[1])#检查第二个参数是否为int
除值错误外:
wait message.channel.send(“in$clear必须是一个数字”)
返回
等待ctx.channel.purge(限制=num)
其他:
wait message.channel.send(“请以$clear形式输入命令”)
这对我来说很好。客户也必须是

client = commands.Bot(params)

我删除了我的第一个答案,因为我认为我可以提高,我最终发现你可以做到

ctx=等待客户端。获取上下文(消息)
split=message.content.split()
如果split[0]=“$clear”:#检查消息是否为clear命令,也可以使用message.content.tolower().startswith(“$clear”):
如果len(分割)==2:
num=0
尝试:
num=int(split[1])#检查第二个参数是否为int
除值错误外:
wait message.channel.send(“in$clear必须是一个数字”)
返回
等待ctx.channel.purge(限制=num)
其他:
wait message.channel.send(“请以$clear形式输入命令”)
这对我来说很好。客户也必须是

client = commands.Bot(params)

消息上的
事件实际上不值得。你可以这样做:
如果message.content.startswith(“clear”):
我可以用什么来代替
@client.command()
?你为什么要用其他的东西?因为我有一个不同的客户端,它没有commands属性。\u message
事件并不值得。您可以执行如下操作:
if message.content.startswith(“clear”):
我可以使用什么来代替
@client.command()
?为什么要使用其他东西?因为我有一个不同的客户端,它没有属性命令。我如何获取金额?例如,您必须使用
amount=15
自己定义金额。以及如何获取金额您必须使用
amount=15
自己定义金额。太棒了!谢谢我感谢你的帮助!不客气!直到看到你的问题,我才想到我能做到!所以在某种程度上你也帮了我的机器人!伟大的谢谢我感谢你的帮助!不客气!直到看到你的问题,我才想到我能做到!所以在某种程度上你也帮了我的机器人!