在Discord中发送私人消息。以下是两个示例代码(简化)。
@client.event
async def on_message(message):
此代码块将消息(cookie表情符号)发送回用户,而不管它是与机器人的私人聊天还是与频道的私人聊天
if message.content == ".cookie":
await client.delete_message(message)
await client.send_message(message.channel, ":cookie:")
如果用户在通道中发送了命令,则此代码块会向用户私下发送消息,它可以正常工作,对此感到不满意。
if message.content == ".cookie":
await client.delete_message(message)
await client.send_message(message.author, ":cookie:")
问题是,我希望用户能够在通道中或在私人消息中向机器人发送消息“ .cookie”,并获得私人消息(cookie表情符号)。
以及最后的代码块。如果我向该通道发送命令.cookie,则会从漫游器收到一条私人消息。如果我私下向Bot发送.cookie命令,则会收到错误消息。
不确定如何处理,谢谢
答案 0 :(得分:1)
我认为无法删除人们发送给您的私人消息。您可以在删除消息之前先在频道上添加支票以查看其是否私密
if message.content == ".cookie":
if not message.channel.is_private:
await client.delete_message(message)
await client.send_message(message.author, ":cookie:")