Discord.py 向自定义 ID 用户发送 DM

时间:2021-01-22 03:35:48

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

我正在使用 discord.py,并想将自定义 DM 发送给具有我希望的 ID 的自定义用户。我确实尝试了我们在 Stack Overflow 和 discord.py 上的所有方法和选项,但是,它们最终都不起作用。我得到的结果总是无。有什么建议吗?

我尝试过的:

#1
    user = await bot.get_user_info(user_id)
    await user.send('hello')
#2
    await client.send_message(discord.Object(id='12324234183172'), 'hello')
#3

    async def send_dm(ctx, member: discord.Member, *, content):
        channel = await member.create_dm()
        await channel.send(content)

1 个答案:

答案 0 :(得分:1)

确保您使用的是 discord.py 重写分支,因为该分支是 discord.py 的最新版本。从 discord.py-rewrite 开始,您尝试发送直接消息的所有三种方式都不起作用。如果您使用的是 rewrite 分支,则可以更新以下三种方法中的任何一种:

在 #1 中,问题是方法 Client.get_user_info() 已更改为 Client.fetch_user(),这应该会检索到正确的用户。

在 #2 中,问题是方法 Client.send_message() 已更改为 channel.send()

#3 中处理 DM 的方式目前没有使用,尽管它应该仍然有效。我建议您只需 member.send() 向用户发送直接消息。

另一件重要的事情是,bot 无法向不与 bot 共享公会的用户发送 DM,因此请确保该用户在运行 bot 的公会中。

参考文献: