如何使机器人在discord.py中编辑自己的消息

时间:2020-05-02 01:41:59

标签: python discord.py

有没有办法让机器人编辑自己的消息?我试图寻找一个答案,但找不到答案。

1 个答案:

答案 0 :(得分:2)

这将通过代码完成。您只需要以某种方式在您的bot程序中执行它即可。例如,为其执行一个命令,然后可以删除它。

  1. 获取消息对象。这可以通过首先获取通道对象,然后从中获取消息来完成。基本上:
channel = bot.get_channel(id_of_the_channel)
message = await channel.fetch_message(id_of_the_message)

# make sure that you change "id_of_the_channel" for the id of the channel (as an integer)
# and make sure to change "id_of_the_message" for the id of the message (as an integer)
# you can get those by enabling Developer Mode in the Appearance settings in discord
# and right-clicking on the channel to get its id, and right-clicking on the message to get
# its id as well.
  1. 完成此操作后,您可以调用该消息对象的edit方法来对其进行编辑。另外,由于它是协程,因此您需要等待。然后,您需要将要编辑的消息包含的新文本传递到 content kwarg。例如,如果您要输入的新文本是“邮件的新内容”,则将剩下以下内容:
await message.edit(content="the new content of the message")

基本上就是这样。通过您的机器人执行这三行代码,它将编辑消息。