当触发机器人响应的人员删除其初始消息时删除机器人的响应



我试图让我的不和谐机器人在有人说话时说些什么,如果那个人删除他们的消息,机器人将删除它的响应。

该机器人用于使用 python 编写的不和谐 discord.py,当它所响应的人删除他们的消息时,尝试删除它的响应。

BOT_PREFIX = '.', '?'
message_list = {}
bot = commands.Bot(command_prefix=BOT_PREFIX, message_list={})

@bot.event
async def on_message_delete(message):
if message in message_list:
await message.channel.delete()
del message_list[message]

@bot.event
async def on_message(message):
print(message.author.id)
if message.author.id == 137351212856115200:
response = await message.channel.send('Message')
message_list[message] = response
await bot.process_commands(message)
else:
await bot.process_commands(message)
return

我希望它能检测到该人何时删除其消息,它将删除其响应,但它正在尝试删除该人已删除的消息。

解决了!将await message.channel.delete()替换为await message_list[message].delete()

最新更新