discord.py重写及其迁移遇到很多麻烦。我查看了迁移到v1.0站点的情况,并说要放入message.delete(),所以我做到了,但是我意识到这没有用,所以我也放入了ctx。但这使它出错了。目前有两个命令出现此错误。
我已经尝试过将消息放入变量中。
@client.command()
async def clear(ctx, amount=100):
message = ctx.message
channel = ctx.message.channel
messages = []
await ctx.channel.purge(limit=int(amount+1))
mymessage = await channel.send('Messages deleted')
await ctx.message.delete(mymessage)
@client.command()
async def verify(ctx, *, arg):
print(ctx.message.channel.id)
print(ctx.message.author)
if ctx.channel.id == 521645091098722305:
role = await ctx.guild.create_role(name=arg)
await ctx.message.author.add_roles(role)
mymessage = await ctx.send('Done! Welcome!')
await ctx.message.delete(mymessage)
await ctx.message.delete(ctx.message)
我希望输出删除该消息。对于清晰的文件,它将删除它,然后将其交还。对于验证一个,它只是保持不变并显示错误: 从ex引发CommandInvokeError(exc) discord.ext.commands.errors.CommandInvokeError:命令引发了异常:TypeError:delete()接受1个位置参数,但给出了2个
我提供验证的角色有时也会进行3次。我已经进入任务管理器并杀死了所有的python,但是它仍然可以做到。有一次我正在清理时说完成!也欢迎您。如果您也可以回答这个问题,我将很高兴!预先谢谢你。
答案 0 :(得分:0)
Message.delete
不接受任何参数。这是您要删除的邮件上调用的一种方法。更改
await ctx.message.delete(mymessage)
await ctx.message.delete(ctx.message)
到
await mymessage.delete()
await ctx.message.delete()
答案 1 :(得分:0)
@client.command(pass_context=True)
async def delete(ctx, arg):
arg1 = int(arg) + 1
await client.purge_from(ctx.message.channel, limit=arg1)
!删除10-删除最后10条帖子