在 discord.py 中删除机器人的消息

新手上路,请多包涵

我已经进行了所有正确的导入,并且尝试从其他帖子中寻找答案,但它似乎不太适合我的问题。我正在尝试随机发送一条消息,我可以这样做。但是我似乎无法在一定的冷却时间后删除消息。然而,冷却时间不是问题。它正在删除机器人消息。我知道如何删除用户的消息,但我对如何删除机器人消息知之甚少。你能帮忙的话,我会很高兴。这是我的代码,但我的令牌 ID 和导入除外。

 async def background_loop():
await client.wait_until_ready()
while not client.is_closed:
    channel = client.get_channel('397920718031159318')
    messages = ["A random cat has appeared", "oh look its a cate"]
    await client.send_message(channel, random.choice(messages))
    time.sleep(3) #I am using this as the cool down time to delete the
                  #message
    await client.delete_message(messages)
    await asyncio.sleep(4)

原文由 christopherson 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 587
2 个回答
while not client.is_closed:
    channel = client.get_channel('397920718031159318')
    messages = ["A random cat has appeared", "oh look its a cate"]
    message = await client.send_message(channel, random.choice(messages))
    await asyncio.sleep(3)
    await client.delete_message(message)
    await asyncio.sleep(4)

您必须捕获 send_message 生成的消息对象,然后将该对象发送到 delete_message

原文由 Patrick Haugh 发布,翻译遵循 CC BY-SA 3.0 许可协议

现在( discord.py ),只是:

 import discord

from discord.ext.commands import Bot

bot = Bot()

@bot.command()
async def ping(ctx):
    await ctx.send('pong!', delete_after=5)

bot.run('YOUR_DISCORD_TOKEN')

原文由 Mikael Flora 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进