我做了一個幽靈 ping 命令,可以 ping 某人讓他們上網,但為了避免垃圾郵件,一旦所有 ping 完成,它就會洗掉自己的訊息。但問題是,有時人們在 ping 時發送訊息,然后在完成后,該人的訊息也被洗掉。那么我如何讓機器人只清除它自己的訊息?
繼承人的代碼
@client.command()
async def ping(ctx,member: discord.Member,amt):
for i in range(int(amt)):
await ctx.send(f"{member.mention}")
await ctx.channel.purge(limit=int(amt) 1)
uj5u.com熱心網友回復:
你讀過檔案purge()嗎?它在那里很清楚地解決了,實際上包括一些有用的示例代碼,您可以使用check引數來完成這樣的任務。適應你的代碼,它看起來像下面這樣:
def is_me(m):
return m.author == client.user
@client.command()
async def ping(ctx,member: discord.Member,amt):
for i in range(int(amt)):
await ctx.send(f"{member.mention}")
await ctx.channel.purge(limit=int(amt) 1, check=is_me)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/368886.html
