discord.py Bot 并不总是删除消息
Posted
技术标签:
【中文标题】discord.py Bot 并不总是删除消息【英文标题】:discord.py Bot not always deleting messages 【发布时间】:2019-02-20 09:09:03 【问题描述】:作为一个小测试,我正在制作一个不和谐的机器人,它将接收我发送的消息,删除它,然后让机器人发送消息。我有一些工作,但我有几个问题。
首先,机器人不会总是删除消息。
使用此代码
if message.content.startswith("H"):
print("test")
print(message.author)
msg=message.content
await client.delete_message(message)
await client.send_message(message.channel, msg)
机器人有时只会删除我的消息。知道为什么吗?
其次,我希望它只重复我的消息,但是当我这样做时;
if message.author=="Myusername#1234":
print("test")
print(message.author)
msg=message.content
await client.delete_message(message)
await client.send_message(message.channel, msg)
什么都没有发生。没有错误,什么都没有。有人可以帮忙吗?
P.S:Myusername#1234
只是一个例子,并不是我要输入的内容。
【问题讨论】:
请注意,第二组代码中的`实际上并不存在 【参考方案1】:在第一个代码示例中,您的机器人的消息也将通过if
语句,并且只会陷入编写以“H”开头的消息并删除它们的循环中。
您应该将其更新为类似
if message.content.startswith("H") and message.author.id != "bot_id":
至于第二个代码示例,最好的办法是使用用户 ID,因为它们不会改变
if message.author.id == "user_id":
如果你真的想使用其他东西,你可以使用message.author.name
或message.author.nick
【讨论】:
对于第一个,我确实有它,所以它不会回复自己,但它仍然会这样做。至于第二个,谢谢!我不知道你可以获得用户 ID 我认为您遇到的问题是机器人删除了该消息,但您的 Discord 客户端并未将其显示为已删除。我有时会发生这种情况,但是除了您之外没有人看到该消息,因此无论如何它都被有效地删除了。希望这有帮助! 确实有帮助!你的两个建议都有帮助!谢谢!以上是关于discord.py Bot 并不总是删除消息的主要内容,如果未能解决你的问题,请参考以下文章
discord.py bot 找到要删除的频道消息,但显示其客户端 ID 与我的相同
Discord bot 添加对消息 discord.py 的反应(无自定义表情符号)