Python 在discord-rewrite.py中删除用户消息
此命令的作用是删除指定数量的消息,但我得到一个错误:Python 在discord-rewrite.py中删除用户消息,python,discord,discord.py,discord.py-rewrite,Python,Discord,Discord.py,Discord.py Rewrite,此命令的作用是删除指定数量的消息,但我得到一个错误: Ignoring exception in command clear: Traceback (most recent call last): File "C:\Users\dimit\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\ext\commands\core.py", line 62, in wrapped ret = yield from
Ignoring exception in command clear:
Traceback (most recent call last):
File "C:\Users\dimit\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\ext\commands\core.py", line 62, in wrapped
ret = yield from coro(*args, **kwargs)
File "c:/Users/dimit/Desktop/Discord Bot Shit/BasicBot.py", line 54, in clear
await channel.purge(messages)
TypeError: purge() takes 1 positional argument but 2 were given
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\dimit\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\ext\commands\bot.py", line 886, in invoke
yield from ctx.command.invoke(ctx)
File "C:\Users\dimit\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\ext\commands\core.py", line 498, in invoke
yield from injected(*ctx.args, **ctx.kwargs)
File "C:\Users\dimit\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\ext\commands\core.py", line 71, in wrapped
raise CommandInvokeError(e) from e
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: TypeError: purge() takes 1 positional argument but 2 were given
我尝试过的代码:
@bot.command()
async def clear(ctx,amount):
channel = ctx.message.channel
messages = []
async for message in channel.history(limit=int(amount)):
messages.append(message)
await channel.purge(messages)
实际上没有收到要删除的消息列表(尽管文档的措辞似乎是这样的)。相反,它使用许多关键字参数来确定是否应该删除消息。试一试
@bot.command()
async def clear(ctx, amount: int):
await ctx.channel.purge(limit=amount)
实际上没有收到要删除的消息列表(尽管文档的措辞似乎是这样的)。相反,它使用许多关键字参数来确定是否应该删除消息。试一试
@bot.command()
async def clear(ctx, amount: int):
await ctx.channel.purge(limit=amount)