是否有任何方法可以删除除bot本身之外的任何人发送的消息,文档似乎表明这是可能的
您自己的邮件可以删除没有任何适当的权限。然而,要删除其他人的邮件,您需要适当的权限才能这样做。
但是我找不到一种方法来定位消息,以便在on_message事件触发器中这样做,我是错过了什么还是不可能?
这是你需要的代码:
@client.command()
async def delete():
message = ctx.message.id
await message.delete()
可以使用message.delete()删除用户消息。
这是一个代码,如果用户发送一些诅咒词到服务器,机器人将清理(删除)消息。
@bot.event
async def on_message(message):
""" some on_message command """
if message.author.id == bot.user.id:
return
msg_content = message.content.lower()
curseWord = ['curse1', 'curse2']
# delete curse word if match with the list
if any(word in msg_content for word in curseWord):
await message.delete()
如果您正在使用COG:
@commands.Cog.listener()
async def on_message(message):
# rest same as above
是的,这应该是可能的。
您需要bot/用户帐户具有“管理邮件”权限。
@client.event
async def on_message(message):
await message.delete(message)
所以,事件会发生类似这样的事情
User sends message
Bot detects that the user has sent a message
Bot deletes the message that the user sent
希望从这里您能够看到用户消息是如何被删除的,只需确保bot/用户帐户具有“管理消息”权限即可。
我使用Python3.6idle编写了一个bot,我想添加一个命令,但我不知道如何添加它。你们中的一些人能帮我举一些例子或建议吗?我会很高兴的,谢谢。
我正在python3(discord.py 1.3.3,discord 1.0.1)中开发一个discord机器人,我需要删除一条用户消息,但我不知道如何正确调用协同程序。 我查看了一些其他线程,并尝试查看文档(以及discord.py文档),但我一直没有找到答案。 以下是我正在测试的内容: 运行该命令会返回带有ID号的控制台调试消息,但不会删除该消息。如果我添加一个调试打印行后它不会返回。所以这
现在,我的机器人发送一条消息,并用一系列表情符号对自己的消息进行反应,多个用户使用机器人反应的表情符号进行反应。一段时间后,机器人需要移除除机器人创建的反应之外的所有反应。 比方说,如果一个机器人发送一条消息并使用表情符号和并且多个用户对和一段时间后,所有的和反应都需要删除,但机器人的反应必须是这样的,所以最终的结果必须是机器人的反应和。 我用过: 等待反应。删除(用户) 但是,它一次删除一个反应
我对discord机器人和python有点陌生,所以我在理解哪里出了问题时遇到了一些困难。基本上我想让我的机器人锁定一条消息。我找到了一个python代码的文档,上面说要使用pin_message(),所以我有: 但我得到以下错误AttributeError:“TextChannel”对象没有属性“pin_message” 当我查看Discord文档时,它会显示PUT/channels/{chan
问题内容: 我正在使用JavaMail-1.5将Gmail帐户的IMAP消息附加到Yahoo帐户。我的要求是从邮件中删除用户标志,因为将邮件附加到其他文件夹时会产生错误。我要从消息中删除所有用户标志吗? 下面是获取标志的代码。 请建议如何从我的邮件中删除。 谢谢 问题答案: 我的问题已通过此代码解决- 此代码删除了导致无法将Gmail附加邮件添加到Yahoo的标志。