【发布时间】:2019-12-24 03:54:42
【问题描述】:
我正试图让我的不和谐机器人在有人说话时说些什么,如果那个人删除了他们的消息,机器人将删除它的回复。
Bot 用于使用 discord.py 用 python 编写的不和谐,当它响应的人删除他们的消息时试图删除它的响应。
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
我希望它能够检测到此人何时删除他们的消息,它会删除其回复,但它正在尝试删除此人已删除的消息。
【问题讨论】:
-
是否应该指定删除哪条消息,而不是在频道上盲目调用 delete?
-
@tehhowch 我是 python 新手,不知道如何指定要删除的消息。如果我尝试做
await message.channel.delete(message_list)它会抛出一个错误:TypeError: delete() takes 1 positional argument but 2 were given
标签: python discord.py