我正在尝试制作一个不和谐机器人,它会在特定频道中发送一条消息,告诉用户我的 Minecraft 服务器何时开启或关闭。我只需要发送 2 个嵌入,一个用于启动,另一个用于关闭 像这样:
我正在尝试删除机器人发送的旧消息,但我不知道如何删除。
import discord
import sys
import os
from datetime import datetime
now = datetime.now()
Ntime = now.strftime("%H:%M:%S")
txtStart = ()
client = discord.Client()
@client.event
async def on_ready():
print('We have logged in as {0.user}'.format(client))
channel = client.get_channel(800317242910834699)
embed= discord.Embed(title="[ Server Status ]", description="Running...", color=discord.Color.green())
embed.add_field(name="success At :", value=Ntime, inline=True)
file = discord.File(os.path.join("D:\Scripts\Discord/ServerStarted.gif"), filename="ServerStarted.gif")
embed.set_thumbnail(url="attachment://ServerStarted.gif")
message = await channel.send(file=file, embed=embed)
embed= discord.Embed(title="[ Server Status ]", description="shutting down...", color=discord.Color.red())
embed.add_field(name="success At :", value=Ntime, inline=True)
file = discord.File(os.path.join("D:\Scripts\Discord/ServerStoped.gif"), filename="ServerStoped.gif")
embed.set_thumbnail(url="attachment://ServerStoped.gif")
await channel.send(file=file, embed=embed)
答案 0 :(得分:1)
您可以使用 TextChannel.purge
方法:
await channel.purge(limit=1)
记住在之后发送消息,而不是事先。
注意这个方法会删除频道中最旧的消息,如果你想删除bot发送的最新消息可以使用check函数:
def is_me(m):
return m.author == client.user
await channel.purge(limit=1, check=is_me)