【问题标题】:How to make a bot delete its own message after 5 seconds如何让机器人在 5 秒后删除自己的消息
【发布时间】:2019-08-30 16:41:10
【问题描述】:

我无法让机器人删除自己的消息。

我试过 await ctx.message.delete()ctx.message.delete(embed)

@bot.command()
async def help(ctx):
    embed=discord.Embed(title="List of commands.", description="", colour=discord.Color.orange(), url="")
    await ctx.send(embed=embed)
    await ctx.message.delete()
    await asyncio.sleep(5)
    await message.delete()

我希望机器人删除命令然后发送嵌入:“命令列表已发送给您的 DM”,然后等待 5 秒并删除嵌入

【问题讨论】:

    标签: discord.py-rewrite


    【解决方案1】:

    ctx.message.delete() 删除来自用户的消息。

    但要删除机器人的消息,您需要机器人的消息对象
    来自ctx.send()return


    bot.remove_command('help') # Removes default help command 
    
    @bot.command()
    async def help(ctx):
        embed=discord.Embed(title="List of commands.", description="", colour=discord.Color.orange())
        msg = await ctx.send(embed=embed) # Get bot's message
    
        await ctx.message.delete() # Delete user's message
        await asyncio.sleep(5)
    
        await msg.delete() # Delete bot's message
    

    编辑: 您可以使用参数delete_after=(float)

    await ctx.send(embed=embed, delete_after=5.0)
    

    【讨论】:

      猜你喜欢
      • 2018-12-29
      • 1970-01-01
      • 2021-04-01
      • 1970-01-01
      • 2020-09-23
      • 1970-01-01
      • 2020-04-08
      • 2019-06-02
      • 1970-01-01
      相关资源
      最近更新 更多