正如标题所述,我试图使用my!purge命令删除邮件。我已经把它弄下来了:
var pattern = /^[0-9]+(\.([0-9]{1,3})?)?$/;
var val = "10.";
var check = pattern.test(val); // returns true
它说 @bot.command()
@commands.has_permissions(manage_messages=True)
async def purge(ctx):
await delete_messages(ctx, member)
await ctx.send("Deleted messages")
没有定义。请帮帮我!
答案 0 :(得分:1)
这一次最多只能删除99条消息(+清除命令),并且消息必须在14天之内。
@bot.command(pass_context=True, name='purge', aliases=['purgemessages'], no_pm=True)
async def purge(ctx, number):
number = int(number)
if number > 99 or number < 1:
await ctx.send("I can only delete messages within a range of 1 - 99", delete_after=10)
else:
author = ctx.message.author
authorID = author.id
mgs = []
number = int(number)
channel = ctx.message.channel
async for x in bot.logs_from((channel), limit = int(number+1)):
mgs.append(x)
await delete_messages(mgs)
await ctx.send('Success!', delete_after=4)
答案 1 :(得分:0)
所以我们到了2019年。我会为您提供代码的帮助。
delete_messages
是TextChannel对象的方法。
在您的await delete_messages(ctx, member)
行中,在delete_messages之前添加ctx.message.channel.
。
您的行将如下所示:
await ctx.message.channel.delete_messages(ctx, member)
希望能解决所有问题。
如果确实如此,请点击复选标记,毫不犹豫地“接受”答案。