所以我想创建一个命令,该命令可以删除该命令编写所在通道中特定用户的消息。
我想要的命令:
<html>
<head>
<title>RocketSeat - Challenge 1</title>
</head>
<body>
<button onclick="MakeSquare()" style="margin-top: 100px;">Make a square</button>
</body>
<script>
function MakeSquare(){
const square = document.createElement('div')
const elementBody = document.querySelector('body')
square.style.backgroundColor ='red'
square.style.width = '50px'
square.style.height = '50px'
square.style.marginTop= '50px'
square.style.border = '1px solid red'
elementBody.appendChild(square)
}
</script>
</html>
例如:!clear @tom 10
我的代码:
!clear <user> <no of messages>
我可能甚至没有回答我的问题,但我尝试了。
任何帮助将不胜感激
答案 0 :(得分:0)
我认为应该完成这项工作:
@client.command()
async def clear(ctx, member: discord.Member, number : int):
await ctx.message.delete()
async for msg in ctx.channel.history(limit=number).filter(lambda m: m.author == member).map(lambda m: m):
try:
await msg.delete()
except:
pass
我所做的是,我检查了消息作者是否等于我们提到的用户,如果相等,则删除他的消息以限制我们想要的数量。