Discord - BOT 发送私信

Posted

技术标签:

【中文标题】Discord - BOT 发送私信【英文标题】:Discord - BOT sending a private message 【发布时间】:2019-01-06 01:43:28 【问题描述】:

在 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】:

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

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

【讨论】:

以上是关于Discord - BOT 发送私信的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 discord.js 从 discord bot 向特定用户发送消息

在 Discord (discord.py bot) 中仅从 1 个频道发送消息

Discord bot 发送后删除消息

Discord Bot 自动发送消息

发送私信 Discord-api

如何使用 discord.py 让 discord bot ping 用户 [关闭]