【问题标题】:Delete bot's message automatically Python自动删除机器人的消息 Python
【发布时间】:2021-08-24 16:36:11
【问题描述】:

我正在用 Python 编码,最近开始编码。我用 Python 创建了超级简单的发条迷你机:

if message.content.startswith("Clock"):
    await message.channel.send("3")
    time.sleep(1)
    await message.channel.send("2")
    time.sleep(1)
    await message.channel.send("1")

但现在我想让机器人自动删除以前的消息,所以看起来单个消息变成了 3、2、1

真诚的感谢,

亚伦

【问题讨论】:

    标签: python discord bots


    【解决方案1】:

    可以使用delete_after参数,

     message.channel.send("3", delete_after=1)
    

    这将在 1 秒后删除该消息,而不会阻止您的代码。

    参考:-

    注意:不要使用time.sleep,它会阻塞你的整个代码。 Source

    【讨论】:

      【解决方案2】:

      你可以这样做

      if message.content.startswith("Clock"):
          MessageOne = await message.channel.send("3")
          time.sleep(1)
          await MessageOne.delete()
          MessageTwo = await message.channel.send("2")
          time.sleep(1)
          await MessageTwo.delete()
          MessageThree = await message.channel.send("1")
          time.sleep(1)
          await MessageThree.delete()
      

      【讨论】:

      • 谢谢!它有帮助!
      • 你应该使用await asyncio.sleep(1)而不是time.sleep(1)。这样它就可以让程序的其余部分在运行时继续运行。
      • 现在我看到了,你绝对应该改用Ceres建议的方法,祝你好运
      猜你喜欢
      • 1970-01-01
      • 2018-05-02
      • 2019-02-20
      • 2020-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-16
      • 2018-11-25
      相关资源
      最近更新 更多