Discord-BOT发送私人消息

时间:2018-07-29 18:21:05

标签: python python-3.x discord discord.py

在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命令,则会收到错误消息。

不确定如何处理,谢谢

1 个答案:

答案 0 :(得分:1)

我认为无法删除人们发送给您的私人消息。您可以在删除消息之前先在频道上添加支票以查看其是否私密

if message.content == ".cookie":
    if not message.channel.is_private:
        await client.delete_message(message)
    await client.send_message(message.author, ":cookie:")